Java switch详解
来源:互联网 发布:软件开发安全标准规范 编辑:程序博客网 时间:2024/05/22 13:55
1、概要
(1)switch 语句由一个控制表达式和多个case标签组成。
(2)switch 控制表达式支持的类型有byte、short、char、int、enum(Java 5)、String(Java 7)。
(3)switch-case语句完全可以与if-else语句互转,但通常来说,switch-case语句执行效率要高。
default在当前switch找不到匹配的case时执行。default并不是必须的。
(4)一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break。
2、语法格式
switch (表达式) { case 条件1: 语句1; break; case 条件2: 语句2; break; ... default: 语句;}
3、代码示例
//3.1 int类型switch示例int i = 3;switch (i) { case 1: System.out.println(1); break; case 2: System.out.println(2); break; case 3: System.out.println(3); break; default: System.out.println(0);}//3.2 枚举(Enum)类型switch示例public class TestSwitch { static enum E { A, B, C, D } public static void main(String args[]) { E e = E.B; switch (e) { case A: System.out.println("A"); break; case B: System.out.println("B"); break; case C: System.out.println("C"); break; case D: System.out.println("D"); break; default: System.out.println(0); } }}//3.3 String类型switch示例String str = "C";switch (str) { case "A": System.out.println("A"); break; case "B": System.out.println("B"); break; case "C": System.out.println("C"); break; default: System.out.println(0);}
4、break
break在switch中用于结束当前流程。一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break。
//4.1 忘记写break的陷阱int i = 2;switch (i) { case 1: System.out.println(1); case 2: System.out.println(2); case 3: System.out.println(3); default: System.out.println(0);}//输出结果:230//4.2 巧用break//实例:输出2016年指定月份的最大天数int year = 2016;int month = 8;int day = 0;switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: day = 31; break; case 2: day = 28; break; case 4: case 6: case 9: case 11: day = 30; break;}System.out.println(day);
5、default
default在当前switch找不到匹配的case时执行。default并不是必须的。
int x = 0;switch (x) { case 1: System.out.println(1); case 2: System.out.println(2); default: System.out.println("default");}//输出结果:default
0 0
- java switch语句详解
- Java switch语句详解
- java switch语句详解
- java switch语句详解
- JAVA-switch语句详解
- java switch语句详解
- Java switch详解
- Java switch 详解
- Java switch 详解
- java关键字详解(abstract.double.int.switch)
- java关键字详解(abstract.double.int.switch)
- java中switch语句用法详解
- switch详解
- Java switch
- java switch
- switch----java
- java switch
- Java:switch()
- poj 3246 Balanced Lineup (RMQ)
- 查询窗体--机房收费系统
- CVTE二面题目
- 学习前端框架Bootstrap
- 并查集
- Java switch详解
- linux第一个驱动模块编译
- debian rar
- filter过滤器登录验证
- css float
- 配置Android的SDK,DNK,JDK,ANT打包APK环境
- 数据标准化/归一化normalization
- findAttribute方法的执行顺序
- sed的几种用法