关于Java循环和post/前缀运算符的问题
为什么后缀增量运算符不在变量“b”中添加值?关于Java循环和post/前缀运算符的问题,java,prefix,postfix-notation,Java,Prefix,Postfix Notation,为什么后缀增量运算符不在变量“b”中添加值? 输出不应该像“8”吗?a++意味着使用a的值,然后添加1 因此,第一个将把a的值读取为10,然后加1,这样它将打印出11的值 第二个将b读作4,因此c=3+4=7b在添加完成后变为5。如果这是正确的,那么为什么序列不以0开头?@user2015669:因为当您在println中使用它时,它已经增加了。运算符处于for状态,因此for状态使用旧值。然后使用具有新值的a执行for的主体。当在for部分中检查条件时,a=0。但在检查之后,它被增加到a=1。
输出不应该像“8”吗?
a++
意味着使用a
的值,然后添加1
因此,第一个将把a
的值读取为10,然后加1,这样它将打印出11的值
第二个将
b
读作4,因此c
=3+4=7<代码>b在添加完成后变为5。如果这是正确的,那么为什么序列不以0开头?@user2015669:因为当您在println
中使用它时,它已经增加了。运算符处于for
状态,因此for
状态使用旧值。然后使用具有新值的a
执行for
的主体。当在for
部分中检查条件时,a=0。但在检查之后,它被增加到a=1。因此,它将打印1
,而不是0
。非常感谢您澄清我的概念!
int a=0;
for (a=0; a++<=10;) {
System.out.print(a+ " ");
}
Output: 1 2 3 4 5 6 7 8 9 10 11
int a=3, b=4;
int c = a + b++;
System.out.println(+c);
Output: 7