Java switch case用法详解
Java 中除了 if else 语句,switch case 也可以完成流程控制。
与 if 不同的是,switch case 只能完成等值判断,即条件如果是判断两个值是否相等,可以使用 switch case,如果是比较两个值的大小关系,则不能使用 switch case。
此外,switch 支持 int、short、byte、char、枚举、String 数据类型的判断,不支持 boolean 类型。
switch case 语句的基本语法如下:
用 if else 来类比,等同于
【实例】小明参加马拉松比赛,获得第 1 名奖励 2000 元,获得第 2 名奖励 1000 元,获得第 3 名奖励 500 元,否则没有奖励。请分别用 if else 和 switch case 实现这一场景。
需要注意的是,每一个 case 语句必须要跟 break,表示结束当前的代码块,如果不跟 break,则从当前的 case 语句起,后面所有的 case 判断都失效,会直接执行对应的代码块。
举个简单的例子:
与 if 不同的是,switch case 只能完成等值判断,即条件如果是判断两个值是否相等,可以使用 switch case,如果是比较两个值的大小关系,则不能使用 switch case。
此外,switch 支持 int、short、byte、char、枚举、String 数据类型的判断,不支持 boolean 类型。
switch case 语句的基本语法如下:
switch(变量){ case 值1: 代码1; break; case 值2: 代码2; break; ...... default: 代码n; break; }case 判断变量是否等于某个值,default 表示所有 case 都不成立的情况下所执行的代码。
用 if else 来类比,等同于
if(变量==值1){ 代码1; } else if(变量==值2){ 代码2; } ...... else{ 代码n; }
【实例】小明参加马拉松比赛,获得第 1 名奖励 2000 元,获得第 2 名奖励 1000 元,获得第 3 名奖励 500 元,否则没有奖励。请分别用 if else 和 switch case 实现这一场景。
public class Test { public static void main(String[] args) { int placing = 1; if(placing == 1){ System.out.println("奖励2000元"); }else if(placing == 2){ System.out.println("奖励1000元"); }else if(placing == 3){ System.out.println("奖励500元"); }else{ System.out.println("没有奖励"); } switch (placing) { case 1: System.out.println("奖励2000元"); break; case 2: System.out.println("奖励1000元"); break; case 3: System.out.println("奖励500元"); break; default: System.out.println("没有奖励"); break; } } }运行结果为:
奖励2000元
奖励2000元
需要注意的是,每一个 case 语句必须要跟 break,表示结束当前的代码块,如果不跟 break,则从当前的 case 语句起,后面所有的 case 判断都失效,会直接执行对应的代码块。
举个简单的例子:
public class Test { public static void main(String[] args) { int placing = 1; switch (placing) { case 1: System.out.println("奖励2000元"); case 2: System.out.println("奖励1000元"); case 3: System.out.println("奖励500元"); default: System.out.println("没有奖励"); } } }运行结果为:
奖励2000元
奖励1000元
奖励500元
没有奖励