java代码结果不同的原因
比较一下两段代码,说明结果为何不同代码一:publicclassTestScope{privatestaticinti=1;privatestaticintj=2;pub...
比较一下两段代码,说明结果为何不同
代码一:
public class TestScope {
private static int i = 1;
private static int j = 2;
public static void main(String[] args) {
int i = 3;
int k = 4;
{
int j = 5;
System.out.println("i + j is " + i + j);
}
k = i + j;
System.out.println("k is " + k);
System.out.println("j is " + j);
}
}
代码二:
public class TestScope {
private static int i = 1;
private static int j = 2;
public static void main(String[] args) {
int i = 3;
int k = 4;
int j = 5;
System.out.println("i + j is " + i + j);
k = i + j;
System.out.println("k is " + k);
System.out.println("j is " + j);
}
} 展开
代码一:
public class TestScope {
private static int i = 1;
private static int j = 2;
public static void main(String[] args) {
int i = 3;
int k = 4;
{
int j = 5;
System.out.println("i + j is " + i + j);
}
k = i + j;
System.out.println("k is " + k);
System.out.println("j is " + j);
}
}
代码二:
public class TestScope {
private static int i = 1;
private static int j = 2;
public static void main(String[] args) {
int i = 3;
int k = 4;
int j = 5;
System.out.println("i + j is " + i + j);
k = i + j;
System.out.println("k is " + k);
System.out.println("j is " + j);
}
} 展开
展开全部
第二个,int j=5声明了一个局部变量,j对于下面所有代码都有效,所以
System.out.println("i + j is " + i + j);
k = i + j;
System.out.println("k is " + k);
System.out.println("j is " + j);
这几行代码中的j都是5
第一个中int j=5只对大括号内有效,所以
System.out.println("i + j is " + i + j);
中j=5
其它的j引用的是全局静态变量,j=2
展开全部
{
int j = 5;
System.out.println("i + j is " + i + j);
}
在此范围局部变量 j 被赋值为5;出此范围j仍是原来的值即 j=2;。
需了解局部变量使用范围。
代码二:则在主函数中 变量已经赋值,那么主函数内 j=5;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
代码一中k = i + j;中的j调用的是private static int j = 2;,因为上面int j = 5;在括号中调用不到
代码二是直接使用的int j = 5;
建议多学学debug,走一遍程序一下就看出来了
代码二是直接使用的int j = 5;
建议多学学debug,走一遍程序一下就看出来了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
java中有个东东叫局部代码块,是用来限制局部变量的生命周期
代码一中就是用了局部代码块
{
int j = 5;
System.out.println("i + j is " + i + j);
}
代码一中就是用了局部代码块
{
int j = 5;
System.out.println("i + j is " + i + j);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询