if else语句
if-else条件判断结构
结构一:
if(条件表达式){
执行语句
}
结构二:二选一
if(条件表达式){
执行语句1
}else{
执行语句2
}
结构三:多选一
if(条件表达式1){
执行语句1
}else if(条件表达式2){
执行语句2
}else if(条件表达式3)
执行语句3
}
…
else{
执行语句n
}
特别说明一
- 条件表达式必须是布尔表达式(关系表达式或逻辑表达式)、布尔变量
- 语句块只有一条执行语句时,一对{}可以省略,但建议保留
- if-else语句结构,根据需要可以嵌套使用
- 当if-else结构是“多选一”时,最后的else是可选的,根据需要可以省略
- 当多个条件是“互斥”关系时,条件判断语句及执行语句间顺序无所谓
- 当多个条件是“包含”关系时,“小上大下 / 子上父下”
代码练习一
class IfTest {
public static void main(String[] args) {
//格式1:
int heartBeats = 120;
if(heartBeats < 60 || heartBeats > 100){
System.out.println("你需要做进一步的检查");
}
System.out.println("体检结束");
//格式2:二选一
int age = 20;
if(age >= 18){
System.out.println("恭喜你,已经成人了");
}else{
System.out.println("你还是未成年人");
}
//格式3:多选一
if(age >= 0 && age <= 10){
System.out.println("婴幼儿时期");
}else if(age <= 18){
System.out.println("青少年时期");
}else if(age <= 35){
System.out.println("青年时期");
}else if(age < 65){
System.out.println("中年时期");
}else if(age < 100){
System.out.println("老年时期");
}else{
System.out.println("修仙时期");
}
}
}
特别说明二
1.if-else是可以嵌套使用的。
从经验上讲,一般不会超过三层。
2.如果条件表达式对应的执行语句只有一行的话,可以省略此条件表达式所在的一对{}。
但是,不建议大家省略
代码练习二
//编写程序:由键盘输入三个整数分别存入变量num1、num2、num3,
//对它们进行排序(使用 if-else if-else),并且从小到大输出
import java.util.Scanner;
class IfTest {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入num1:");
int num1 = scan.nextInt();
System.out.println("请输入num2:");
int num2 = scan.nextInt();
System.out.println("请输入num3:");
int num3 = scan.nextInt();
System.out.println("num1 = " + num1 + ",num2 = " + num2 + ",num3 = " + num3);
//思考?如何排序?...
//if-else的嵌套
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);
}
System.out.println("hello");
}else{//num1 <= num2
if(num3 > num2){
System.out.println(num1 + "---" + num2 + "---" + num3);
System.out.println("hello");
}else if(num3 < num1)
System.out.println(num3 + "---" + num1 + "---" + num2);
else
System.out.println(num1 + "---" + num3 + "---" + num2);
}
}
}