1.switch后面的括号里面只能是自动类型转换成int,(short、char、int、byte)
2.case后面只能跟自动类型转换成int的常量或者常量表达式
3.case后面的常量必须唯一
4.case和default顺序可以交换,前提是case和default加了break
5.在case后面如果有多条语句,可以不用加花括号
举第1个栗子:输入两个数和运算符,输出结果
package com.c_String;
import java.util.Scanner;
import java.util.Scanner;
public class switchcase3 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入两个整数");
int num1 = sc.nextInt();
int num2 = sc.nextInt();
System.out.println("请输入运算符");
char a = sc.next().charAt(0);
switch(a) {
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 '/':
if(num2==0) {
System.out.println("除数不能为0");
break;
}
System.out.println(num1+"/"+num2+"="+(num1*1.0/num2));break;
default:System.out.println("运算符有误");
}
}
}
举第2个栗子:要求通过程序 输出输入的日期为2019年的第几天。
package com.c_String;
import java.util.Scanner;
public class swichcaseDemo {
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
System.out.println("请输入月份:");
int month = scan.nextInt();
System.out.println("请输入日期:");
int day = scan.nextInt();
int sum = 0;
switch(month){
case 12:
sum += 31;
case 11:
sum += 30;
case 10:
sum += 31;
case 9:
sum += 30;
case 8:
sum += 31;
case 7:
sum += 31;
case 6:
sum += 30;
case 5:
sum += 31;
case 4:
sum += 30;
case 3:
sum += 31;
case 2:
sum += 28;
case 1:
sum += day;
}
System.out.println("2019年"+month+"月"+day+"号是该年的第"+sum+"天");
}
}