2.5.2-分支结构中的if-else

分支结构中的if-else(条件判断结构)

一、三种结构

第一种:
if(条件表达式){
执行表达式
}

第二种:二选一
if(条件表达式){
执行表达式1
}else{
执行表达式2
}

第三种:n选一
if(条件表达式){
执行表达式1
}else if(条件表达式){
执行表达式2
}else if(条件表达式){
执行表达式3
}

else{
执行表达式n
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-odWORweS-1616400717530)(E:\project\mp\java\day1-5\pic\2.5.2-image-20210311085333825.png)]

class IfTest {
	public static void main(String[] args) {
		

		//举例1
		int heartBeats = 79;
		if(heartBeats < 60 || heartBeats > 100){
			System.out.println("需要做进一步检查");
		}
	
		System.out.println("检查结束");
		
		//举例2
		int age = 23;
		if(age < 18){
			System.out.println("你还可以看动画片");
		}else{
			System.out.println("你可以看成人电影了");
		}
	
		//举例3
		if(age < 0){
			System.out.println("您输入的数据非法");
		}else if(age < 18){
			System.out.println("青少年时期");
		}else if(age < 35){
			System.out.println("青壮年时期");
		}else if(age < 60){
			System.out.println("中年时期");
		}else if(age < 120){
			System.out.println("老年时期");
		}else{
			System.out.println("你是要成仙啊~~");
		}
	}

}

练习1

岳小鹏参加Java考试,他和父亲岳不群达成承诺:
如果:
成绩为100分时,奖励一辆BMW;
成绩为(80,99]时,奖励一台iphone xs max;
当成绩为[60,80]时,奖励一个 iPad;
其它时,什么奖励也没有。
请从键盘输入岳小鹏的期末成绩,并加以判断

说明:

  1. else 结构是可选的。
  2. 针对于条件表达式:
  3. 如果多个条件表达式之间是“互斥”关系(或没有交集的关系),哪个判断和执行语句声明在上面还是下面,无所谓。

  4. 如果多个条件表达式之间有交集的关系,需要根据实际情况,考虑清楚应该将哪个结构声明在上面

  5. 如果多个条件表达式之间有包含的关系,通常情况下,需要将范围小的声明在范围大的上面。否则,范围小的就没机会执行了。

import java.util.Scanner;
class IfTest {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		System.out.println("请输入岳小鹏期末成绩:(0-100)");
		int score = scan.nextInt();
	
		if(score == 100){
			System.out.println("奖励一辆BMW");//be my wife!  BMW <---> MSN
		}else if(score > 80 &&  score <= 99){
			System.out.println("奖励一台iphone xs max");
		}else if(score >= 60 && score <= 80){
			System.out.println("奖励一个 iPad");
		}else{
			System.out.println("什么奖励也没有");
		}
	}
}

练习2

编写程序:由键盘输入三个整数分别存入变量num1、num2、num3,
对它们进行排序(使用 if-else if-else),并且从小到大输出。

说明:

  1. if-else结构是可以相互嵌套的。
  2. 如果if-else结构中的执行语句只有一行时,对应的一对{}可以省略的。但是,不建议大家省略。
import java.util.Scanner;
class IfTest2 {
public static void main(String[] args) {
	Scanner scanner = new Scanner(System.in);
	
	System.out.println("请输入第一个整数:");
	int num1 = scanner.nextInt();
	System.out.println("请输入第二个整数:");
	int num2 = scanner.nextInt();
	System.out.println("请输入第三个整数:");
	int num3 = scanner.nextInt();
	
	if(num1 >= num2){
		if(num3 >= num1)
			System.out.println(num2 + "," + num1 + "," + num3);
		else if(num3 <= num2)
			System.out.println(num3 + "," + num2 + "," + num1);
		else
			System.out.println(num2 + "," + num3 + "," + num1);

	}else{
		if(num3 >= num2)
			System.out.println(num1 + "," + num2 + "," + num3);
		else if(num3 <= num1)
			System.out.println(num3 + "," + num1 + "," + num2);
		else
			System.out.println(num1 + "," + num3 + "," + num2);
		
	}
}
}

练习1

class IfExer {
	public static void main(String[] args) {
		int x = 4;
		int y = 1;
		if (x > 2) 
			if (y > 2) 
                System.out.println(x + y);
				//System.out.println("atguigu");
			else //就近原则
				System.out.println("x is " + x);
		

		//课后练习3:测算狗的年龄
		int dogAge = 6;
		if(dogAge >= 0 && dogAge <= 2){
			System.out.println("相当于人的年龄:" + dogAge * 10.5);
		}else if( dogAge > 2){
			System.out.println("相当于人的年龄:" + (2 * 10.5 + (dogAge - 2) * 4));
		}else{
			System.out.println("狗狗还没出生呢!");
		}
	
		//课后练习4:如何获取一个随机数:10 - 99
		int value = (int)(Math.random() * 90 + 10);// [0.0,1.0) --> [0.0,90.0) --->[10.0, 100.0) -->[10,99]
		System.out.println(value);
		//公式:[a,b]  :  (int)(Math.random() * (b - a + 1) )+ a
	}

}

练习4

大家都知道,男大当婚,女大当嫁。那么女方家长要嫁女儿,当然要提出一定的条件:
高:180cm以上;富:财富1千万以上;帅:是。
如果这三个条件同时满足,则:“我一定要嫁给他!!!”
如果三个条件有为真的情况,则:“嫁吧,比上不足,比下有余。”
如果三个条件都不满足,则:“不嫁!”

import java.util.Scanner;

class IfExer1 {
	public static void main(String[] args) {
		

		Scanner scan = new Scanner(System.in);
		
		System.out.println("请输入你的身高:(cm)");
		int height = scan.nextInt();
		System.out.println("请输入你的财富:(千万)");
		double wealth = scan.nextDouble();
	
		/*
		方式一:
		System.out.println("请输入你是否帅:(true/false)");
		boolean isHandsome = scan.nextBoolean();
	
		if(height >= 180 && wealth >= 1 && isHandsome){
			System.out.println("我一定要嫁给他!!!");
		}else if(height >= 180 || wealth >= 1 || isHandsome){
			System.out.println("嫁吧,比上不足,比下有余。");
		}else{
			System.out.println("不嫁!");
		}
		*/
	
		//方式二:
		System.out.println("请输入你是否帅:(是/否)");
		String isHandsome = scan.next();


​		

		if(height >= 180 && wealth >= 1 && isHandsome.equals("是")){
			System.out.println("我一定要嫁给他!!!");
		}else if(height >= 180 || wealth >= 1 || isHandsome.equals("是")){
			System.out.println("嫁吧,比上不足,比下有余。");
		}else{
			System.out.println("不嫁!");
		}
	}

}

180 && wealth >= 1 && isHandsome.equals(“是”)){
System.out.println(“我一定要嫁给他!!!”);
}else if(height >= 180 || wealth >= 1 || isHandsome.equals(“是”)){
System.out.println(“嫁吧,比上不足,比下有余。”);
}else{
System.out.println(“不嫁!”);
}
}

}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值