Java switch语句教程
在
switch 中存放的是对应的被比较的值,case 里面是条件,default 表示不符合所有的 case 条件的语句,在 default 里面都可以执行,break 表示终止条件判断,跳出当前的 switch。
Java switch语句详解
语法
switch(condition){
case value1:
//do something
break;
case value2:
//do something
break;
......
default:
// do something;
break;
}
参数
参数
描述
condition
switch 条件判断使用的关键字
condition
表达式的值,类型可以是 byte,short,int,char,枚举,String
case
比较关键字,将其后面的值与 condition 比较
value1
对具体的数值判断,如果和 condition 值相等,就执行里面的操作
break
跳出当前 switch 语句的关键字,如果没有,当前符合的条件后面执行语句都会执行
default
前面 case 都不满足条件时,会在 default 里面执行
案例
正常的拥有break语句
package com.haicoder.net.basic;
public class SwitchTest{
public static void main(String[] args){
System.out.println("嗨客网(www.haicoder.net)");
String param = "haicoder";
switch (param) {
case "hello":
System.out.println("hello world");
break;
case "haicoder":
System.out.println("hello haicoder");
break;
default:
System.out.println("haicoder , 嗨 code");
break;
}
}
}
运行结果如下:
例子中,我们用了 String 类型的字符串作为条件进行比较。因为 param 和 第二个 case 的条件一样,所以就在控制台中打印出 hello haicoder。
错误使用没有break语句
package com.haicoder.net.basic;
public class IfTest{
public static void main(String[] args){
System.out.println("嗨客网(www.haicoder.net)");
String aa = "haicoder";
switch (aa) {
case "hello":
System.out.println("hello world");
case "haicoder":
System.out.println("hello haicoder");
case "coder":
System.out.println("hi coder");
default:
System.out.println("haicoder , 嗨 code");
}
}
}
运行结果如下:
我们在 case 里面忘记了使用 break,因为在 第二个 case 处就符合条件了,所以第二个 case 之后就不会判断是否相等,默认都认为条件成功,将一直执行下去,直到遇到 break 为止。上面的语句效果和下面一样:
package com.haicoder.net.basic;
public class IfTest{
public static void main(String[] args){
System.out.println("嗨客网(www.haicoder.net)");
String aa = "haicoder";
switch (aa) {
case "hello":
System.out.println("hello world");
case "haicoder":
case "coder":
System.out.println("hello haicoder");
System.out.println("hi coder");
System.out.println("haicoder , 嗨 code");
}
}
}
Java语言switch总结
上面的例子中,switch 语句可以用 if…else 语句来替换,感兴趣的同学可以试一下,我们在使用过程中一定要合理使用 break 关键字,如果这个关键字使用不合理,就会给程序执行带来意想不到的结果。