switch语句格式:
switch(你的选择){
case 值1:
符合值1执行的代码;
break;
case 值2:
符合值3执行的代码;
break;
case 值3:
符合值3执行的代码;
break;
…
default:
你的选择都不符合上述的选项时执行的代码
break;
}
switch语句要注意的事项:
1.switch语句使用的变量只能是byte,short,int,char的数据类型。String数据类型是从jdk7.0的时候才开始支持的。
2.case后面跟的数据必须是一个常量。
3.switch语句的停止条件:
switc语句一旦匹配上了其中一个case的值,那么就会执行对应的case中的代码,执行完毕后如果没有遇到break关键字或者结束switch语句的大括号,那么switch语句不会再判断,按照代码的顺序从上往下执行所有的代码,知道遇到break或者是结束switch语句的大括号为止。
int option=3;
switch(option){
case 1:
System.out.println("java");
case 2:
System.out.println("javascript");
case 3:
System.out.println("c");
case 4:
System.out.println("c++");
default:
System.out.println("没有你要的选择");
}
以上程序输出结果:c
c++
没有你要的选择
4.在switch语句中,不管代码顺序如何,永远都是先判断case语句,然后没有符合的情况下才会执行default语句。
int option=3;
switch(option){
default:
System.out.println("没有你要的选择");
case 1:
System.out.println("java");
case 2:
System.out.println("javascript");
case 3:
System.out.println("c");
case 4:
System.out.println("c++");
}
以上程序输出结果:c
c++
if–else if–else if–else语句和switch语句非常相似
switch语句的优点:结构清晰
缺点:如果判断条件是一个区间范围,使用switch操作非常麻烦。
需求:接收键盘录入一个月份,根据对应的月份输出对应的季节
import java.util.Scanner;
public class SwitchTest {
public static void main(String[] args) {
while(true){
System.out.println("请输入一个月份");
Scanner scanner = new Scanner(System.in);
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;
}
}
}
}