MST

星途 面试题库

面试题:Java中switch语句的细节考察

在Java中,switch语句可以接受哪些数据类型作为参数?请举例说明。并且阐述当switch语句中没有匹配的case时,会发生什么情况,如果想要处理这种情况该如何做?
34.5万 热度难度
编程语言Java

知识考点

AI 面试

面试题答案

一键面试
  1. switch语句可接受的数据类型及举例
    • 整数类型
      • byte
byte b = 1;
switch (b) {
    case 1:
        System.out.println("匹配1");
        break;
    default:
        System.out.println("不匹配");
}
 - `short`:
short s = 2;
switch (s) {
    case 2:
        System.out.println("匹配2");
        break;
    default:
        System.out.println("不匹配");
}
 - `int`:
int i = 3;
switch (i) {
    case 3:
        System.out.println("匹配3");
        break;
    default:
        System.out.println("不匹配");
}
  • 字符类型char
char c = 'a';
switch (c) {
    case 'a':
        System.out.println("匹配a");
        break;
    default:
        System.out.println("不匹配");
}
  • 枚举类型
enum Weekday {
    MONDAY, TUESDAY, WEDNESDAY
}
Weekday day = Weekday.MONDAY;
switch (day) {
    case MONDAY:
        System.out.println("周一");
        break;
    default:
        System.out.println("其他");
}
  • 字符串类型(从Java 7开始支持)
String str = "hello";
switch (str) {
    case "hello":
        System.out.println("匹配hello");
        break;
    default:
        System.out.println("不匹配");
}
  1. 当switch语句中没有匹配的case时
    • 如果没有匹配的case且没有default语句,switch语句将不执行任何case分支中的代码,直接结束switch语句。
    • 如果有default语句,当没有匹配的case时,会执行default分支中的代码。例如上述代码中的default分支输出“不匹配”。default语句一般作为一种兜底机制,用于处理未预料到的情况。