Java中的switch分支注意点

Java中的switch分支是属于Java中的条件判断中的一种,另一大类属于if...else这种,下面说一下switch分支的几个特点

一、格式

1
2
3
4
5
6
7
8
9
10
11
switch(值){
    case 1 :
           语句01;
           break;
    case 2 :
           语句02;
           break;
      ......
    default  :
           语句n;
}

①、case后面接的值,是一个具体的值 :数字、字符、字符串

②、结束的标志:一种是遇到break语句,一种是代码执行到最后位置,也就是switch代码的末尾

二、case穿透

当case语句中,没有break时,程序不判断下一句case的值,直接执行下一句case的代码语句,直至遇到break停止

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package com.test.shuzu;
 
public class Switch02 {
 
    public static void main(String[] args) {
        switch_02();
    }
    private static void switch_02() {
        int a = 'S';
 
        switch (a) {
        case 'S':
            System.out.println("S");
        case 's':
            System.out.println("s");
        case 'a':
            System.out.println("a");
        default:
            System.out.println("默认");
        }
    }
 
}

 执行结果:

S
s
a
默认

三、default语句

default语句在整个switch分支中,有它的特殊性。

首先,default语句可以不放在最后,可以放在switch中的任意位置,但是要注意,如果default如果在其他位置,要加break语句,否则会产生case穿透现象。

其次,default如果在最后,就无需加break;

然后,default语句可以看成是另一种case语句,当其他case不符合条件时,就执行default语句

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package com.test.shuzu;
 
public class Switch01 {
    public static void main(String[] args) {
        switch_01();
    }
 
    private static void switch_01() {
        int a = 'S';
 
        switch (a) {
        case 's':
            System.out.println("s");
            break;
        case 'a':
            System.out.println("a");
            break;
        default:
            System.out.println("默认");
        }
    }
}

 执行结果为:默认

最后,无论default的位置在哪,代码总是先执行所有的case语句,最后执行的default语句;

 

posted @   豆芽花花儿酱  阅读(1184)  评论(0编辑  收藏  举报
编辑推荐:
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 2 本地部署DeepSeek模型构建本地知识库+联网搜索详细步骤
点击右上角即可分享
微信分享提示