[JavaSE] java流程控制语句之if分支—Day05

目录

一、流程控制语句分类:

二、分支语句——if分支

简单if分支

复杂if分支

if...else...

多重if分支

嵌套if分支

总结:


一、流程控制语句分类:


                1.顺序语句:方法中的代码从上往下执行
                
                2.分支语句:根据不同条件去执行不同功能
                    2.1 if
                    2.2 switch
            
                3.循环语句:只要条件成立,就重复性的执行某个功能
                    3.1 for
                    3.2 while
                    3.3 do-while
                
                4.特殊的流程控制语句
                    4.1 break
                    4.2 continue
                    4.3 return
                    4.4 lable

二、分支语句——if分支

简单if分支

//语法结构:
if(表达式) {
代码块;
}

注意:

        表达式的结果必须是boolean
                        true - 执行代码块 
                        false- 跳过分支语句,执行分支以外的代码

例:

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

运行结果:if分支以外的代码  原因:false跳出循环

案例:如果小龙的Java考试成绩大于98分,小龙就能获得一部平板作为奖励

Scanner scan = new Scanner(System.in);
            
System.out.println("请输入小龙同学的Java成绩:");
double score = scan.nextDouble();
                    
 if(score>98){
      System.out.println("奖励小龙同学一部平板");
              }

复杂if分支

案例一: 人类的健康值在20-25的数值内为健康(健康值算法为:体重(Kg) / 身高(米)的平方)

Scanner scan = new Scanner(System.in);
System.out.println("请输入体重(Kg):");
double weight = scan.nextDouble();
System.out.println("请输入身高(M):");
double height = scan.nextDouble();
		
//2.计算健康值
double health = weight/(height*height);
		
//3.判断
if(health > 20 && health < 25){
	System.out.println("小护士说\"健康,请保持现有状态\"");
}

运行结果:

 

案例二:小白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("老师奖励他");
	}

运行结果:

 

总结 - 复杂的if分支:
                    1.if可以判断区间
                    2.if可以判断复杂条件

if...else...

//语法结构:
if(表达式) {
    代码块1;
}else {
    代码块2;
    }

注意:

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

例:

if(false){
	System.out.println("...代码块...");
}else{
	System.out.println("...else代码块...");
}
	System.out.println("if以外的代码");

运行结果:

表达式结果为 false,执行else代码块 后继续执行if以外的代码块

案例:如果小魏Java考试成绩大于98分,白老师就奖励他一个劳斯莱斯,否则 老师就罚他进行编码。

Scanner scan = new Scanner(System.in);
System.out.println("请输入小魏的Java成绩:");
double score = scan.nextDouble();
		
if(score > 98){
    System.out.println("奖励小魏劳斯莱斯玩具赛车一辆");
}else{
	System.out.println("白老师给小魏同学通宵补课");
	}

运行结果:

总结 - if...else...:二选一的情况下使用

多重if分支

//语法结构:

if(表达式1) {

代码块1;

}else if(表达式2) {

代码块2;

}else if(表达式n) {

代码块n;

}else {

else代码块;

}

注意:

        从上往下依次判断表达式,哪个表达式先成立(true),就执行对应的代码块,执行完毕后跳出整个分支语句
                如果都不成立,则调用else代码块
                else{}根据需求可写可不写

例:

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

运行结果:

案例一:人类的健康值在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();
				
//2.计算健康值
double health = weight/(height*height);
				
//3.判断
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("小护士说\"健康值异常,请到医院进行详细检查\"");
}

运行结果:

案例二:通过键盘录入学生成绩

 如果在91-100之间,则打印“A”,

 否则如果在81-90之间,则打印“B”,

 否则如果在71-80之间,则打印“C”

  否则如果在61-70之间,则打印“D”

  否则打印“E”

//1.输入成绩
Scanner scan = new Scanner(System.in);
System.out.println("请输入成绩:");
double score = scan.nextDouble();
				
//2.判断成绩区间
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("成绩异常");
}

运行结果:

总结 :

        多重if分支:多选一时就使用

嵌套if分支

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

Scanner scan = new Scanner(System.in);
		
System.out.println("请输入比赛成绩:");
double s = scan.nextDouble();
				
if(s >= 0 && s<= 14){
					
    System.out.println("请输入性别:");
    String sex = scan.next();//从控制台输入的数据是字符串类型
					
    if(sex.equals("男")){//判断sex 和 "男" 这两个字符串是否相同
        System.out.println("恭喜,进入到男子组决赛...");
						
    }else if(sex.equals("女")){//判断sex 和 "女" 这两个字符串是否相同
        System.out.println("恭喜,进入到女子组决赛...");
						
    }else{
        System.out.println("性别异常...");
    }
					
}else if(s > 14){
    System.out.println("已被淘汰,重在参与...");
}else{//输入的秒数为负数
System.out.println("成绩异常...");
}

运行结果:

总结:

if的使用:
                1.if可以判断区间
                2.if可以判断复杂条件
                3.if...else...:二选一的情况下使用
                4.多重if:多选一的情况下使用
                5.if可以嵌套

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

简单^不简单

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

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

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

打赏作者

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

抵扣说明:

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

余额充值