这是一个使用 Java switch语句执行条件分支的示例。
目录 | 什么是switch语句? |
switch语句示例 | |
检查null的样本 | |
Fall through(如果没有break) | |
在switch语句中使用if语句 |
什么是switch语句?
switch(conditions){ case value : processing break; ・・・ default: processing } |
- 如果条件的值与case的值相匹配,下面的过程将被执行。
- break将中断switch语句,否则将进入下级决策(case/default)。
- 当条件的值与任何 "case "的值不匹配时,就执行 "default"。它可以被省略,但最好是写出来。
- 如果你使用的是JavaSE7或更高版本,你可以使用switch语句来评估字符串。
但是,如果值是 "null",就会抛出一个NullPointerException异常,所以在使用switch语句之前,最好先确定值不是null。
switch语句示例
public class Test1 {
public static void main(String[] args) {
String a = "2";
switch (a) {
case "1":
System.out.println("one");
break;
case "2":
System.out.println("two"); // two
break;
default:
System.out.println("three");
}
}
}
第9行的case "2 "与变量a的值相匹配,所以它下面的进程被执行。
第11行的break退出了switch语句。
检查null的样本
String a = null;
if (a == null) {
System.out.println("null"); // null
} else {
switch (a) {
case "a":
System.out.println("one");
break;
case "b":
System.out.println("two");
break;
default:
System.out.println("three");
}
}
第一行将该变量设置为null。
第3行在if语句中检查null。
如果该值不是null,则从第6行的else语句中执行switch语句。
Fall through(如果没有break)
String a = "1";
switch (a){
case "1":
System.out.println("one"); // one
case "2":
System.out.println("two"); // two
break;
default:
System.out.println("three");
}
在第6行,没有break。
在处理完第5行的 case"1"后,第7行的 case"2 "的处理也被执行。
这被称为 "fall through"。
最好不要使用它,因为如果你忘记写break,就很难理解。
在switch语句中使用if语句
你可以在switch语句中使用if语句。
int a = 3;
switch (a){
case 3:
if (a % 2 == 0) {
System.out.println("even");
} else {
System.out.println("odd"); // odd
}
break;
default:
System.out.println("other");
}
第5行在switch语句的case后面使用了if语句。
%是为了找到除法的剩余部分。
相关文章