public class Demo1 {
public static void main(String[] args) {
int num = 0;
for(int i = 0 ; i小于100; i ++) {
num = num++;
}
System.out.println("num="+num);
}
}
这是因为 num = num++ 操作实际上是先将 num 的值赋值给表达式中的 num,然后对 num 的值进行自增操作,但是这个自增操作对表达式结果并没有影响,所以表达式的结果仍然是 num 未自增之前的值,最终将这个结果赋值给 num,导致 num 的值没有发生变化,仍然为0。
因此,即使在循环中执行了100次 num = num++ 操作,由于每次都不会改变 num 的值,最终输出的结果仍然是0。
num++改变的就是num的值,不用再重新赋值给num。修改后的代码:
public class Demo1 {
public static void main(String[] args) {
int num = 0;
for(int i = 0 ; i<100; i ++) {
num++;
}
System.out.println("num="+num);
}
}
具体的原理,参考这篇文章:https://zhuanlan.zhihu.com/p/40645506
有帮助的话,请点采纳~