Java基础12----switch语句
Posted iostreamzl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础12----switch语句相关的知识,希望对你有一定的参考价值。
文章目录
引言
前面讲了if else分支结构,在Java中还有一种语句能用于分支结构,那就是switch语句。
switch语句介绍
与if else语句不同的是,if else中的判断条件要求的是布尔表达式,而switch判断的是一个确定的数值。且switch 语句仅能支持char,int,String,枚举类型的数据的判断
switch结构:
switch (数据)
case 值 :
条件满足时执行的语句
[break;]
case 值2 :
条件满足时执行的语句
[break;]
default :
条件都不满足时执行的语句
[break;]
在switch语句中break是可选的,但是是否写break语句,最终的结果差距很大。
示例1:不包含break语句
public class Demo
public static void main(String[] args)
// switch语句示例, 不包含break语句
int age = 18;
switch (age)
case 1 :
System.out.println("age = 1");
case 18 :
System.out.println("age = 18");
case 10 :
System.out.println("age = 10");
case 20 :
System.out.println("age = 20");
default :
System.out.println("no match age value");
观察结果,从满足条件开始,程序执行了后面的所有case下的语句,包括default语句
示例2:添加部分break语句
public class Demo
public static void main(String[] args)
// switch语句示例, 不包含break语句
int age = 18;
switch (age)
case 1 :
System.out.println("age = 1");
case 18 :
System.out.println("age = 18");
case 10 :
System.out.println("age = 10");
break;
case 20 :
System.out.println("age = 20");
break;
default :
System.out.println("no match age value");
break;
示例3:所有语句添加break语句
public class Demo
public static void main(String[] args)
// switch语句示例, 不包含break语句
int age = 18;
switch (age)
case 1 :
System.out.println("age = 1");
break;
case 18 :
System.out.println("age = 18");
break;
case 10 :
System.out.println("age = 10");
break;
case 20 :
System.out.println("age = 20");
break;
default :
System.out.println("no match age value");
break;
观察上面的结果,我们可以总结出switch语句的执行特点:
如果判断的数据与case后的值相同,则从该case后的语句开始执行,并且知道遇到break语句跳出switch语句结构,如果没有遇到break语句,则会将后续的语句全部执行,直到结束switch语句。
总结
switch语句判断的是一个数据是否等于一个值,他的判断条件并不是布尔表达式,**且switch语句是在遇到break之后才停止执行,**所有在写代码的时候,如果不是必要的情况,必须加上break语句。
以上是关于Java基础12----switch语句的主要内容,如果未能解决你的问题,请参考以下文章