switch语句的结构及注意事项

switch语句
1 格式:
switch(表达式) {
case 值1:
语句1;
break;
case 值2:
语句2;
break;

default:
语句n+1;
break;
}
举例:

需求:键盘录入一个月份,来判断季节
3,4,5 春季
6,7,8 夏季
9,10,11 秋天
12,1,2 冬天

//导包
//(用switch判断月份)

import java.util.Scanner;//导包
class Demo{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);//创建键盘录入对象
System.out.println(“请您输入月份:”);//提示接收数据
int month= sc.nextInt();
int num = 3;
switch(month){ //使用switch语句

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;

}
}

}
switch语句常规用法
格式解释说明:
switch:说明这是switch语句。
表达式:可以是 byte,short,int,char(JDK5以后可以是枚举类型(enum),JDK7以后可以是字符串(例如:String)
case:后面的值就是要和表达式进行比较的值,如果匹配成功,就执行语句;如果不匹配,继续和case语句中的值2比较.
break:表示程序到这里中断,跳出switch语句
default:如果所有的情况都不匹配,就执行这里.
2 注意事项:
(1):case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的
(2):break可以省略吗?
可以省略,但是结果可能不是我们想要的。
会出现一个现象:case穿透。
建议不要省略

import java.util.Scanner;//导包
class Demo{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);//创建键盘录入对象
System.out.println(“请您输入月份:”);
int month= sc.nextInt();
int num = 3;
switch(month){

case 3:
case 4:
case 5:
	System.out.println("春季");
	
case 6:
case 7:
case 8:
	System.out.println("夏季");

case 9:
case 10:
case 11:
	System.out.println("秋季");
	
case 12:
case 1:
case 2:
	System.out.println("冬季");
	
default:
	System.out.println("非法数据...");
	

}
}

}
case穿透现象
(3):default一定要在最后吗?
不是,可以在任意位置。但是建议在最后。

import java.util.Scanner;//导包
class Demo{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);//创建键盘录入对象
System.out.println(“请您输入月份:”);
int month= sc.nextInt();
int num = 3;
switch(month){
default:
System.out.println(“非法数据…”);
break;

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不在结尾
(4):switch语句的结束条件
a:遇到break就结束了
b:执行到末尾就结束了

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值