java代码运行结果有疑问求大神讲解
请高手解答,整个代码的运行过程,是如何变成2的,请尽量详细一些!谢谢代码如下:publicclassTest{staticinti;publicintaMethod(){...
请高手解答,整个代码的运行过程,是如何变成2的,请尽量详细一些!谢谢
代码如下:
public class Test{
static int i;
public int aMethod() {
i++;
return i;
}
public static void main(String args[]) {
Test test = new Test();
test.aMethod();
System.out.println(test.aMethod());
}
}
运行结果为:
2 展开
代码如下:
public class Test{
static int i;
public int aMethod() {
i++;
return i;
}
public static void main(String args[]) {
Test test = new Test();
test.aMethod();
System.out.println(test.aMethod());
}
}
运行结果为:
2 展开
3个回答
展开全部
首先,test被new出来之前,i已经初始化为0.
test.aMethod()使得i++;i变为1;
println时,又调用一次aMethod(),i++;之后i变成2;return i之后被println输出来。
所以是2.
test.aMethod()使得i++;i变为1;
println时,又调用一次aMethod(),i++;之后i变成2;return i之后被println输出来。
所以是2.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先,基本类型int的默认值是0,单从你代码上看,可以简单理解为,你调用了两次该方法,会就执行两次i++; 第一次由0到1,第二次由1到2。所以得出结果为2。
静态变量又称类变量,它是在一个JVM加载类时就初始化好的。所以在产生该类对象时,不会重新初始化静态变量。
静态变量又称类变量,它是在一个JVM加载类时就初始化好的。所以在产生该类对象时,不会重新初始化静态变量。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询