public class Cases {
public static void main(String[] args) {
float x = 9;
float y = 5;
int z = (int)(x / y);
switch (z) {
case 1:
x = x + 2;
case 2:
x = x + 3;
default:
x = x + 1;
}
System.out.println("Value of x: " + x);
}
}X被显示时其值是多少?谁能帮忙降解一下?
public static void main(String[] args) {
float x = 9;
float y = 5;
int z = (int)(x / y);
switch (z) {
case 1:
x = x + 2;
case 2:
x = x + 3;
default:
x = x + 1;
}
System.out.println("Value of x: " + x);
}
}X被显示时其值是多少?谁能帮忙降解一下?
switch (z) {
case 1: // 因为 z == 1,那就从这里做起了。
x = x + 2; // 做完后,x = 9 + 2 = 11 了,由于没有 break,所以并不会跳出 switch,继续
case 2:
x = x + 3; // 做完后,x = 11 + 3 = 14 了,继承下去
default:
x = x + 1; // 做完后,x = 14 + 1 = 15 了,所以最终结果 x = 15 了像 Switch 很容易会忘掉加 break; 的,一旦忘掉了,就可能导致不同的结束。