给定某Java程序的main方法

来源:百度知道 编辑:UC知道 时间:2024/05/21 07:08:47
给定某Java程序的main方法如下所示,该程序的运行结果是(0)。 (选择一项)
public static void main(String [] args){
int i=0;
System.out.println(i++);
}
为什么输出0

对于自加或自减,只需要记住一点:i++,是后加再赋值
++i,是先加再赋值

i--与--i是一样的理解。如果你上面的程序修改成:int i=0; int j=i++;
System.out.println(i++); 的话那么输出的结果就会是1,但如果要输出j的话,那么结果又会是0。
因为如果是直接输出i的话,那么还没有来得及加1就赋值了,所以就会是0.但如果是j=i++的话,那么i始终是加了1的,所以就会输出1.
这样解释应该很清楚了吧!

因为 System.out.println(i++);
相当于
System.out.println(i);
i++;

i++ 会先将i的值交给表达式使用然后才执行自身加1

System.out.println(i++);
是指输出i后,i值增加1;
如果是
System.out.println(++i);
就将输出1

Java优先级的关系.
i的初始值是0,
在执行System.out.println(i++); 的时候,
是先输出i的值,在执行i++;
所以结果是0,
如果改成这样就是你要的结果
System.out.println(++i);
输出结果是1

1楼正解