Java程序设计基础笔记 • 【第4章 条件结构】
全部章节 >>>>
本章目录
4.1 条件结构
4.1.1 程序流程控制
1、顺序结构:语句顺序处理、依次执行
2、选择结构(分支结构):单分支、多分支、双分支三种形式
3、循环结构:分为判断后执行结构和先执行后判断两种形式
4.1.2 单分支if结构
- 选择结构又称为分支结构。
- 当程序执行到分支判断的语句时,首先判断条件,然后根据条件表达式的结果选择相应的语句执行。
- 分支结构包括单分支、双分支和多分支三种形式。

语法:
if(条件) {
//语句
}
- 条件表达式的值必须为boolean类型
- 条件为true时执行if内的代码
示例:使用if选择结构实现输入学生成绩,判断学生成绩是否及格

Scanner input = new Scanner(System.in);
System.out.println("请输入学生成绩:"); //提示输入学生成绩
int score = input.nextInt(); //从控制台接收输入的成绩
if(score >= 60) { //判断成绩是否及格
System.out.println("成绩合格,获得软件工程师证书!");
}
示例:使用if选择结构实现判断学生机试与笔试成绩是否及格

Scanner input = new Scanner(System.in);
int writtenScore ;// 笔试成绩
int practiceScore; // 机试成绩
System.out.println(" 请输入笔试成绩:");
writtenScore = input.nextInt();
System.out.println(" 请输入机试成绩:");
practiceScore = input.nextInt();
// 判断笔试与机试成绩是否都合格
if(writtenScore >= 60 && practiceScore >= 60) {
System.out.println(" 笔试与机试都合格,获得软件工程师证书! ");
}
4.1.3 双分支if结构
双分支结构使用if-else语句实现,用于根据条件判断的结果执行不同的操作。

语法:
if ( 条件 ) {
//代码块1
}else {
//代码块2
}
- 条件的结果为true,则执行if中的代码块1,条件的结果为false,则执行else中的代码块2。
示例:实现:求两个数的最大值

if(num1 >= num2) {
max = num1;
} else {
max = num2;
}
示例:实现:游戏菜单界面

int choose = input.nextInt();
if(1==choose) {
System.out.println(" 正在登录系统 ...");
}
if(2==choose){
System.out.println(" 系统已退出! ");
}
4.1.4 实践练习
4.2 多重条件结构
4.2.1 多重条件结构
思考:对学生的结业考试成绩进行评测
- 成绩>=80 :良好
- 成绩>=60 :中等
- 成绩<60 :差

4.2.2 多重if结构
在多重if语句的语法中,条件表达式的值也必须是bolean类型,else if 快可以有多个或没有,else if块的数量完全取决于需要,else块最多只能有一个,且只能放在后面。

语法:
if ( 成绩>=80) { //条件1
//代码块1
}
else if (成绩>=60) { //条件2
//代码块2
}
else {
//代码块3
}
4.2.3 多重if结构的使用
示例:使用多重if实现学生的结业考试成绩评测

if(score >= 90) { //考试成绩>=90
System.out.println("优秀");
} else if (score >= 80) { // 90 >考试成绩>=80
System.out.println("良好");
} else if (score >= 60) { // 80>考试成绩>=60
System.out.println("中等");
} else { //考试成绩<60
System.out.println("差");
}

多重if中条件表达式的顺序是有序的,要么从大到小,要么从小到大,总之是要有顺序地排列。条件不按顺序排列会出错。
4.2.4 实践练习(一)
4.2.5 实践练习(二)
4.3 嵌套条件结构
4.3.1 嵌套if结构
嵌套条件结构即在一个条件结构中嵌入另一个。
if(条件表达式1){
if(条件表达式2){ //内层结构
语句块1;
} else {
语句块2;
}
} else {
if(条件表达式3) { //内层结构
语句块3;
} else {
语句块4;
}
}
外层条件满足后才执行内层条件语句
4.3.2 嵌套if结构的使用
示例:学校举办运动会,要求年龄在18岁以上的男同学,能够参加A类比赛项目,18岁以上的女同学,能够参加B类比赛项目,而18岁以下的男女同学都可以参加C类项目。

