跳至主要內容

13-程序执行流程之 if-else 语句

AI悦创原创Java体系课Java体系课大约 12 分钟...约 3499 字

0. 目录

  • 顺序执行
  • 怎么能多买几个热包子?用 if-else
  • 增强寻找可以被整除的程序
  • if-else 的嵌套
  • if-else 的简化

1. 顺序执行

  • 代码块的执行是顺序执行
  • 只要程序运行过程中不出错,就会一行行的向下顺序执行

2. 怎么能多买几个热包子?用 if-else

2.1 买包子的问题

  • 买 3 个肉包子
  • 如果是刚出笼的热肉包子,就多买两个呢?

2.2 if-else 语法

if (boolean) {
    if 语句块
} else {
    else 语句块
}
  • if-else 语法,只有一个语句块被执行
  • if 和 else 都是 Java 中的关键字
  • if 语法
  • 把 if-else 看做一个表达式,程序整体还是顺序执行的
  • 使用 if-else 来多买两个肉包子
1. Baize
public class Baozi {
    public static void main(String[] args) {
        int baozi = 3;
        System.out.println("买了" + baozi + "个肉包子");
    }
}
//  输出
买了3个肉包子

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

3.1 增强点

  • 只输出可以整除的数
  • 输出商
FindDiv
public class FindDiv {
    public static void main(String[] args) {
        int a = 35;
        int b = 9;

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

4. if-else 的嵌套

4.1 求最大的数

  • if-else 就是一个语句,可以是另一个语句的一部分,也可以是 if-else 的一部分,即嵌套。
  • 求 a,b 和 c 三个数的最大数。
IfElseNest
public class IfElseNest {

    public static void main(String[] args) {
        int a = 10;
        int b = 99;
        int c = 99;

        System.out.println("a=" + a + ". b=" + b + ". c=" + c);
        if (a == b && b == c) {
            // a, 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 {
                // a<=b
                if (b > c) {
                    if (b == a) {
                        System.out.println("a和b是等大的数。");
                    } else {
                        System.out.println("b是最大的数。");
                    }
                } else {
                    // b <= c
                    if (b == c) {
                        System.out.println("b和c等大。");
                    } else {
                        System.out.println("c是最大的数。");
                    }
                }
            }
        }
    }
}

上面的代码,虽然功能简单,但是逻辑比较复杂。

5. if-else 的简化

5.1 if-else 省略大括号

  • 如果 if 或者 else 的语句块只有一个语句,可以省略大括号
  • 简化求最大数的程序
语法1
if (boolean)
    if 语句块
else
    else 语句块

我个人不建议省略,建议的省略也就是 if else 嵌套的时候省略。因为,你省略的太多的话,那天不知道加了一条语句就报错了。如下代码:

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

        int a = 10;

        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("不知不觉,加了一句代码,结果......");
    }
}

6. 简化求最大数的程序

public class IfElseNestSimple {

    public static void main(String[] args) {
        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等大最大。");
        }
        // 你也可以比较后,输出最后的结果。
    }
}

省略打括号的,除了 else if 的,其他的省略了,项目里如果没有约定好会被同事骂死的。

欢迎关注我公众号:AI悦创,有更多更好玩的等你发现!

公众号:AI悦创【二维码】

AI悦创·编程一对一

AI悦创·推出辅导班啦,包括「Python 语言辅导班、C++ 辅导班、java 辅导班、算法/数据结构辅导班、少儿编程、pygame 游戏开发」,全部都是一对一教学:一对一辅导 + 一对一答疑 + 布置作业 + 项目实践等。当然,还有线下线上摄影课程、Photoshop、Premiere 一对一教学、QQ、微信在线,随时响应!微信:Jiabcdefh

C++ 信息奥赛题解,长期更新!长期招收一对一中小学信息奥赛集训,莆田、厦门地区有机会线下上门,其他地区线上。微信:Jiabcdefh

方法一:QQopen in new window

方法二:微信:Jiabcdefh

上次编辑于:
贡献者: AndersonHJB
你认为这篇文章怎么样?
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0
评论
  • 按正序
  • 按倒序
  • 按热度