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);
}
}
}