Java switch 详解

Java switch 详解switch语句由一个控制表达式和多个case标签组成。switch控制表达式支持的类型有byte、short、char、int、enum(Java5)、String(Java7)。swi

大家好,又见面了,我是你们的朋友全栈君。

switch 语句由一个控制表达式和多个case标签组成。

switch 控制表达式支持的类型有byte、short、char、int、enum(Java 5)、String(Java 7)。

switch-case语句完全可以与if-else语句互转,但通常来说,switch-case语句执行效率要高。

default在当前switch找不到匹配的case时执行。default并不是必须的。

一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break。

1语法格式

Java | 
复制

1
2
3
4
5
6
7
8
9
10
11
switch 
(表达式) {
case 
条件
1
:
    
语句
1
;
    
break
;
case 
条件
2
:
    
语句
2
;
    
break
;
...
default
:
    
语句;
}

2使用示例

int类型switch示例

Java | 
复制

1
2
3
4
5
6
7
8
9
10
11
12
13
14
int 
i = 
3
;
switch 
(i) {
case 
1
:
    
System.out.println(
1
);
    
break
;
case 
2
:
    
System.out.println(
2
);
    
break
;
case 
3
:
    
System.out.println(
3
);
    
break
;
default
:
    
System.out.println(
0
);
}

枚举(Enum)类型switch示例

Java | 
复制

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package 
net.xsoftlab.baike;
 
public 
class 
TestSwitch {
 
    
static 
enum 
E {
        
A, B, C, D
    
}
 
    
public 
static 
void 
main(String args[]) {
        
E e = E.B;
        
switch 
(e) {
        
case 
A:
            
System.out.println(
"A"
);
            
break
;
        
case 
B:
            
System.out.println(
"B"
);
            
break
;
        
case 
C:
            
System.out.println(
"C"
);
            
break
;
        
case 
D:
            
System.out.println(
"D"
);
            
break
;
        
default
:
            
System.out.println(
0
);
        
}
    
}
}

String类型switch示例

Java | 
复制

1
2
3
4
5
6
7
8
9
10
11
12
13
14
String str = 
"C"
;
switch 
(str) {
case 
"A"
:
    
System.out.println(
"A"
);
    
break
;
case 
"B"
:
    
System.out.println(
"B"
);
    
break
;
case 
"C"
:
    
System.out.println(
"C"
);
    
break
;
default
:
    
System.out.println(
0
);
}

3break

break在switch中用于结束当前流程。

一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break。

忘记写break的陷阱

示例:

Java | 
复制

1
2
3
4
5
6
7
8
9
10
11
int 
i = 
2
;
switch 
(i) {
case 
1
:
    
System.out.println(
1
);
case 
2
:
    
System.out.println(
2
);
case 
3
:
    
System.out.println(
3
);
default
:
    
System.out.println(
0
);
}

输出结果:

Java | 
复制

1
2
3
2
3
0

巧用break

实例:输出2015年指定月份的最大天数

Java | 
复制

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
int 
year = 
2015
;
int 
month = 
8
;
int 
day = 
0
;
switch 
(month) {
case 
1
:
case 
3
:
case 
5
:
case 
7
:
case 
8
:
case 
10
:
case 
12
:
    
day = 
31
;
    
break
;
case 
2
:
    
day = 
28
;
    
break
;
case 
4
:
case 
6
:
case 
9
:
case 
11
:
    
day = 
30
;
    
break
;
}
 
System.out.println(day);

4default

default在当前switch找不到匹配的case时执行。default并不是必须的。

示例:

Java | 
复制

1
2
3
4
5
6
7
8
9
int 
x = 
0
;
switch 
(x) {
case 
1
:
    
System.out.println(
1
);
case 
2
:
    
System.out.println(
2
);
default
:
    
System.out.println(
"default"
);
}

输出结果:

Java | 
复制

1
default

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/154345.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • git删除远程分支

    1.git删除远程分支gitpushorigin–delete[branch_name]2.删除本地分支区别gitbranch-d会在删除前检查merge状态(其与上游分支或者与head)。gitbranch-D是gitbranch–delete–force的简写,它会直接删除。共同点都是删除本地分支的方法(与删除远程分支命令相独立,要想本地和远程都删除,必须得运行两个命令)。3.git查看分支:查看本地分支gitbranch查看远程分支

  • 分治策略结合递归思想求最大子序列和

    分治策略结合递归思想求最大子序列和

  • 通过Java实现求水仙花数「建议收藏」

    通过Java实现求水仙花数「建议收藏」用户输入一个数,判断是否是”水仙花数”,所谓”水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个”水仙花数”,因为153=1的三次方+5的三次方+3的三次方。程序同用户交互是通过Scanner来实现的,jdk中封装了一个类Scanner,该类的职责就是接收键盘的输入值,并保存到程序的变量中,体现了程序和用户的交互功能,适合新手学习。

  • vmware15激活码【2021.8最新】

    (vmware15激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html70YZDJVTFP-eyJsa…

  • docker安装与启动

    docker安装与启动docker安装与启动

  • 2021版idea激活码99年csdn_在线激活

    (2021版idea激活码99年csdn)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号