1public static void main(String[] args) { 2 int i = 0; 3 for (int j = 0; j < 100; j++) { 4 i = i++; 5 } 6 System.out.println(i); 7}
输出结果是0,而不是100,不知道跟你的认知是否一致
如果将 i=i++ 改成 i=++i,结果会是怎样呢?
1public static void main(String[] args) { 2 int i = 0; 3 for (int j = 0; j < 50; j++) { 4 i = ++i; 5 } 6 System.out.println(i); 7}
输出结果是100,不知道跟你的认知是否一致
2、单独使用时一样
独立使用时++i 和 i++二者效果一样,就是 i=i+1。表达式中i++取i的值参与运算,而++i取i+1的值参与运算。举例 b = ++i,相当于 i=i+1; b = i; b = i++,相当于 b = i; i=i+1。