一、switch语句基本用法
switch语句用于多分支选择结构,根据不同的情况执行不同的代码块。switch语句的基本语法如下:
switch(表达式) {
case 常量1 : 语句1; break;
case 常量2 : 语句2; break;
case 常量3 : 语句3; break;
default: 默认语句;
}
其中,case后面跟的是常量或枚举值,表达式和常量值的数据类型必须一致。default为可选项,如果所有的case都不匹配,则执行default中的代码块。
以下是一个简单的例子,通过switch语句判断输入的数字是1、2、3三个数字中的哪一个:
import java.util.Scanner;
public class SwitchDemo {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入数字(1-3):");
int num = input.nextInt();
switch(num) {
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("输入错误!");
}
}
}
二、switch语句的特性
switch语句与if语句不同的是,switch语句只能用于判断常量或枚举类型,而不能用于布尔类型或其他数据类型。此外,switch语句有以下特性:
- switch语句可通过break语句跳出多重嵌套的switch语句。
- case后面可以加多个常量值,以逗号隔开,表示多个条件执行相同的语句。
- case语句块中的声明语句必须用花括号包含起来。
三、switch语句的应用场景
switch语句适合于条件比较简单、分支路径比较少的情况,因为等价的if语句会显得冗长、可读性差。例如:对于枚举类型的判断,switch语句比if语句更加适合。
public enum Weekday {
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY
}
public class SwitchEnumDemo {
public static void main(String[] args) {
Weekday day = Weekday.TUESDAY;
switch(day) {
case MONDAY:
System.out.println("今天是星期一");
break;
case TUESDAY:
System.out.println("今天是星期二");
break;
case WEDNESDAY:
System.out.println("今天是星期三");
break;
case THURSDAY:
System.out.println("今天是星期四");
break;
case FRIDAY:
System.out.println("今天是星期五");
break;
case SATURDAY:
System.out.println("今天是星期六");
break;
case SUNDAY:
System.out.println("今天是星期日");
break;
default:
System.out.println("输入错误!");
}
}
}
四、switch语句的注意事项
在使用switch语句时需注意以下问题:
- case语句中的值不能重复。
- 如果case语句中没有break语句,则从匹配的语句开始依次执行所有的语句块,直到遇到break语句或switch语句结束。
- 如果default语句放在最后,则default语句可省略break语句。
- 如果表达式的值为null,则会抛出NullPointerException异常。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/238159.html
微信扫一扫
支付宝扫一扫