1 选择语句常规用法
switch语法如下:
swicth(输入的变量){
case 1 : //如果变量等于1
System.out.println("星期一");
break;
case 2 : //如果变量等于2
System.out.println("星期二");
break;
default: // 如果变量不是1和2
System.out.println("输入的信息有误!");
break;
}
实验代码如下:
package demo;
import java.util.Scanner;
public class Demo1 {
public static void main(String[] args) {
while (true) {
System.out.println("输入一个数字");
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
switch (a) {
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;
case 7:
System.out.println("星期七");
break;
default:
System.out.println("你输入的信息有误!");
break;
}
}
}
}
实验结果如下:
2 switch穿透用法
如果不写break,当碰到符合的情况(case)时,会向下执行,不论下面的语句符不符合都会执行! 实验代码如下:
package demo;
import java.util.Scanner;
public class Demo1 {
public static void main(String[] args) {
while (true) {
System.out.println("输入一个数字");
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
switch (a) {
case 1:
System.out.println("星期一");
case 2:
System.out.println("星期二");
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
case 5:
System.out.println("星期五");
case 6:
System.out.println("星期六");
case 7:
System.out.println("星期七");
default:
System.out.println("你输入的信息有误!");
}
break;
}
}
}
当输入1时,先执行case 1的内容,然后向下穿透,由于case 3有break,因此只会穿透到case 3,然后结束该选择体。
当输入4时,先执行case 4的内容,然后向下穿透,由于底下的语句都没有写break,所以都会执行完。
具体用法:输入一个月份判断其属于什么季节。具体代码如下:
package demo;
import java.util.Scanner;
public class Demo1 {
public static void main(String[] args) {
while (true) {
System.out.println("输入一个月份");
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
switch (a) {
case 3:
case 4:
case 5:
System.out.println("春季");
break;
case 6:
case 7:
case 8:
System.out.println("夏季");
break;
case 9:
case 10:
case 11:
System.out.println("秋季");
break;
case 12:
case 1:
case 2:
System.out.println("冬季");
break;
default:
System.out.println("你输入的信息有误!");
}
}
}
}
结果如下: