13-程序执行流程之 if-else 语句
原创2023年8月21日大约 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个肉包子
2. IfElseBaozi-true
public class IfElseBaozi {
public static void main(String[] args) {
int baozi = 3;
boolean baoziGangchuLong = true;
if (baoziGangchuLong) {
baozi = baozi + 2;
System.out.println("包子刚刚出笼,买了" + baozi + "个肉包子");
} else {
System.out.println("买了" + baozi + "个肉包子");
}
}
}
// 输出
包子刚刚出笼,买了5个肉包子
3. IfElseBaozi-false
public class IfElseBaozi {
public static void main(String[] args) {
int baozi = 3;
boolean baoziGangchuLong = false;
if (baoziGangchuLong) {
baozi = baozi + 2;
System.out.println("包子刚刚出笼,买了" + baozi + "个肉包子");
} else {
System.out.println("买了" + baozi + "个肉包子");
}
}
}
// 输出
4. Example
public class Example {
public static void main(String[] args) {
int baozi = 3;
boolean baoziGangchuLong = true;
if (baoziGangchuLong) {
baozi = baozi + 2;
System.out.println("包子刚刚出笼,买了" + baozi + "个肉包子");
}
}
}
// 输出
包子刚刚出笼,买了5个肉包子
5. Example
public class Example {
public static void main(String[] args) {
int baozi = 3;
boolean baoziGangchuLong = false;
if (baoziGangchuLong) {
baozi = baozi + 2;
System.out.println("包子刚刚出笼,买了" + baozi + "个肉包子");
}
}
}
// 输出
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++;
}
}
输出
36可以整除9。商为4
45可以整除9。商为5
54可以整除9。商为6
63可以整除9。商为7
72可以整除9。商为8
81可以整除9。商为9
90可以整除9。商为10
99可以整除9。商为11
108可以整除9。商为12
117可以整除9。商为13
126可以整除9。商为14
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是最大的数。");
}
}
}
}
}
}
输出
a=10. b=99. c=99
b和c等大。
上面的代码,虽然功能简单,但是逻辑比较复杂。
5. if-else 的简化
5.1 if-else 省略大括号
- 如果 if 或者 else 的语句块只有一个语句,可以省略大括号
- 简化求最大数的程序
语法1
if (boolean 值)
if 语句块
else
else 语句块
语法2
if (boolean 值){
if 语句块
} else if (){
if 语句块
} else{
else 语句块
}
语法3
if ( boolean 值){
if 语句块
} else {
if () {
if 语句块
} else {
else 语句块
}
}
代码
public class OneStatementIfEles {
public static void main(String[] args) {
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");
}
}
/*
* 1、对于 Java 来说,这个是一个整体,也就是一句代码。所以可以省略最外面的花括号
* if (a == 0) {
System.out.println("a等于0");
} else {
System.out.println("a小于0");
}
*
* 2、else 最后也只有一行代码,所以也可以省略花括号,效果如下未注释的代码: */
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("肉包子吃多了!");
}
}
}
我个人不建议省略,建议的省略也就是 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
方法一:QQ
方法二:微信:Jiabcdefh