if(gender == ' 男 ') {
if(age>=18) {
System.out.println(" 可以报 A 类比赛项目 ");
}
else {
System.out.println(" 可以报 B 类比赛项目 ");
}
}
else {
System.out.println(" 可以报 C 类比赛项目 ");
}
示例:在体育课上,男生与女生的引体向上达标的个数分别为12个和8个,编写程序实现判断引体向上成绩是否达标。

if(gender == '男') {
if(num>=12) {
System.out.println("该男生引体向上成绩达标!");
} else {
System.out.println("该男生引体向上成绩不达标!");
}
} else {
if(num>=8) {
System.out.println("该女生引体向上成绩达标!");
} else {
System.out.println("该女生引体向上成绩不达标!");
}
}
4.3.3 实践练习
4.4 Switch结构
4.4.1 Switch-case结构


语法:
switch (表达式) {
case 常量 1:
语句;
break;
case 常量 2:
语句;
break;
…
default:
语句;
break;
}

4.4.2 Switch-case使用
示例:解决名次与奖励的问题

int no = 2; //成绩名次
switch(no) {
case 1:
System.out.println("奖励联想笔记本一台");
break;
case 2:
System.out.println("奖励移动硬盘一个");
break;
case 3:
System.out.println("奖励U盘一个");
break;
default:
System.out.println("没有任何奖励");
break;
}
如果需要每个case执行完后跳出,在每个case后不要忘记写break;
示例:判断1~6中的奇数与偶数

