笔试题:Java8 中 switch 循环

前置知识

Java8 的 switch语句语法

switch(表达式) {
    case 值1:
        语句块1;
        break;
    case 值2:
        语句块2;
        break;
    …
    case 值n:
        语句块n;
        break;
    default:
        语句块n+1;
}

switch语句执行流程如下图

Java8 switch语句中的注意点

  1. switch入口表达式类型必须为 byte,short,int,char,String类型
    • 不能是 StringBuffer 或 StringBuilder 这两种字符串的类型

  2.  条件 case 值类型为byte、 short 、 int、char、String的常量表达式和枚举常量
    • 重复的 case 值是不允许的
    • 重点:如果在 case 分支语句的末尾没有 break 语句,有可能触发多个 case 分支。那么就会接着执行下一个 case 分支语句或者 default 语句
  3. default 块和 case 块的先后顺序可以变动,不会影响程序执行结果。通常 default 块放在末尾,也可以省略 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
    }
}

 

posted @ 2022-07-01 23:11  伊文小哥  阅读(847)  评论(0编辑  收藏  举报