switch的用法 | 您所在的位置:网站首页 › switch的语法 › switch的用法 |
switch case 判断表达式的一种,类似于 if else switch() 方法支持数据类型:JDK1.6(char,byte,short,int),JDK1.7(char, byte,short,int, String) case 表达式可以有多个 类似于 else if switch case 用法限制 每个case语句要通过break/return结束语句 最后一个分支要是用default 结束switch 语句 支持多个case分支,执行一个判定逻辑 switch case 错误用法解析 error code 1. case 表达式执行结束没有 break/return 结束 public static voidswithcTest(inta){switch(a){case1: System.out.println(1);case2: System.out.println(2);case3: System.out.println(3); } } //运行方法 swithcTest(2); //打印执行结果 2 3 期望结果打印2完成结束语句,但是程序未结束,并且执行 case 3 表达式 Javap -c xxxx.class switch case 2 表达式执行完成后,没有结束,继续执行 case 3 表达式,执行后return 结束语句 正确写法 public static void swithcTestReturn(int a){ switch(a){ case 1: System.out.println(1); return; case 2: System.out.println(2); return; case 3: System.out.println(3); return; default: System.out.println(4); return; } } //运行方法 swithcTest(2); //打印执行结果 2 Javap -c xxxx.class 当 switch case 2 表达式执行完成,return 结束语句 error code 2. default 使用位置错误 public static void swithcTestDefault(int a){ switch(a){ case 1: System.out.println(1); return; default: System.out.println(4); case 2: System.out.println(2); return; case 3: System.out.println(3); return; } } //运行方法 swithcTestDefault(4); //打印执行结果 4 2 期望结果打印4完成结束语句,但是程序未结束,并且执行 case 2 表达式后,return结束 Javap -c xxxx.class default:36 代码命令行至50行 (46-50行属于case 2 表达式的命令行) default默认表达式没有在43行执行后 break/return结束,继续往下执行 case 2 表达式 执行到50行时return结束,所以打印结果 4 2 正确写法 public static void swithcTestReturn(int a){ switch(a){ case 1: System.out.println(1); return; case 2: System.out.println(2); return; case 3: System.out.println(3); return; default: System.out.println(4); return; } } //运行方法 swithcTestDefault(4); //打印执行结果 4 if else 案例编码: public static voidifTest(inta){if(a>1){System.out.println(1); }else if(a>2){System.out.println(2); }else{System.out.println(a); } } javap -c xxxx.calss 总结:if else 的每个分支执行完成后,会执行goto 结束语句 ,switch case 如果没有写break/return, 默认情况下会继续执行以下命令行 本文地址:https://blog.csdn.net/u014614478/article/details/109263395 希望与广大网友互动?? 点此进行留言吧! |
CopyRight 2018-2019 实验室设备网 版权所有 |