零基础学Java第四天之if分支语句

零基础学Java第四天之if分支语句

一、简单的if分支

1、语法结构

​ if(表达式){
​ …代码块…
​ }

2、理解

if ()里的表达式的结果必须是boolean类型
true – 执行代码块
false - 跳过if分支,执行if以外的代码块

3、做实验

​ if(false){
​ System.out.println(“…代码块…”);
​ }

		if(false){
		System.out.println("...代码块...");
		}
		System.out.println("if以外的代码块");
		//输出打印if以外的代码块	
		案例:如果麻生希的Java考试成绩大于98分,
			  麻生希就能获得辆法拉利作为奖励
			Scanner scan = new Scanner(System.in);
			//输入框
			System.out.println("请输入考试成绩:");
			double score = scan.nextDouble();
			if(score > 98){
			System.out.println("奖励麻生希法拉利玩具赛车一辆");
			}
			
		小结:
			if(){} 要么进入,要么不进入

二、复杂的if分支

1、案例一

# 案例一

  		人类的健康值在20-25的数值内为健康

	(健康值算法为:体重(Kg/ 身高(米)的平方)

    import java.util.Scanner;

    public class Test04{

	//输入体重和身高

	Scanner scan = new Scanner(System.in);

	System.out.println("请输入体重(Kg):");

	double weight = scan.nextDouble();

	System.out.println("请输入身高(M):");

	double height = scan.nextDouble();

			
	//计算健康值

	double health = weight/(height*height);

			
	//判断

	if(health>=20 && health<=25){

			System.out.println("小护士说:\"健康,请保持现有状态\"");

			}

    }


2、案例二

//案例二:麻生希Java成绩大于98分,而且音乐成绩大于80分,老师奖励他;或者Java成绩等于100分,音乐成绩大于70分,老师也可以奖励他。
	Scanner scan = new Scanner(System.in);
	System.out.println("请输入Java成绩:");
	double javaScore = scan.nextDouble();
	System.out.println("请输入音乐成绩:");
	double musicScore = scan.nextDouble();
			
	if((javaScore>98 && musicScore>80) || (javaScore==100 && musicScore>70)){
	System.out.println("奖励麻生希法拉利玩具赛车一辆");
	}

3、小结

if可以判断区间
if可以判断复杂的条件

三、if…else…

1、语法结构

if(表达式){
…代码块…
}else{
…else代码块…
}

2、理解

表达式的结果必须是boolean
true – 执行代码块
false - 执行else代码块

3、做实验

if(false){
	System.out.println("...代码块...");
}else{
	System.out.println("...else代码块...");
}
			
ystem.out.println("if分支以外的代码");
//会输出(...else代码块...)和if分支以外的代码

4、案例

如果麻生希Java考试成绩大于98分,老师就奖励他一个劳斯莱斯,否则就罚他进行编码

Scanner scan = new Scanner(System.in);
System.out.println("请输入考试成绩:");
double score = scan.nextDouble();
			
if(score > 98){
	System.out.println("奖励麻生希劳斯莱斯玩具赛车一辆");
}else{
	System.out.println("何老师给麻生希通宵补课...");
}

5、小结

二选一的情况下使用if…else…

四、多重if分支

1、语法结构

if(表达式1){
			//	...代码块1...
				
			}else if(表达式2){
				//...代码块2...
				
			}else if(表达式n){
				//...代码块n...
				
			}else{
				//...else代码块...
			}

2、理解

从上往下判断表达式,哪个表达式先为true,就执行对应的代码块

如果都不为true,就执行else代码块

注意:else代码块根据需求可写可不写,不影响语法规则

3、做实验

if(false){
	System.out.println("...代码块1...");
				
}else if(false){
	System.out.println("...代码块2...");
				
}else if(false){
	System.out.println("...代码块3...");
				
}else{
	System.out.println("...else代码块...");
}		
	System.out.println("if分支以外的代码");

4、案例一

人类的健康值在
15-20的数值内为偏瘦
20-25的数值内为健康
25-30的数值内为偏胖
(健康值算法为:体重(Kg) / 身高(米)的平方)
//输入体重和身高

//输入体重和身高
Scanner scan = new Scanner(System.in);
System.out.println("请输入体重(Kg):");
double weight = scan.nextDouble();
System.out.println("请输入身高(M):");
double height = scan.nextDouble();
			
//计算健康值
double health = weight/(height*height);
			
//判断
if(health>15 && health<=20){
	System.out.println("小护士说:\"偏瘦,多喝啤酒,多吃垃圾食品,多熬夜\"");
				
}else if(health>20 && health<=25){
	System.out.println("小护士说:\"健康,请保持现有状态\"");
				
}else if(health>25 && health<=30){
	System.out.println("小护士说:\"偏胖,多做运动,嘿嘿嘿\"");
				
}else{
	System.out.println("小护士说:\"健康值异常,请到医院进行详细检查\"");
}

5、案例二

通过键盘录入学生成绩
如果在90-100之间,则打印“A”,
否则如果在80-90之间,则打印“B”,
否则如果在70-80之间,则打印“C”
否则如果在60-70之间,则打印“D”
否则如果在 0-60之间,则打印“E”
否则打印“成绩异常”

Scanner scan = new Scanner(System.in);
System.out.println("请输入成绩:");
double score = scan.nextDouble();
			
if(score >= 90 && score <= 100){
	System.out.println("A");
				
}else if(score >= 80 && score < 90){
	System.out.println("B");
				
}else if(score >= 70 && score < 80){
	System.out.println("C");
				
}else if(score >= 60 && score < 70){
	System.out.println("D");
				
}else if(score >=  0 && score < 60){
	System.out.println("E");
				
}else{
	System.out.println("成绩异常");
				
}

6、小结

多选一的情况下使用多重if分支

五、嵌套if分支

1、案例

学校举行运动会,百米赛跑跑入16秒内的学生有资格进决赛, 根据性别分别进入男子组和女子组。

public static void main(String[] args){
	Scanner scan = new Scanner(System.in);
	System.out.println("请输入比赛成绩:");
    double score = scan.nextDouble();
	if(score >= 0 && score < 16){
		System.out.println("请输入性别:");
		String sex = scan.next();
		if(sex.equals("男")){//判断输入的字符串是否是男   如果是则if表达式里面是true,否则为false
			System.out.println("恭喜,进入男子组决赛");
				
		}else if(sex.equals("女")){//判断输入的字符串是否是女
			System.out.println("恭喜,进入女子组决赛");
				
		}else{
				System.out.println("性别异常");
		}
			
	}else if(score >= 16){
		System.out.println("被淘汰了,重在参与");
			
	}else{
		System.out.println("成绩异常");
		}
	}
}

2、小结

  1. if允许无限层嵌套

  2. 项目中if最好嵌套不超过3层,因为超过3层后代码的可读性会很低

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值