i++计算误区

来自Java程序员面试宝典

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;

这道题目告诉我们,用i++参与计算时,要好好考虑!

再看这道题:

public static void main(String[]args){
    int i =0;
    int sum = i++ + i++;
    System.out.println(sum);
}

输出为 1
先执行i++,结果为0,i=1;然后再执行i++,结果为1,i=2
sum = 0 + 1 = 1;

你可能感兴趣的:(求职准备,Java)