格式:
switch(你的选择){
case 值1:
符合值1 执行的代码;
break;
case 值2:
符合值2 执行的代码;
break;
case 值3:
符合值3 执行的代码;
break;
......
default:
你的选择都不符合上述选项时 执行的代码
break;
}
举例1:
public static void main(String[] args){
int option = 4;//定义一个变量存储你的选择
switch(option){
case 1:
System.out.println("java");
break;
case 2:
System.out.println("c#");
break;
case 3:
System.out.println("javascript");
break;
case 4:
System.out.println("android");
break;
default:
System.out.println("你的选择有误");
break;
}
}
switch语句要注意的地方:
1、switch语句使用的变量只能是byte、char、short、int、String类型。String类型是从jdk7.0的时候开始支持的;
2、case后面跟的数据 必须是个常量(不能是变量,变量报错);
3、switch的停止条件:switch语句一旦匹配上了其中的一个case语句,那么就会执行对应的case中的语句代码,执行完毕之后如果没有遇到break关键字或者是结束switch语句的大括号,那么switch语句不会再判断,按照代码的顺序从上往下执行所有的代码,直到遇到break或者是结束switch语句的大括号为止。
4、在switch语句中,不管代码顺序如何(即不管default语句在第一句还是最后一句),永远都是会先判断case语句,然后没有符合的情况下才会执行default语句。
-针对以上步骤3举例:
-public static void main(String[] args){
int option = 3;//定义一个变量存储你的选择
switch(option){
case 1:
System.out.println("java");
//break; //注释掉break
case 2:
System.out.println("c#");
//break; //注释掉break
case 3:
System.out.println("javascript");
//break; //注释掉break
case 4:
System.out.println("android");
//break; //注释掉break
default:
System.out.println("你的选择有误");
//break; //注释掉break
}
}
-执行结果为:
javascript
android
你的选择有误
if-else 、if-else if与switch语句非常的相似:
switch语句的优点:switch语句的结构清晰
switch语句的缺点:如果判断的条件是一个区间范围的,使用switch就非常的麻烦了。
举例:需求,接受键盘录入一个月份,根据对应的月份输出对应的季节
import java.util.*;
class Demo{
public static void main(String[] args){
System.out.println("请输入一个月份:");
//创建一个扫描器
Scanner scanner = new Scanner(System.in);
//调用扫描器的nextInt方法
int month = scanner.nextInt();
switch(month){
case 3:
case 4:
case 5:
System.out.println("春天");
break;
case 6:
case 7:
case 8:
System.out.println("夏天");
break;
case 9:
case 10:
case 11:
System.out.println("秋天");
break;
case 12:
case 1:
case 2:
System.out.println("冬天");
break;
default:
System.out.println("没有对应的季节");
break;
}
}
}