Java 请解释为什么这段代码会导致无限循环 for(int i=0;i
基本上i的值保持不变,并保持为0,因此它是无限的。但为什么不改变呢Java 请解释为什么这段代码会导致无限循环 for(int i=0;i,java,loops,unary-operator,Java,Loops,Unary Operator,基本上i的值保持不变,并保持为0,因此它是无限的。但为什么不改变呢 如果我将I=I++更改为I++,它会工作。(不是无限循环)。因为i++在表达式求值后递增i,所以您基本上是说i=i。如果执行i=++i,则它将起作用,因为在计算表达式之前,它会递增i。从逻辑上讲,赋值是在计算右侧之后完成的,就像其他Java赋值一样。但是,“后缀增量表达式的值是存储新值之前的变量值。”() 由于赋值,在存储递增值之前,i的值保持为零 for (int i = 0; i < 10;) { i=i++
如果我将
I=I++
更改为I++
,它会工作。(不是无限循环)。因为i++
在表达式求值后递增i
,所以您基本上是说i=i
。如果执行i=++i
,则它将起作用,因为在计算表达式之前,它会递增i
。从逻辑上讲,赋值是在计算右侧之后完成的,就像其他Java赋值一样。但是,“后缀增量表达式的值是存储新值之前的变量值。”()
由于赋值,在存储递增值之前,i
的值保持为零
for (int i = 0; i < 10;) {
i=i++;
System.out.println("Hello World" );
}