2020-12-18 switch-case结构

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整除

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值