程序流程控制:条件语句if-else

if-else结构
一、else 结构是可选的。
二、针对于条件表达式:
1.如果多个条件表达式之间是“互斥”关系(或没有交集的关系),哪个判断和执行语句声明在上面还是下面,无所谓。
2.如果多个条件表达式之间有交集的关系,需要根据实际情况,考虑清楚应该将哪个结构声明在上面。
3.如果多个条件表达式之间有包含的关系,通常情况下,需要将范围小的声明在范围大的上面。否则,范围小的就没机会执行了。

举例:当成绩为100分时,奖励100块钱;
成绩为(80,99]时,奖励80块钱;
当成绩为[60,80]时,奖励50块钱;
其它时,什么奖励也没有。
请从键盘输入成绩,并加以判断

import java.util.Scanner;
class Test {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入成绩:0~100分");
		int score = sc.nextInt();
		if(score == 100){
			System.out.println("奖励100块钱");
		}else if(score > 80 &&  score <= 99){
			System.out.println("奖励80块钱");
		}else if(score >= 60 && score <= 80){
			System.out.println("奖励50块钱");
		}else{
			System.out.println("奖励一巴掌");
		}
	}
}

三、 if-else结构是可以相互嵌套的。
四、如果if-else结构中的执行语句只有一行时,对应的一对{}可以省略的。但是,不建议大家省略。
举例:
由键盘输入三个整数分别存入变量num1、num2、num3,对它们进行排序(使用 if-else if-else),并且从小到大输出。

import java.util.Scanner;
class Test {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.print("请输入第一个整数:");
		int a = sc.nextInt();
		System.out.print("请输入第二个整数:");
		int b = sc.nextInt();
		System.out.print("请输入第三个整数:");
		int c = sc.nextInt();
		if(a >= b){//相互嵌套
			if(c >= a)
				System.out.println("从小到大排序为"+b + "," + a + "," + c);
			else if(c <= b)
				System.out.println("从小到大排序为"+c + "," + b + "," + a);
			else
				System.out.println("从小到大排序为"+b + "," + c + "," + a);
		}else{
			if(c >= b)
				System.out.println("从小到大排序为"+a + "," + b + "," + c);
			else if(c <= a)
				System.out.println("从小到大排序为"+c + "," + a + "," + b);
			else
				System.out.println("从小到大排序为"+a + "," + c + "," + b);
			
		}
	}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章