<分区>
最近我偶然发现了这段Java代码:
int a=0;
for(int i=0;i<100;i++)
{
a=a++;
}
System.out.println(a);
'a' 的打印值为 0。但是在 C 的情况下,'a' 的值为 100。
我无法理解为什么在 Java 中该值为 0。
标签 java
<分区>
最近我偶然发现了这段Java代码:
int a=0;
for(int i=0;i<100;i++)
{
a=a++;
}
System.out.println(a);
'a' 的打印值为 0。但是在 C 的情况下,'a' 的值为 100。
我无法理解为什么在 Java 中该值为 0。
最佳答案
a = a++;
从递增 a
开始,然后将 a
恢复为旧值,因为 a++
返回未递增的值。
简而言之,它在 Java 中什么都不做。如果你想递增,只使用像这样的后缀运算符:
a++;
关于java - a=a++ 在 Java 中是如何工作的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16323179/