JAN*_*JAN 0 java loops while-loop
请考虑以下代码:
public class Game {
public static void main(String[] args) {
int x = 0;
while (x < 1) {
x = x++;
}
}
}
Run Code Online (Sandbox Code Playgroud)
使用我的编译器,这段代码进入无限循环,但为什么呢?
首先,我们把价值x成x,而只有那么我们就加1 x,之后我会想到1 < 1会是假的,while循环将终止...
但不,那不会发生.
那么无限循环可能是什么原因呢?
表达式x++是后增量,意味着表达式的值是旧值,0然后将其分配回x,因此x总是0在之后x = x++;.
为了打破无限循环,不分配回x,留下的增加值后x,1,完整:
while (x < 1) {
x++;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
114 次 |
| 最近记录: |