java - a=a++ 在 Java 中是如何工作的

标签 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/

相关文章:

java - 如何在 Java 中将 "HH:MM"格式字符串转换为时间戳?

java - 如何在我的 Ebean 实体中拥有正确的 JsonNode 字段?

java - 如何向这些 JFrame 添加图片?

java - 重复但重叠字符串的算法

java - 使用所有元素对二维数组进行排序

java - 单击操作栏中的共享应用程序链接时出现问题

java - 带有 Java 语法高亮显示的 Android 应用程序中的文本

java - 连接两个集合并获取随机元素

java - 在 OpenGL (Java) 中实现 LOD

java - java中使用readline()方法可以读取多少个字符?