03. Java 的流程控制
三种基本结构
顺序结构、循环结构和选择结构是程序设计中常见的三种基本结构,它们共同构建了程序的执行流程:
- 顺序结构:就像一条直线,代码按照从上到下的顺序依次执行,一个步骤接着一个步骤。这种结构简单直接,适用于执行一系列连续的操作。
- 选择/分支结构:它就像是一个岔路口,根据不同的条件来决定走哪条路。通过选择结构,我们可以根据不同的情况执行不同的代码块,实现灵活的决策和分支处理。
- 循环结构:就像一个循环的圈圈,它让代码在满足特定条件的情况下,重复执行一段代码。循环结构可以帮助我们处理大量相似或重复的任务,节省代码量并提高效率。
这三种结构相互结合,使得程序能够根据不同的情况和需求进行灵活的控制和执行。它们是编程的基础,帮助开发者构建出各种功能和逻辑复杂的程序。
顺序结构详解
顺序结构是指按照代码的自然顺序依次执行语句,一个语句执行完后接着执行下一个语句。
选择/分支结构详解
选择结构根据特定的条件来决定执行哪部分代码,可以使用 if-else 语句、switch 语句等。
if 条件语句详解
if 型
1 | if (条件) { |
这四种写法推荐使用第 1 种,节省行数且结构清晰。
if else 型
1 | if (条件) { |
else if 型
else-if 结构实际上是 if-else 结构的多层嵌套,它明显的特点就是在多个分支中只执行一个语句组,而其他分支都不执行,所以这种结构可以用于有多种判断结果的分支中。
1 | if (条件1) { |
if 嵌套组合
if 语句可以任意嵌套。但一般情况下,嵌套层数不建议超过 3 层。
1 | if (条件1) { |
switch 语句
根据表达式的值执行不同的代码块。
其中 expression 必须为 byte
, short
, int
, char
, JDK 1.5 新增 enum
枚举, JDK 1.7 新增 String
类型
1 | case 0: case 1: // 实现了多个 case 对应一种情况 |
注意:
- 一般每个 case 语句后都会加 break 不要忘记,除非有特殊用途
循环结构
循环结构则允许代码在满足一定条件的情况下重复执行一段代码,例如 for 循环、while 循环和 do-while 循环等。
循环语句
while
1 | // while |
do while
1 | // do while |
注意:do while 循环和 while 循环的区别在于,do while 循环至少会执行一次,而 while 循环则需要满足循环条件才能执行。
for 循环
for 语句是应用最广泛、功能最强的一种循环语句,用于指导固定次数的循环。
1 | for (初始化; 循环条件; 迭代) { |
提示 初始化、循环条件以及迭代部分都可以为空语句(但分号不能省略),三者均为空的时候,相当于一个无限循环。代码如下:
1 | // 使用 for, 写的无限循环 |
for-each 语句
Java 5 之后推出 foreach 循环语句,使用 for-each 循环不必按照 for 的标准套路编写代码,它是专门为集合和数组的遍历而设计的,注意 foreach 并不是一个关键字。
跳转语句
break、continue、return 和 throw 语句是 Java 语言中常用的跳转语句,本节重点介绍 break 和 continue 语句的使用。
break 语句
break 语句:用于跳出循环或 switch 语句。
在循环体中使用 break 语句有两种方式:带有标签和不带标签。语法格式如下:
1 | break; // 不带标签 |
continue 语句
continue 语句:用于跳过当前循环的一次迭代,继续下一次迭代。
在循环体中使用 continue 语句有两种方式可以带有标签,也可以不带标签。语法格式如下:
1 | continue; // 不带标签 |
break 添加标签的意义,添加标签对于多层嵌套循环是很有必要的,适当使用可以提高程序的执行效率。但不建议过多使用,否则程序可读性差,而且容易出错。
break 和 continue 关键字比较
- break 既用在循环语句中,也可用在条件选择语句中的 switch 语句
- contine 只用在循环语句中,作用是结束本次循环,接着继续进行条件判断
加餐
表达式与语句
表达式:是用于计算值的代码片段。它可以由变量、常量、运算符和其他表达式组合而成。表达式的目的是求值,并返回一个结果。例如:2 + 3
、x * y
、a > b
等都是表达式。
语句:是可执行的代码单元,它可以完成特定的操作。语句不一定返回值,它们的主要目的是改变程序的状态或执行其他相关的操作。例如:if
语句、for
循环、print
语句等都是语句。
表达式通常用于计算、赋值、比较等操作,而语句则用于控制程序的流程、执行特定的功能。在 Java 中,表达式可以出现在语句中,作为语句的一部分。
死循环
循环体内部必须通过语句更改循环变量的值,否则将会发生死循环。
1 | // 死循环写法一 |
参考
- 丁振凡编著,《Java 语言程序设计(第2版)》华东交大版,2014.9
- 免费公开课_传智播客和黑马程序员免费公开课 http://yun.itheima.com/open
- Java 从小白到大牛-图书-图灵社区 http://www.ituring.com.cn/book/2480