switch语句属于选择结构
语法结构:
switch(int或string类型的字面值或是变量){
case int 或string类型的字面值或是变量:
java语句;
break;
case int 或string类型的字面值或是变量:
java语句;
break;
default;
java语句;
}
switch以及case后面只能是int或是string类型的数据(byte short char 也可以)
switch语句的演示
/*
实现用户的键盘输入
用户输入1 输出星期一
用户输入2 输出星期二
以此类推
*/
public class SwitchTest1{
public static void main(String[] args){
java.util.Scanner s= new java.util.Scanner(System.in);
System.out.print("请输入数字");
int num = s.nextInt();
switch(num){
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("输入有误");
}
}
}
case穿透的演示:如果不加break语句,不论匹配成功与否都会继续执行,直到遇到break
case合并的演示:case合并可以同时满足不同的条件
可以看到,case 1 与case 0 合并,我们在键盘上输入0或是1都可以执行第一条语句
简单计算器的做法:
可以实现加减乘除求余数的简单运算
public class SwitchTest2{
public static void main(String[] args){
java.util.Scanner s = new java.util.Scanner(System.in);
System.out.println("欢迎使用计算器!");
System.out.print("请输入第一个数字");
int num1 = s.nextInt();
System.out.print("请输入运算符");
String f = s.next();
System.out.print("请输入第二个数字");
int num2 = s.nextInt();
switch((String)f){
case "+" :
System.out.println(num1+"+"+num2+"="+(num1+num2));
break;
case "-":
System.out.println(num1+"-"+num2+"="+(num1-num2));
break;
case "*":
System.out.println(num1+"*"+num2+"="+(num1*num2));
break;
case "/":
System.out.println(num1+"/"+num2+"="+(num1/num2));
break;
case "%":
System.out.println(num1+"%"+num2+"="+(num1%num2));
break;
default :
System.out.println("非法的公式");
}
}
}