这篇文章主要讲解了“Java不同版本的Switch语句实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java不同版本的Switch语句实例分析”吧!
switch语句将以更可读、更简洁的方式(并非每次)替换单个变量的if-else-if梯形图。是的,我知道,这不是一个精确的定义。
让我们看一个实际的例子。假设你按下了一个按钮,并且有了特定的按钮代码,你需要有一些与之相关的命令。现在,您可以执行第一块中显示的if-else-if梯形图,或者将其转换为第二块中显示的开关表达式:
if(button == 1) { command = "on"; } else if(button == 2){ command = "off"; } else if(button == 3 || button == 4) { command = "ring"; } else{ throw new RuntimeException("Wrong Button Code"); }
switch表达式:
switch(button){ case 1: command = "On"; break; case 2: command = "off"; break; case 3: case 4: command = "ring"; break; default: throw new RuntimeException("Wrong Button Code"); }
正如你所见,这个switch即使我们减少了条件检查,我们也必须添加很多额外的代码,比如break语句。这就是新的Java Switch语句或表达式帮助我们的地方。与其说是一个新的,不如说是一个“更新的开关表达式”。但无论如何,让我们看看。
在新的switch语句中,您将看到的第一件事是,您根本不必编写break
语句。要做到这一点,你必须使用箭头->
,我们在lambda中使用的箭头,来告诉这个案例的开始。至于实际的代码块,可以将其设置为一行表达式,也可以在代码块周围使用一个花括号。
此外,对于不同case的相同评估,您不需要多次编写case语句,您可以用逗号分隔它们(例如,上例中的case3和case4)。
switch(button){ case 1 -> command = "on"; // on liner case 2 -> { // do something command = "off"; // a block with curly brackets } case 3, 4 -> command = "ring"; // case can be combined with a comma default -> throw new RuntimeException("Wrong Button Code"); }
看看代码变得多么简洁。不需要额外的中断声明。此外,可以在不重复关键字的情况下组合案例。但等等,不是这样的。关于这个更新的Java switch语句,还有一件事。
我们可以从switch语句中得到一个结果。简单地说,您只能从开关块返回特定的内容。它对switch语句使用Java13新添加的yield
关键字。这只不过是对开关的回报。举个例子你会更好地理解。
假设在上面的例子中,我们为每种情况都修改了命令变量。现在,我们可以直接从特定情况返回特定字符串,并将其分配给命令,而不是对同一变量进行变异。你可以同时使用“冒号大小写”或“箭头大小写”。让我们看看如何。
箭头case ->
String command = switch(button){ case 1 -> { yield "on"; } case 2 -> { yield "off"; } case 3,4 -> { // multiple case yield "ring"; } default -> throw new RuntimeException("Wrong Button Code"); };
冒号case:
String command = switch(button){ case 1: yield "on"; // no break should be used case 2: yield "off"; case 3: case 4: yield "ring"; default: throw new RuntimeException("Wrong Button Code"); };
使用switch时请记住这几点:
不能在一个switch语句中交替使用冒号和箭头大小写。
从箭头框中得出结果时,必须将其写在花括号中。
从冒号case中生成结果时,不要使用break
关键字。
建议在使用yield
时使用箭头框。
感谢各位的阅读,以上就是“Java不同版本的Switch语句实例分析”的内容了,经过本文的学习后,相信大家对Java不同版本的Switch语句实例分析这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。