switch-case学习
习题代入
习题1: switch-case的可合并性:
/*
例题:对学生成绩大于60分,输出合格;低于60份的,输出不合格。
说明:如果switch-case结构中的多个case执行语句相同,则可以考虑进行合并。(其实还是之前的内容:没写break,顺序执行)
如果/60,可以更快得出结果
*/
class SwitchCaseTest1{
public static void main(String args[]){
int score = 78/10;
switch(score){
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("不及格");
break;
default:
System.out.println("及格");
break;
}
//简便写法
int defen = 78/60;
switch(defen){
case 0:
System.out.println("不及格");
case 1:
System.out.println("及格");
}
}
}
利用合并性再写一个季节判断
//习题3 根据指定月份判断属于哪个季节
```java
```java
import java.util.Scanner;
class panduan{
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入月份(0-12)");
int season = scan.nextInt();
switch(season){
case 1:
case 2:
case 3:
System.out.println("春天");
break;
case 4:
case 5:
case 6:
System.out.println("夏天");
break;
case 7:
case 8:
case 9:
System.out.println("秋天");
break;
case 10:
case 11:
case 12:
System.out.println("冬天");
break;
}
}
}
习题2:switch-case中 break的使用及注意情况
从键盘上输入2020年的month和day,要求通过程序查询输入日期是2020年的第几天
//说明:break在switch-case中是可选的
import java.util.Scanner;
class test{
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入2020年的month:");
int month = scan.nextInt();
System.out.println("请输入2020年的day:");
int day = scan.nextInt();
/*
//定义一个变量保存总天数
int sumDays = 0;
if(month == 1){
sumDays = day;
}else if(month == 2){
sumDays = 31 + day;
}else if(month == 3){
sumDays = 31 + 28 +day;
}else if (month == 4){
sumDays = 31 + 28 + 31 +day;
}
//......用if-else太冗余了。
*/
int sumDays = 0;
//方式2:正序写switch同if-else一样
switch(month){
case 12:
sumDays += 30;
case 11:
sumDays += 30;
case 10:
sumDays += 30;
case 9:
sumDays += 30;
case 8:
sumDays += 30;
case 7:
sumDays += 30;
case 6:
sumDays += 31;
case 5:
sumDays += 30;
case 4:
sumDays += 31;
case 3:
sumDays += 28;
case 2:
sumDays += 31;
case 1:
sumDays += day;
}
System.out.println("2020年" + month + "月" + day +"日是当年的第" + sumDays + "天");
}
}
留个稍微难的题:
从键盘分别输入年、月、日,判断这一天是当年的第几天
1.判断一年是否是闰年的标准:
1)可以被4整除,但不可被100整除
2)可以被400整除