首先看一道题:
根据输入的值,判断当前季节(分别用if语句和switch语句实现)3,4,5 属于春季,6,7,8 属于夏季,9,10,11属于秋季,12,1,2属于冬季(考虑非法数据).
分析:一个很简单的问题,需要用两种方式来进行实现.
1.if
if方式;将if中的条件判定用 || 进行连接,五条语句即可实现;
- Swich…case
Swich…case方式;第一反应是输出13条case,可是这样代码太多了,有没有方式将其进行改良,.首先考虑if语句中的||,发现这样是不可以的,最后采用case穿透,将三条语句合为一句即可.
case穿透:case语句中没有break,便会向下执行,直到遇到break跳出swich.
//根据输入的值,判断当前季节(分别用if语句和switch语句实现)
import java.util.Scanner;
public class text3 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入:");
int x = sc.nextInt();
/* if方式
if (x<0 || x>12){
System.out.println("违规字符");
} else if (x==3 || x==4 ||x==5){
System.out.println("属于春季");
}else if (x==6 || x==7 ||x==8){
System.out.println("属于夏季");
}else if (x==9 || x==10 ||x==11){
System.out.println("属于秋季");
}else if (x==12 || x==1 ||x==2){
System.out.println("属于冬季");
}
*/
switch (x){
case 3:
case 5:
case 4:
System.out.println("春季");
break;
case 6:
case 7:
case 8:
System.out.println("夏季");
break;
case 9:
case 10:
case 11:
System.out.println("秋季");
break;
case 12:
case 1:
case 2:
System.out.println("冬季");
break;
default:
System.out.println("违规数值");
break;
}
}
}