7.java分支结构

本文详细介绍了Java中的条件控制结构,包括基本if语句、if-else语句、多分支if语句、if语句的嵌套以及switch语句的使用方法和执行流程。通过案例分析了如何根据不同的条件执行不同的代码块,以及在不同场景下选择if和switch的考量因素。

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

if语句

基本if语句

语句格式:

		 if ( 关系表达式 ) {
		 	  语句体;
		 }

执行流程:

  1. 首先计算关系表达式的值。
  2. 如果关系表达式的值为true就执行语句体。
  3. 如果关系表达式的值为false就不执行。
  4. 继续执行后面的语句体。

案例:
当王粱上个月销售额大于10000元,并且这个月销售额大于10000元,或者上个月销售额不小于15000元时,主管奖励他。

		//1.定义变量存储王梁上个月的销售额
		int lastMonth = 12000;
		//2.定义变量存储王梁这个月的销售额
		int thisMonth = 12000;
		if ((last>10000&&thisMonth>10000) ||last >=15000) {
			System.out.println("主管奖励");
		}

if-else语句

语句格式:

		 if ( 关系表达式 ) {
		 	  语句体1;
		 }else{
		 	  语句体2;
		 }

执行流程:

  1. 首先计算关系表达式的值。
  2. 如果关系表达式的值为true就执行语句体1。
  3. 如果关系表达式的值为false就执行语句体2。
  4. 继续执行后面的语句体。

案例:
使用条件选择语句判断一个变量的值是不是3的倍数,是的,则输出是3的倍数,否则输出不是3的倍数

		int number = 3;
		if (number%3==0) {
		//如果number对3取余,余数为0,那么number就是3的倍数
			System.out.println("是三的倍数");
		}else {
			System.out.println("不是三的倍数");
		}

多分支if语句

语句格式:

		 if ( 判断条件1 ) {
		 	  条件1成立执行的语句;
		 }else if ( 判断条件2 ){
		 	  条件2成立执行的语句;
		 }else if ( 判断条件3 ){
		 	  条件3成立执行的语句;
		 ……
		 else{
		 	  上面条件都不成立执行的语句;
		 }

执行流程:

  1. 首先计算判断条件1的值。
  2. 如果判断条件1的值为true就执行语句体1;如果值为false就计算判断条件2的值。
  3. 如果值为true就执行语句体2;如果值为false就计算判断条件3的值。
  4. ……
  5. 如果没有任何判断条件为true,就执行语句体n。

案例:
默认分数0-100.用A,B,C等级对学生的的成绩分类, 其中0 - 59是D, 60 – 69是C,70 – 89是B,90 – 100 是A等级

		int grade =80;
		if(grade>=90) {
			System.out.println("A等级");
		}else if (grade>=70) {
			System.out.println("B等级");
		}else if (grade>=60) {
			System.out.println("C等级");
		}else {
			System.out.println("D等级");
		}

if语句的嵌套

在if语句中再插入一个或多个if-else语句。
案例:
公司发年终奖,工龄满6个月才有年终奖,开发部奖励10万元,测试部奖励一辆车(默认只有开发部和测试部)。

	int workAge = 6;
	String dept = "开发部"; 
	if (workAge>=6) {
		if(dept.contentEquals("开发部")) {
			System.out.println("奖励10万元");
		}else {
			System.out.println("奖励一辆车");
		}
	}else {
		System.out.println("没有年终奖");
	}

switch语句

语句格式:

		switch (表达式){
			case1:
				语句体1;
				break;
			case2:
				语句体2;
				break;
			……
			default:
				语句体n;
				break;
		}

格式说明:

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

执行流程:

  1. 把表达式的值,一次和case后面的值进行比较,匹配成功就会执行对应的语句。在执行的过程中,遇到break就会结束。
  2. 如果所有的case都不匹配,就会执行default里面的语句,然后程序结束。

案例:

String lv = "达标";
		switch(lv) {
		case "达标":
			System.out.println("三等奖");
			break;
		case "出色":
			System.out.println("二等奖");
			break;
		case "标兵":
			System.out.println("一等奖");
			break;
		default:
			System.out.println("炒鱿鱼");
			break;
		}

注意事项:

  1. case后面的值只能是常量,不能是变量。
  2. case后面给出的值不允许重复。

if和switch的区别:

  1. switch能实现的功能if一定能实现,但if能实现的功能switch不一定能实现。
  2. 如果要进行的判断是范围性的判断,建议使用if;
  3. 如果要进行的判断是固定值的匹配,建议使用switch。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值