Switch 语句
-
switch语句也是选择语句,也可以叫做分支语句。
-
switch语句的语法格式:
switch(值){
case 值1:
java语句;
break;
case 值2:
java语句;
break;
default:
java语句;
}
以上是一个完整的switch语句:
其中,break语句和default分支都不是必须的。
switch语句支持的值有哪些?
支持int类型以及String类型。
byte,short,char因为类型转换也可以支持,但是long转int 即大转小会损失精度。
-
switch语句的执行原理。
拿“值”与 “值1”进行比较,如果相同,则执行改分支中的java语句,然后遇到break语句,switch结束。
如果不相同,会继续往下进行比较。
**注意:**如果分支执行了,但是分支最后没有break语句,此时会发生case穿透现象。“值”与“值1”比较并且执行了对应分支后,会不再比较继续执行下去,直到遇到break语句。所有case都不匹配则执行default。
案例
题目要求:
从键盘输入1-7,每个数字对应周几,例如:输入1,则输出今天是周一,输入2,输出今天是周二,以此类推。
package com.cooler.Base;
import java.util.Scanner;
public class IfTest02 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int d = sc.nextInt();
System.out.println("请输入相应的数字:");
switch(d){
case 1:
System.out.println("今天是周一");
break;
case 2:
System.out.println("今天是周二");
break;
case 3:
System.out.println("今天是周三");
break;
case 4:
System.out.println("今天是周四");
break;
case 5:
System.out.println("今天是周五");
break;
case 6:
System.out.println("今天是周六");
break;
default:
System.out.println("今天是周日");
break;
}
}
}
倘若题目要求改成:输入1、2、3、4、5都输出今天是工作日,输入6、7输出今天是周末。
package com.cooler.Base;
import java.util.Scanner;
public class IfTest02 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int d = sc.nextInt();
System.out.println("请输入相应的数字:");
switch(d){
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("今天是工作日");
break;
case 6:
case 7:
System.out.println("今天是周末");
break;
}
}
}
控制语句:
-
控制语句的出现可以让我们的程序具有逻辑性、条理性,可以使用控制语句来实现一个"业务"。
-
控制语句包括几类:
3类:
选择语句:也可以叫做分支语句——if语句和switch语句。
循环语句:主要循环反复的去执行某段特定的代码块。——for循环、while循环、do…while…循环。
转向语句: break、continue、return。