一、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