Java 学习之路(十三)- 程序执行流程控制之 if-else 语句

if-else 语法

if ( 条件 boolean 值 ) {
条件为 true,执行的代码块
} else {
条件为 false,执行的代码块
}

  • if-else 语法,只有一个语句块被执行
  • if 和 else 都是 Java中的关键字
  • if 语法
  • 把 if-else 看做一个表达式,程序整体还是顺序执行的

使用 if-else 来多买两个肉包子

  • 买3个肉包子
  • 如果是刚出笼的热肉包子,就多买两个呢?
int baozi = 3;
boolean baoziGangchuLong = true;

if (baoziGangchuLong) {
    
    
    baozi = baozi + 2;
    System.out.println("包子刚刚出笼,买了" + baozi + "个肉包子");
} else {
    
    
    System.out.println("买了" + baozi + "个肉包子");
}

增强寻找可以被整除的程序

  • 增强点
  • 只输出可以整除的数输出商
int a = 35;
int b = 9;

if (a % b == 0) {
    
    
    System.out.println(a + "可以整除" + b + "。商为" + (a / b));
}
a++;

if-else 的嵌套

求最大的数

  • if-else 是一个语句,可以是另一个语句的一部分,也可以是 if-else 的一部分,即嵌套。
  • 求a,b和c三个数的最大数。
int a = 10;
int b = 99;
int c = 99;

System.out.println("a=" + a + ". b=" + b + ". c=" + c);
if (a == b && b == c) {
    
    
   System.out.println("a,b和c三个数等大。");
} else {
    
    
   if (a > b) {
    
    
       if (a > c) {
    
    
           System.out.println("a是最大的数。");
       } else {
    
    
           if (a == c) {
    
    
               System.out.printf("a和c等大。");
           } else {
    
    
               System.out.println("c是最大的数。");
           }
       }
   } else {
    
    
       if (b > c) {
    
    
           if (b == a) {
    
    
               System.out.println("a和b是等大的数。");
           } else {
    
    
               System.out.println("b是最大的数。");
           }
       } else {
    
    
           if (b == c) {
    
    
               System.out.println("b和c等大。");
           } else {
    
    
               System.out.println("c是最大的数。");
           }
       }
   }
}

if-else 的简化

if-else 省略大括号

if ( boolean 值 )
if 语句块
else
else 语句块

if ( boolean 值 ) {
if 语句块
} else if ( boolean 值 ) {
if 语句块
} else {
else 语句块
}

  • 如果 if 或者 else 的语句块只有一个语句,可以省略大括号
  • 简化求最大数的程序
int a = 10;
int b = 7;
int c = 99;

System.out.println("a=" + a + ". b=" + b + ". c=" + c);
if (a == b && b == c) {
    
    
    System.out.println("a,b和c相等。");
} else if (a > b & a > c) {
    
    
    System.out.println("a的值最大。");
} else if (b > a && b > c) {
    
    
    System.out.println("b的值最大。");
} else if (c > a && c > b) {
    
    
    System.out.println("c的值最大。");
} else if (a == b && b > c) {
    
    
    System.out.println("a和b等大最大。");
} else if (b == c && b > a) {
    
    
    System.out.println("b和c等大最大。");
} else if (a == c && b > c) {
    
    
    System.out.println("a和c等大最大。");
}
int a = 10;

System.out.println("省略大括号");
if (a > 0)
    System.out.println("a大于0");
else
    System.out.printf("a小于等于0");

System.out.println("比较大小的完整的写法");
if (a > 0) {
    
    
    System.out.println("a大于0");
} else {
    
    
    if (a == 0) {
    
    
        System.out.println("a等于0");
    } else {
    
    
        System.out.println("a小于0");
    }
}

System.out.println("比较大小的省略所有大括号的方法");
if (a > 0)
    System.out.println("a大于0");
else if (a == 0)
    System.out.println("a等于0");
else
    System.out.println("a小于0");


System.out.println("比较大小的代码块有多个语句的最优写法");
if (a > 0) {
    
    
    System.out.println("a大于0");
    System.out.printf("买" + a + "个肉包子");
} else if (a == 0) {
    
    
    System.out.println("a等于0");
    System.out.printf("不买肉包子了!");
} else {
    
    
    System.out.println("a小于0");
    System.out.println("肉包子吃多了!");
}
boolean condition = true;

if (condition) {
    
    
     System.out.println("condition的值为真");
 } else {
    
    
     System.out.printf("condition的值为假");
 }

 int a = 10;
 int b = 20;
 if (a < b) {
    
    
     System.out.println("a的值为" + a + ", b的值为" + b + ". a<b是真的");
 }

 System.out.println("如论如何都会执行到");

猜你喜欢

转载自blog.csdn.net/Kevinblant/article/details/119718717