java中switch-case使用以及注意情况

@TOC一、语法结构

语法结构

switch(表达式){
case 值1:代码块1;break;
case 值2:代码块2;break;
default:代码块3;break;
}

代码解释

表达式:
取值类型:byte、short、int、枚举(jdk1.5)、字符串(jdk1.7);注意选择jdk版本;
值1、2:表达式能够相对应的值
break:跳出整个分支结构,不在执行下面的语句;
default:表示若表达式的值和case后面的值都不相等,执行该代码;

代码示意图

switch(10){
case 10:System.out.println(“ten”);break;
case 20:System.out.println(“twenty”);break;
default:System.out.println(“无效数据”);break;
}
控制台输出结构:
javac 编译java文件;java 执行编译后的class文件
javac 编译java文件;java 执行编译后的class文件;

注意事项

1、break 可以省略:当表达式的值找到第一个case之后 执行后面的代码;不退出继续执行后面的代码块,直到break或者执行完毕整个程序;
代码如下:

switch(10){
			case 10:System.out.println("ten");
			case 20:System.out.println("twenty");break;
			default:System.out.println("无效数据");break;
		}

在这里插入图片描述
为什么会输出20:因为在j执行这个代码时,在内存中会有一个变量(temp)来保存表达式和case的比较结果:10=10>>true;由于没有break,代码会继续向下执行,但是变量temp已经为true了,不会继续和case比较了,会直接执行后面的代码>>break跳出;
2、default:它位置不一定在最后代码如下:

switch(20){
			case 10:System.out.println("ten");break;
			default:System.out.println("无效数据");break;
			case 20:System.out.println("twenty");break;
		}

运行截图:
在这里插入图片描述
3、case后面的值:
值1与值2不能相同;
值1与值2的可以不同类型:

switch(20){
			case 10:System.out.println("ten");break;
			case 'v':System.out.println("twenty");break;
			default:System.out.println("无效数据");break;
		}

在这里插入图片描述

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值