switch细节讨论
-
Switch注意事项与细节讨论
-
表达式数据类型,应和case后的常量类型一致,或者是可以自动转换可以相互比较的类型,比如输入的是字符(不是字符串),而常量是int;
char c = 'a'; switch (c){ case 97: System.out.println("a"); }
字符a对应的unicode为第97;自动转换为int型97。
-
switch(表达式)中表达式的返回值必须是:(byte,short,int,char,enum.String)。整数类型(不包含Long),enum类型,String,char。
double c=1.1; switch(c){ case 1.1: System.out.println("ok3"); break; }
-
case子句子的值必须是常量,而不能是变量
int a = 123; int b = 123; switch (a){ case b: //这个b是变量,报错,英文如果上文有 break; }
-
default子句子是可选的,当没有匹配时,执行default
-
break语句用来在执行完一个case分支后使程序跳出swtich块;如果没有写berak,程序会顺序执行到switch结尾(或遇到break为止。)
int a = 10; switch (a){ case 10: System.out.println("输出的是10"); case 11: System.out.println("输出的是11"); }