我注意到當我在我的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