Java继承知识之基本控制语句(if、switch与穿透现象)

一、if条件控制

1、简单说明
和其他编程语言的用法是一样的,

if(条件1){
	执行语句1;
}else if(条件2){
	执行语句2;
}else{
	执行语句3;
}

小括号内是判断条件,条件满足就执行大括号的内容,否则就执行else中的内容。

2、案例步骤:输入考试成绩,输出奖金
(1)使用scanner录入考试成绩
(2)判断成绩是否在合法范围内0~100非法的话,给出错误提示
(3)在合法的语句块中判断成绩范围符合哪一个奖金并给出对应的奖励。

3、参考源码

import java.util.Scanner;  //导入键盘输入的库
public class Test02{
    
      //类名定义(有public的必须和文件名同名)
	public static void main(String[] args){
    
      //主函数定义
		Scanner sc = new Scanner(System.in);  //实例化出一个键盘输入的对象sc
		System.out.println("请输入你的成绩:");  //提示输入的语句
		int score = sc.nextInt();  //使用Scanner的对象sc录入考试成绩
		if(score >= 90 && score <=100){
    
    
			System.out.println("恭喜你,获得了100刀大奖!");  //给出奖金
		}else if(score >= 80 && score <90){
    
    
			System.out.println("恭喜你,获得了80刀大奖!");  //给出奖金
		}else if(score >= 60 && score <80){
    
    
			System.out.println("恭喜你,获得了50刀大奖!");  //给出奖金
		}else if(score >= 0 && score < 60){
    
    
			System.out.println("恭喜你,获得了1刀小奖,还是好好努力吧~~");  //给出奖金
		}else{
    
      //如果分数不在0-100之间,则提示输出错误
			System.out.println("你输入的成绩有错,请你诚实!");
		}
	}
}

1.2.1

二、switch条件控制语句

1、简单说明

swtich(表达式或变量){
	case 值1:
		语句体1;
		break;
	case 值2:
		语句体2;
		break;
	case 值3:
		语句体3;
		break;
	......
	default:
		语句体n;
}

将要被匹配的值,取值为byte、short. int. char , JDK5以后可以是枚举,JDK7I以后可以是String。
case:后面跟的是要和表达式进行比较的值(被匹配的值)。
break:表示中断,结束的意思,用来结束switch语句。
default:表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。

2、switch穿透现象
(1)在switch语句中,如果case控制的语句体后面不写break ,将出现穿透现象。
(2)具体表现为当开始case穿透,后续的case就不会具有匹配效果,内部的语句都会执行直到看见break ,或者将整体switch语句执行完毕,才会结束。
(3)应用场景是当发现switch语句中,多个case给出的语句体出现了重复的,就可以考虑使用case穿透来优化代码。

3、案例:输入星期,输出是否为工作日

import java.util.Scanner;  //导入键盘输入的库
public class Test02{
    
      //类名定义(有public的必须和文件名同名)
	public static void main(String[] args){
    
      //主函数定义
		Scanner sc = new Scanner(System.in);  //实例化出一个键盘输入的对象sc
		System.out.println("今天星期几:");  //提示输入的语句
		int this_week = sc.nextInt();  //(1)使用Scanner的对象sc录入星期数
		switch(this_week){
    
    
			case 1:  //利用穿透现象,因为星期1-星期5都是工作日
			case 2:
			case 3:
			case 4:
			case 5: 
				System.out.println("好好加油,今天是工作日!");  //给出为工作日
				break;
			case 6: 
				System.out.println("好好休息,今天是休息日~");  //给出为休息日
				break;
			case 7:
				System.out.println("准备出发,今天是出游日~");  //给出为出游日
				break;
			default: 
				System.out.println("请你诚实,没有星期" + this_week + "哦!");  //给出为错误提示
		}
	}
}

2.3.1

猜你喜欢

转载自blog.csdn.net/Viewinfinitely/article/details/119887364