源代码:
public static void main(String[] args) {
int a=1;
int b=4;
switch (a){
case 1:
while (a<4){
}
break;
case 2:
while (a<4){
}
break;
default:
}
}
编译后:
public static void main(String[] args) {
int a = 1;
int b = true;
switch(a) {
case 1:
while(a < 4) {
;
}
return;
case 2:
while(true) {
if (a < 4) {
continue;
}
}
}
}
为什么同样的while会编译成不同的代码?目的何在?