笔试题:Java8 中 switch 循环
前置知识
Java8 的 switch语句语法
switch(表达式) {
case 值1:
语句块1;
break;
case 值2:
语句块2;
break;
…
case 值n:
语句块n;
break;
default:
语句块n+1;
}
switch语句执行流程如下图
Java8 switch语句中的注意点
- switch入口表达式类型必须为 byte,short,int,char,String类型
-
- 条件 case 值类型为byte、 short 、 int、char、String的常量表达式和枚举常量
- 重复的 case 值是不允许的
- 重点:如果在 case 分支语句的末尾没有 break 语句,有可能触发多个 case 分支。那么就会接着执行下一个 case 分支语句或者 default 语句
- 先后顺序可以变动
笔试题
很简单的一道题,我居然做错了,基础不牢固啊
public class Test {
public static int getValue(int i){
int result = 0;
switch (i){
case 1:
result = result + i;
case 2:
result = result + 2 * i;
case 3:
result = result + 3 * i;
default:
result = result + 4 * i;
}
return result;
}
public static void main(String[] args) {
System.out.println(getValue(2));//没有default就10,有的话就18
}
}