我是靠谱客的博主 迷路鱼,最近开发中收集的这篇文章主要介绍Java中switch的四种用法表达式,无直通行为语句,无直通行为表达式,有直通行为(Java 14引入)语句,有直通行为(“经典”形式)注意,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

总共有四种不同形式的switch。两种是switch语句,两种是switch表达式,表达式会生成一个值。switch表达式没有“直通式”行为。

表达式,无直通行为

int numLetters
numLetters = switch(seasonName){
case "Spring" ->{
System.out.println("spring time");
yield 6;
}
case "Summer","Winter" -> 6;
case "Fall" -> 4;
default -> -1;
}

语句,无直通行为

switch(seasonName){
case "Spring" -> {
System.out.println("spring time");
numLetters = 6;
}
case "Summer","Winter" -> numLetters = 6;
case "Fall" -> numLetters = 4;
default -> numLetters = -1;
}

表达式,有直通行为(Java 14引入)

int numLetters
numLetters = switch(seasonName){
case "Spring":
System.out.println("spring time");
case "Summer","Winter":
yield 6;
case "Fall":
yield 4;
default:
yield -1;
}

语句,有直通行为(“经典”形式)

switch(seasonName){
case "Spring":
System.out.println("spring time");
case "Summer","Winter":
numLetters = 6;
break;
case "Fall":
numLetters = 4;
break;
default:
numLetters = -1;
}

注意

1.switch()括号内seasonName,应与case后常量类型保持一致,或者是可以自动转换成可以互相比较的类型。

2.case标签可以是:类型为char、byte、short或int的常量表达式;枚举常量enum;字符串字面量String;多个字符串用逗号分隔。

3.case子句中的值必须是常量,不能是变量。

4.在语句中,default是可选的。

5.break和yield语句用来在执行完一个case分支后使程序跳出switch语句,如果没有break或yield,程序会顺序执行到switch结尾,产生直通行为。

6.不能在一个switch语句中混合使用冒号和箭头。

7.与break语句类似,yield会终止执行。但与break不同的是,yield还会生成一个值,这就是表达式的值。

最后

以上就是迷路鱼为你收集整理的Java中switch的四种用法表达式,无直通行为语句,无直通行为表达式,有直通行为(Java 14引入)语句,有直通行为(“经典”形式)注意的全部内容,希望文章能够帮你解决Java中switch的四种用法表达式,无直通行为语句,无直通行为表达式,有直通行为(Java 14引入)语句,有直通行为(“经典”形式)注意所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部