Java教程08—Java中的switch语句 2022-05-14 04:03 424阅读 0赞 当我们有多个选项(或条件)时,使用Switch case语句,这个时候我们可能需要为每个选项安排不同的任务。 -------------------- Switch case语句的语法如下所示 switch (variable or an integer expression) { case constant: //Java code ; case constant: //Java code ; default: //Java code ; } Switch Case语句常用来和**break**一起用,break是可选的。 我们先用一个没有break语句的例子,然后我们再讨论switch case和break。 -------------------- 一个简单的switch case语句 public class SwitchCaseExample1 { public static void main(String args[]){ int num=2; switch(num+2) { case 1: System.out.println("Case1: Value is: "+num); case 2: System.out.println("Case2: Value is: "+num); case 3: System.out.println("Case3: Value is: "+num); default: System.out.println("Default: Value is: "+num); } } } 输出: Default: Value is: 2 **程序说明:** 在上面程序中我给switch传了一个表达式,当然也可以传递变量。 我传了num + 2,其中num值是2,并且在添加之后表达式得到4. 因为没有用值4定义的情况,所以执行了默认情况。 这就是为什么我们应该在switch case中使用default,这样如果没有匹配条件的case,则执行default的内容。 -------------------- ## Switch流程图 ## 首先,检查在switch括号中提供的变量,值或表达式,然后基于结果,执行与结果匹配的相应的case块。 ![这里写图片描述][70] Switch Case中的Break语句 在switch case中,break语句是可选的,但几乎每次处理switch case时都会使用它。 在我们讨论break语句之前,让我们看看下面的例子,我没有使用break语句: public class SwitchCaseExample2 { public static void main(String args[]){ int i=2; switch(i) { case 1: System.out.println("Case1 "); case 2: System.out.println("Case2 "); case 3: System.out.println("Case3 "); case 4: System.out.println("Case4 "); default: System.out.println("Default "); } } } 输出: Case2 Case3 Case4 Default 在上面的程序中,我们已经将整数值2传递给了switch,所以控制切换到了case 2。 但是在case 2之后我们没有使用break语句,导致流程传递到后续case直到结束。 **这个问题的解决方案是使用break语句。** 当您希望程序流从switch主体中出来时,可以使用break语句。 每当在switch主体中遇到break语句时,执行流程将直接从switch中出来,忽略其余的情况 让我们采用相同的例子,但这次使用break语句: break程序示例: public class SwitchCaseExample2 { public static void main(String args[]){ int i=2; switch(i) { case 1: System.out.println("Case1 "); break; case 2: System.out.println("Case2 "); break; case 3: System.out.println("Case3 "); break; case 4: System.out.println("Case4 "); break; default: System.out.println("Default "); } } } 输出: Case2 现在您可以看到只有case2被执行,其余case被忽略。 **为什么我default后不使用break语句?** default后控制流程本身就会从switch中出来,所以我没有使用它。 但是如果你仍然希望在default情况下使用break,那么你可以使用它,这样做也没有任何害处。 -------------------- ## 有关Switch Case的几个问题 ## * 1)case并不总是需要规定为1,2,3等。它可以在case关键字后面包含任何整数值。 此外,case不需要始终按升序排列,您可以根据要求以任何顺序指定它们。 * 2) 也可以在case中用字符,程序示例: public class SwitchCaseExample2 { public static void main(String args[]){ char ch='b'; switch(ch) { case 'd': System.out.println("Case1 "); break; case 'b': System.out.println("Case2 "); break; case 'x': System.out.println("Case3 "); break; case 'y': System.out.println("Case4 "); break; default: System.out.println("Default "); } } } * 3)switch内部给出的表达式应该是一个常量值,否则它将无效。 例如: switch有效的写法: switch(1+2+23) switch(1*2+3%4) switch无效的写法: switch(ab+cd) switch(a+b+c) * 4)允许嵌套switch语句,这意味着你可以在另一个switch内部使用switch语句。 但是应该避免使用嵌套的switch语句,因为它会使程序更复杂,更不易读。 -------------------- 原文地址: [https://beginnersbook.com/2017/08/java-switch-case/][https_beginnersbook.com_2017_08_java-switch-case] [70]: /images/20220514/6aecee7112bd4841a5c61aec717cc3b5.png [https_beginnersbook.com_2017_08_java-switch-case]: https://beginnersbook.com/2017/08/java-switch-case/
相关 Java中的switch语句 switch多分支结构(多值情况) 语法结构: switch(表达式){ case 值1: 语句序列1; 骑猪看日落/ 2022年11月13日 13:29/ 0 赞/ 325 阅读
相关 java中的switch理解_深入理解Java的switch...case...语句 switch...case...中条件表达式的演进 最早时,只支持int、char、byte、short这样的整型的基本类型或对应的包装类型Integer、Character 旧城等待,/ 2022年11月07日 14:52/ 0 赞/ 472 阅读
相关 Java中的switch-case语句 在Java中,如果面临多个选择时,良好的运用switch-case语句,能为自己的代码提供很好的美感,最重要的是没有if-else的繁杂,给人很好的视觉感受。 下面的程序就是 淩亂°似流年/ 2022年07月15日 13:56/ 0 赞/ 350 阅读
相关 Java中switch语句支持的类型 switch语句表达式的取值类型: 基本数据类型:byte,short,int,char JDK5以后可以是枚举 JDK7以后可以是String 不支持long、f 今天药忘吃喽~/ 2022年06月10日 02:57/ 0 赞/ 387 阅读
相关 java switch语句 先看一下java switch的基本类型: Scanner ss=new Scanner(System.in); // 这里是输入的前提 只要是需要我们输入东西这个就是前提 Myth丶恋晨/ 2022年05月18日 20:08/ 0 赞/ 467 阅读
相关 Java教程08—Java中的switch语句 当我们有多个选项(或条件)时,使用Switch case语句,这个时候我们可能需要为每个选项安排不同的任务。 -------------------- Switch cas 曾经终败给现在/ 2022年05月14日 04:03/ 0 赞/ 425 阅读
相关 【教程】Java switch case 语句 转载自[http://www.runoob.com/java/java-switch-case.html][http_www.runoob.com_java_java-swit 亦凉/ 2022年03月09日 14:48/ 0 赞/ 230 阅读
相关 Java的switch语句 import java.util.Scanner; public class p2 { public static void ma 爱被打了一巴掌/ 2022年02月02日 10:27/ 0 赞/ 505 阅读
相关 Java switch语句 1.1 switch语法规则 1. 表达式expr的值必须是下述几种类型之一: byte、short、int、char、enum(枚举);java 一时失言乱红尘/ 2021年11月17日 12:42/ 0 赞/ 721 阅读
相关 Java中的Switch语句 switch 语句是一个多路分支语句。它提供了一种简单的方法,可以根据表达式的值将执行分派到代码的不同部分。基本上,表达式可以是 byte、short、char 和 in... 朱雀/ 2021年08月14日 08:51/ 0 赞/ 11593 阅读
还没有评论,来说两句吧...