public class Test { public static void main(String[] args) { int i = 0;
i = i++;
System.out.println(i); } }
这段代码的输出结果是0,如果将第6行换成int a = i++;,输出结果当然是1,这又是为什么?
i = i++;
System.out.println(i); } }
这段代码的输出结果是0,如果将第6行换成int a = i++;,输出结果当然是1,这又是为什么?
相当于
int temp=i;
i=i+1;
i=temp;
所以i是0
知道写程序不要这么写就够了.
public static void main(String[] args) { int i = 0;
int a = i++;
System.out.println(i);
System.out.println(a);
}
}
看这个就知道
就等价于i=i;i=i+1;
++i
就等价于i=i+1;
i++是先赋值在加
++i 是先++在赋值;
http://www.bitscn.com/java/base/200605/20350.html
表示先赋值后值加。。
所以当然等于零咯。。
这就等于一了哦!!
class Test { public static void main(String[] args) { int i = 0;
i = ++i;
System.out.println(i); } }
不要i = i++;了 呵呵