今天回头看一些Java的基础问题,结果看到一道题写出输出结果时闹了个大黑脸,故此再记一下笔记吧。汗~~
原题为:下列程序的输出结果是()
public class Test {
public static void main(String[] args) {
int j = 0;
for (int i = 0; i < 100; i++) {
j = j ++;
}
System.out.println(j);
}
}
正确结果为:0
解析为:因为Java用了中间缓存变量的机制,所以,j=j++;可以换成如下写法:
temp = j;
j = j + 1;
j = temp;
网上有其他更详细的解释在此就不再赘述了。汗,以此谨记基础很重要,再狠狠的复习一下吧!!