【Java基础知识】switch表达式、case穿透、default、switch结束条件
2016-10-11 22:33
851 查看
switch(表达式) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
...
default:
语句体n+1;
break;
}
1、格式解释说明:
switch表达式:可以是byte,short,int,char
JDK5以后可以是枚举
JDK7以后可以是字符串
case:后面的值就是要和表达式进行比较的值
break:表示程序到这里中断,跳出switch语句
default:如果所有的情况都不匹配,就执行这里,相当于if语句中的else
2、执行流程:
A:首先计算表达式的值
B:和每一个case进行匹配,如果有就执行对应的语句体,看到break就结束。
C:如果没有匹配,就执行default的语句体n+1。
3、注意事项:
A:case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的值
B:default可以省略吗?
可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。
C:break可以省略吗?
可以省略,但是结果可能不是我们想要的。
会出现一个现象:case穿透,最终我们建议不要省略
D:default一定要在最后吗?
不是,可以在任意位置。但是建议在最后。
E:switch语句的结束条件
a:遇到break就结束了
b:执行到末尾就结束了
case案例演示:
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
...
default:
语句体n+1;
break;
}
1、格式解释说明:
switch表达式:可以是byte,short,int,char
JDK5以后可以是枚举
JDK7以后可以是字符串
case:后面的值就是要和表达式进行比较的值
break:表示程序到这里中断,跳出switch语句
default:如果所有的情况都不匹配,就执行这里,相当于if语句中的else
2、执行流程:
A:首先计算表达式的值
B:和每一个case进行匹配,如果有就执行对应的语句体,看到break就结束。
C:如果没有匹配,就执行default的语句体n+1。
3、注意事项:
A:case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的值
B:default可以省略吗?
可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。
C:break可以省略吗?
可以省略,但是结果可能不是我们想要的。
会出现一个现象:case穿透,最终我们建议不要省略
D:default一定要在最后吗?
不是,可以在任意位置。但是建议在最后。
E:switch语句的结束条件
a:遇到break就结束了
b:执行到末尾就结束了
case案例演示:
<pre name="code" class="java">import java.util.Scanner; class SwitchTest4 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入月份(1-12):"); int month = sc.nextInt(); //case穿透 switch(month) { case 1: case 2: case 12: System.out.println("冬季"); break; case 3: case 4: case 5: System.out.println("春季"); break; case 6: case 7: case 8: System.out.println("夏季"); break; case 9: case 10: case 11: System.out.println("秋季"); break; default: System.out.println("你输入的月份有误"); } } }
相关文章推荐
- 【java基础知识(学习笔记)】--switch条件语句
- Java基础知识(包含switch case的一些隐藏知识点) Part02
- Java自学之路-Java基础教程-14:Java基本语句之4-条件判断语句switch和case
- Java基础:switch case default 语句的的使用
- java基础知识:数据类型,switch语句,分支结构
- 黑马程序员学习log第九篇基础知识:JAVA的面向对象之正则表达式及反射总结
- Java基础---Java条件语句之switch(二十一)
- 黑马程序员——java基础知识篇——>if语句、switch语句
- Java基础知识强化19:Java中switch分支语句
- Java基础知识强化70:正则表达式之引入案例(QQ号码校验)
- Java正则表达式基础知识及实例说明
- 黑马程序员——java基础知识之正则表达式
- Java基础知识强化75:正则表达式之分割功能(字符串中的数字排序案例)
- switch表达式和case条件支持的类型
- Java正则表达式基础入门知识
- java学习之旅18、19--switch语句_基本用法_case穿透现象,jdk7.0新特性_增强switch语句
- (Java 基础知识) Java 正则表达式
- Java基础语法学习(1)switch...case
- Java基础---Java条件语句之switch(二十一)
- Java基础知识强化72:正则表达式之判断功能(手机号码判断 和 校验邮箱)