一、Switch语句的基本用法
Switch语句是Java中用于选择性执行语句的结构,它的基本语法如下:
switch (expression) {
case value1:
// 在expression等于value1时执行的语句
break;
case value2:
// 在expression等于value2时执行的语句
break;
...
default:
// 在expression不等于任何一个case时执行的语句
break;
}
其中,expression可以是一个常量、变量或表达式,case后的value可以是常量或字面量,如果某个case匹配成功,则执行对应的语句块,并执行break语句跳出switch语句,如果所有case都没有匹配成功,则执行default语句块。
例如:
public class Main {
public static void main(String[] args) {
int num = 2;
switch (num) {
case 1:
System.out.println("Monday");
break;
case 2:
System.out.println("Tuesday");
break;
case 3:
System.out.println("Wednesday");
break;
default:
System.out.println("OtherDay");
break;
}
}
}
输出结果为:Tuesday
二、Switch语句的注意事项
1、case值必须是唯一的,不可重复。
2、case后的value值必须是常量或字面量,不能为变量。
3、Switch语句在匹配时使用的是“==”运算符,因此匹配的对象必须具有相同的数据类型,或者可以进行类型转换。
例如:
char ch = 'a';
switch (ch) {
case 'a':
System.out.println("This is a");
break;
// case后的字符会被转换成整型,如果相等则匹配成功
case 97:
System.out.println("This is 97");
break;
default:
System.out.println("Other");
break;
}
输出结果为:This is a
4、Switch语句的表达式可以是null,这种情况下只能匹配default分支。
例如:
String str = null;
switch (str) {
case "A":
System.out.println("This is A");
break;
case "B":
System.out.println("This is B");
break;
default:
System.out.println("Other");
break;
}
输出结果为:Other
三、Switch语句的嵌套使用
Switch语句可以嵌套使用,内部的Switch语句可以作为外部Switch语句的case分支。
例如:
public class Main {
public static void main(String[] args) {
int num1 = 2, num2 = 3;
switch (num1) {
case 1:
System.out.println("Monday");
break;
case 2:
switch (num2) {
case 1:
System.out.println("Tuesday1");
break;
case 2:
System.out.println("Tuesday2");
break;
default:
System.out.println("Other");
break;
}
break;
case 3:
System.out.println("Wednesday");
break;
default:
System.out.println("OtherDay");
break;
}
}
}
输出结果为:Tuesday2
四、Switch语句的应用场景
Switch语句可以用于替代一系列的if-else语句,使代码更加简洁易读。
例如:
public class Main {
public static void main(String[] args) {
String str = "apple";
if (str.equals("apple")) {
System.out.println("100");
} else if (str.equals("banana")) {
System.out.println("200");
} else if (str.equals("orange")) {
System.out.println("300");
} else if (str.equals("peach")) {
System.out.println("400");
} else {
System.out.println("500");
}
}
}
可以改写为:
public class Main {
public static void main(String[] args) {
String str = "apple";
switch (str) {
case "apple":
System.out.println("100");
break;
case "banana":
System.out.println("200");
break;
case "orange":
System.out.println("300");
break;
case "peach":
System.out.println("400");
break;
default:
System.out.println("500");
break;
}
}
}
输出结果相同。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/190967.html
微信扫一扫
支付宝扫一扫