int num = 3;
switch(num) {
case 1:
case 3:
case 5:
System.out.println("奇数!");
break;
case 2:
case 4:
case 6:
System.out.println("偶数!");
break;
}
case后面的常量必须各不相同
4.4.3 选择结构小结
选择结构包含:
- 单分支结构
- 双分支结构
- 嵌套分支结构
- 多分支结构
在这种等值的判断结构中,结构更加清晰,模块化更强,但在进行范围判断时,switch不如多重if方便。
4.4.4 实践练习
总结:
- 程序结构分为顺序结构、选择结构、循环结构。
- 选择结构中的条件表达式的结果必须是boolean类型。
- 双分支if-else结构中,程序要么选择if块中的语句,要么选择else块中的语句,只能选择其一来执行。
- 多分支结构有多重if语句结构和switch结构。
- 使用switch语句实现等值判断的多分支语句,其语句结构方便简洁。
- 在实际开发中,遇到分支情况时,通常会综合运用if选择结构的各种形式与switch结构解决问题。
Java程序设计基础笔记 • 【第4章 条件结构】的更多相关文章
- Java程序设计基础笔记 • 【目录】
持续更新中- 我的大学笔记>>> 章节 内容 实践练习 Java程序设计基础作业目录(作业笔记) 第1章 Java程序设计基础笔记 • [第1章 初识Java] 第2章 Java程序 ...
- Java程序设计基础笔记 • 【第5章 循环结构】
全部章节 >>>> 本章目录 5.1 while循环结构 5.1.1 循环简介 5.1.2 while循环 5.1.3 while循环的使用 5.1.4 while循环的注 ...
- Java程序设计基础笔记 • 【第9章 方法与参数类型】
全部章节 >>>> 本章目录 9.1 有参数有返回值的方法 9.1.1 有参数有返回值的方法的定义和调用 9.1.2 返回值的传递过程 9.1.3 方法返回值的注意事项 9 ...
- Java程序设计基础笔记 • 【第6章 循环结构进阶】
全部章节 >>>> 本章目录 6.1 for循环 6.1.1 for循环的简介 6.1.2 for循环的使用 6.1.3 for循环的表达式 6.1.4 实践练习 6.2 ...
- Java程序设计基础笔记 • 【第1章 初识Java】
全部章节 >>>> 本章目录 1.1 程序的概念及Java语言介绍 1.1.1 生活中的程序 1.1.2 计算机程序 1.1.3 算法和流程图 1.1.4 实践练习 1.2 ...
- Java程序设计基础笔记 • 【第10章 数组】
全部章节 >>>> 本章目录 10.1 数组概述 10.1.1 数组优势 10.1.2 Java中的数组 10.1.3 数组的分类 10.2 一维数组 10.2.1 数组的 ...
- Java程序设计基础笔记 • 【第7章 Java中的类和对象】
全部章节 >>>> 本章目录 7.1 理解类和对象 7.1.1 对象 7.1.2 抽象与类 7.1.3 类与对象的关系: 7.2 Java中的类和对象 7.2.1 类的定义 ...
- 【Java】《Java程序设计基础教程》第一章学习
一.Java概述 1.介绍了Java语言的由来 2.Java语言的特点:简单.面向对象.分布式.高效解释执行.健壮.安全.结构中立.可移植.高效率.多线程.动态 3.Java语言的实现机制,引入虚拟机 ...
- Java程序设计基础笔记 • 【第3章 运算符与表达式】
全部章节 >>>> 本章目录 3.1 运算符(一) 3.1.1 赋值运算符 3.1.2 算数运算符 3.1.3 复合运算符 3.1.4 实践练习(一) 3.1.5 实践练习 ...
随机推荐
- 【Python】【Basic】【数据类型】运算符与深浅拷贝
运算符 1.算数运算: 2.比较运算: 3.赋值运算: 4.逻辑运算: 5.成员运算: 三元运算 三元运算(三目运算),是对简单的条件语句的缩写. # 书写格式 result = 值1 if 条件 ...
- vue-cli2嵌入html
1.使用iframe <!-- 相对路径/绝对路径 --> <iframe src="../../../static/zsw.html"></ifra ...
- 【编程思想】【设计模式】【行为模式Behavioral】观察者模式Observer
Python转载版 https://github.com/faif/python-patterns/blob/master/behavioral/observer.py #!/usr/bin/env ...
- 实现new Date(), 获取当前时间戳
JS 获取时间戳: 我相信大家找了很久了吧! 希望我写的这个对您有些帮助哦~ 大家是不是以为时间戳是关于时间的,都去 new Date() 里面找方法了啊,我来告诉你们正确的吧 其实大家用 JS 里的 ...
- 登录界面.jsp
<!DOCTYPE html><html lang="zh-CN"> <head> <meta charset="utf-8&q ...
- 令无数程序员加班的 Log4j2 远程执行漏洞复现
前情提要 Apache 存在 Log4j 远程代码执行漏洞,将给相关企业带来哪些影响?还有哪些信息值得关注? 构建maven项目引入Log4j2 编写 pom 文件 <?xml version= ...
- [手写系列] Spirit带你实现防抖函数和节流函数
前言 防抖函数和节流函数,无论是写业务的时候还是面试的时候,想必大家已经听过很多次了吧.但是大家在用到的时候,有了解过他们之间的区别嘛,他们是如何实现的呢?还是说只是简单的调用下像lodash和und ...
- layout_weight属性分析
最近写Demo,突然发现了Layout_weight这个属性,发现网上有很多关于这个属性的有意思的讨论,可是找了好多资料都没有找到一个能够说的清楚的,于是自己结合网上资料研究了一下,终于迎刃而解,写出 ...
- ciscn_2019_en_3
例行检查我就不放了,64位的程序放入ida中 可以看到s到buf的距离是0x10,因为puts是遇到\x00截止.而且题目没有限制我们s输入的数量,所以可以通过这个puts泄露出libc的基值 很明显 ...
- 筛选(Project)
<Project2016 企业项目管理实践>张会斌 董方好 编著 [视图]选项卡下有个[筛选器],筛选功能就在里面实现. 比如按[里程碑]筛选. 按[日期范围],再指定个起始日期和结束日期 ...