我注意到当我在我的java程序中使用while循环时,使用布尔类型来终止它似乎并没有工作。我输入了一些简单的东西来测试它。代码通过i = 9完成,然后将测试打印为false。为什么我的while循环终止?
public class LoopTesting {
public static void main(String[] args) {
boolean test = true;
while(test) {
for (int i = 1; i < 10; i++) {
System.out.println(i);
if(i == 5) test = false;
}
}
System.out.println(test);
}
}
编辑:针对afzalex的回答我测试此代码:
while(test) {
for (int i = 1; i < 10; i++) {
System.out.println(i);
}
test = false;
for(int i = 11; i < 20; i++) {
System.out.println(i);
}
}
,并打印到19
它实际上工作正常,印刷1..9和“测试”,正是预计 – vlatkozelka 2015-01-20 19:42:16
while循环结束,这就是为什么它打印'FALSE'。 – eckes 2015-01-20 19:46:54
@alfasin这是一个单线程(主线程)的例子,你不需要关心同步或并发问题和优化。 – eckes 2015-01-20 19:48:58