在Java中有一个与if-else作用相似的东西,那就是switch-case。
它有以下规则:
- switch 语句中的变量类型可以是: byte、short、int 或者 char。从 Java SE 7 开 始,switch 支持字符串 String 类型了,同时 case 标签必须为字符串常量或字面 量。
- switch 语句可以拥有多个 case 语句。每个 case 后面跟一个要比较的值和冒号。
- case 语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量。
- 当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句。
- 当遇到 break 语句时,switch 语句终止。程序跳转到 switch 语句后面的语句执行。case 语句不必须要包含 break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句。
- switch 语句可以包含一个 default 分支,该分支一般是 switch 语句的最后一个分 支(可以在任何位置,但一般在最后一个)。default 在没有 case 语句的值和变量值相等的时候执行。default 分支不需要 break 语句。(如果case语句中没有break 语句,程序会一直执行到default 分支)
原文链接:https://blog.csdn.net/weixin_42352733/article/details/122536482
switch的语法格式:
switch (表达式) {
case 常量表达式或枚举常量:
语句;
break;
case 常量表达式或枚举常量:
语句;
break;
......
default: 语句;
break;
}
这里有一个实例:
要根据学生的成绩等级,判断学生的成绩范围。我们规定
A
等级 代表90~100
分,B
等级代表80~89
分,C
等级代表70~79
分,D
等级代表60~69
分,E
等级代表0~59
分,如果是A~E
以外的字母,用Unknown level
表示。
public class Solution {
public String getRange(String level) {
String str="";
// write your code here
switch(level){
case "A":
str = "90~100";
break;
case "B":
str = "80~89";
break;
case "C":
str = "70~79";
break;
case "D":
str = "60~69";
break;
case "E":
str = "0~59";
break;
default:
str = "Unknown level";
break;
}
return str;
}
}
这就是Java中Switch-case语句的基本用法