public static void main(String[] args) {
int a;
boolean ok = true;
while(ok){
a = 10;
ok = false;
}
int b = a;
}
以上代碼是會報錯的。 a是有可能沒有被初始化的。
即使ok在while執行之前就為true,但是程序還是不會認為while中的語句 一定會執行,即使是while(true) 程序不會認為這個while一定會執行。
其實就如同if語句一樣,程序是無法聯系上下文從而判斷一段if語句是否會執行。