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语句是否会执行。