package com.yl.pdfdemo.day01;
import java.util.Scanner;
/**
* @Author wfj
* @Date 2021/1/16
* @Description switch-case的使用
* @Version 1.0
*/
public class SwitchCaseTest {
public static void main(String[] args) {
/**
* 分子结构二:switch-case
*
* switch(表达式) {
* case 常量1:
* 执行语句1;
* break;
* case 常量2:
* 执行语句2;
* break;
* .
* .
* .
* default:
* 执行语句n
* break;
* }
* 说明:
* 根据switch中的值与case的常量比较,如果相等就执行里面的代码块,这里注意:加break代表执行完相应的代码块之后就跳出switch
* 如果不加break,当满足一个条件时,其下面的所有的case的常量都不会再与表达式作比较,而是直接执行它们的代码
*
* 注意:switch中的表达式只支持6中类型:byte short char int 枚举类型 String !!!!!!!!!!!!!!
*所以:凡是可以用switch-case的地方,都可以用if-else来代替,反之不成立
* 当case中多个常量所要执行的代码相同时,则可以合并常量值
*
*
*/
int num = 3;
switch (num) {
case 1:
System.out.println("1");
break;
case 2:
System.out.println("2");
break;
case 3:
System.out.println("3");
break;
default:
System.out.println("0");
break;
}
//练习,判断是否合格
int num1 = 78;
switch (num1 /10) {
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("不及格");
break;
case 6:
case 7:
case 8:
case 9:
case 10:
System.out.println("及格");
break;
}
//练习,通过键盘输入2020年的某一个月,和某一天,输出这一天是为2020年的第几天
Scanner scanner = new Scanner(System.in);
System.out.println("请输入月份:");
int month = scanner.nextInt();
System.out.println("请输入天:");
int day = scanner.nextInt();
int sumDay = 0;
// //可以通过if-else来实现,不过太冗余
// if (month == 1) {
// sumDay = day;
// } else if (month == 2) {
// sumDay = 31 + day;
// } else if (month == 3) {
// sumDay = 31 + 28 +day;
// }
// ...........
// else {
// sumDay = .....
// }
//通过switch-case来实现
switch (month) {
case 12:
sumDay += 30;
case 11:
sumDay += 31;
case 10:
sumDay += 30;
case 9:
sumDay += 31;
case 8:
sumDay += 31;
case 7:
sumDay += 30;
case 6:
sumDay += 31;
case 5:
sumDay += 30;
case 4:
sumDay += 31;
case 3:
sumDay += 28;
case 2:
sumDay += 31;
case 1:
sumDay += day;
}
System.out.println("2020年的"+month+"月"+day+"日是2020年的第"+sumDay+"天");
//闰年的情况下
System.out.println("请输入年份");
int year = scanner.nextInt();
System.out.println("请输入月份");
int nMonth = scanner.nextInt();
System.out.println("请输入天数");
int nDay = scanner.nextInt();
switch (month) {
case 12:
sumDay += 30;
case 11:
sumDay += 31;
case 10:
sumDay += 30;
case 9:
sumDay += 31;
case 8:
sumDay += 31;
case 7:
sumDay += 30;
case 6:
sumDay += 31;
case 5:
sumDay += 30;
case 4:
sumDay += 31;
case 3:
sumDay += 28;
//判断是否是闰年
//能被4整除且不能被100整除或者能被400整除
if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
sumDay += 29;
} else {
sumDay +=28;
}
case 2:
sumDay += 31;
case 1:
sumDay += day;
}
System.out.println(year+"年的"+nMonth+"月"+nDay+"日是2020年的第"+sumDay+"天");
}
}
java--switch-case的使用
最新推荐文章于 2023-03-27 19:33:27 发布