当前位置:
- 首页
- /
- Java
- /
- Java基础知识【下】( 转载)
Java基础知识【下】( 转载)
switch后边的括号里面的输入因子有类型限制的,只能为:
[1]int类型的变量
[2]short类型的变量
[3]char类型的变量
[4]byte类型的变量
[5]enum的枚举类型的变量【JDK1.5过后支持】
其他的变量都是不能传入switch的输入因子的关于case语句的一点点限制:
[1]case语句后边必须是一个整型的常量或者常量表达式
[2]如果使用常量表达式,表达式中的每个变量,必须是final的
[3]case后边不能是非final的变量,比如使用一个case val这种情况将会直接通不过编译,因为val不是final类型的变量,只是一个普通变量
[4]case后边的常量和常量表达式不能使用相同的值关于语句的执行顺序:
当接收到合法的输入因子过后,JVM会去寻找和系统输入因子匹配的case语句,如果没有任何一个case语句匹配的话就直接执行default语句;当匹配到case语句过后,会执行该case到紧接着代码里面写的该case的下一个case之间的语句块,一旦执行完该语句块过后,如果没有遇到return或者break就继续执行下一个case,执行的流程和该case的执行流程是一样的,知道碰到最终的case为止。所以就可以理解为什么上边的代码当result的值为2的时候会输出:
Result is 2
Result is 3
来源: