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

本文详细介绍了Java编程中的条件控制结构,包括if...else语句和switch语句的使用方法。通过案例演示了如何根据考试成绩分配奖金以及判断输入的星期是否为工作日。同时,解释了switch语句的穿透现象及其在代码优化中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鸿蒙Next

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值