高淳建设发展集团网站,做网站专业,桂林网站建设内容,创可贴app海报制作网站switch是什么
在Java中#xff0c;switch语句是一种多分支选择结构#xff0c;它允许程序根据一个表达式的值从多个代码块中选择执行哪一个。switch语句通常比多个if-else语句更清晰、更易读。
Java switch语句的基本语法#xff1a;
switch (expression) {case value1:/…switch是什么
在Java中switch语句是一种多分支选择结构它允许程序根据一个表达式的值从多个代码块中选择执行哪一个。switch语句通常比多个if-else语句更清晰、更易读。
Java switch语句的基本语法
switch (expression) {case value1:// 当 expression 的值等于 value1 时执行的代码break;case value2:// 当 expression 的值等于 value2 时执行的代码break;// 可以有任意数量的 case 语句default:// 如果 expression 的值与所有 case 值都不匹配则执行这里的代码
}关键点
表达式 (expression)可以是byte, short, int, 或者char类型。从Java 5开始还可以使用枚举类型。从Java 7开始支持String类型作为表达式。case标签 (case value:)每个case后面跟着一个要比较的值和冒号。这个值必须与表达式的类型兼容并且不能重复。break语句用于终止switch语句中的一个特定路径。如果不包含break控制流将继续执行下一个case直到遇到break或switch语句结束。这种行为称为“fall-through”。default标签可选默认情况下执行的代码块如果没有任何case匹配表达式的值时将执行这段代码。
示例如下 Java 12 新特性
1. 箭头 - 替代冒号 :
从Java 12开始switch语句有了新的增强包括箭头-来替代传统的冒号:并且默认不再需要break语句来防止fall-through。此外Java 14引入了预览版的模式匹配switch表达式允许直接返回值而不需要额外的return语句。例如
至少代码量倒是直接少了不少
2. 自动断言Automatic Break
在新的switch表达式中当使用箭头-时每个case分支默认自动包含了一个隐式的break从而避免了传统的fall-through行为。这意味着你不再需要显式地为每个case添加break语句。
3. switch 表达式
从Java 14起switch不仅可以作为语句使用还可以作为一个表达式它能够返回值。这使得switch可以被用作赋值的一部分或者直接返回函数的结果。
4. 多个 case 标签合并
你可以将多个具有相同处理逻辑的case标签组合在一起使用逗号分隔。这种方式可以减少重复代码使程序更加简洁。 5. yield 关键字
当switch作为一个表达式使用时如果需要在case体内执行多条语句并且最后返回一个值可以使用yield关键字。yield会将控制权交还给调用者并传递一个值。