控制结构


分支结构

分支结构表示在某一条件成立时,进行分流行为的程序结构。在Java语言中有两种形式:条件分支结构与开关分支结构。其中条件分支又有单分支、双分支的基本形式。将分支基本结构嵌套就成为多分支结构,而开关分支结构属于另一种形式的多分支结构。

1、if语句

单分支结构的if语句:

if (条件表达式) 语句组

执行过程:当条件表达式的值为true时,执行其后的语句组;若为false时,其后的语句组不执行。

双分支结构的if-else语句:

if (条件表达式) 语句组1

else 语句组2

执行过程:当条件表达式的值为true时,执行语句组1;若为假,执行语句组2

多分支结构的if语句:

在多分支结构中,每个if要与对应的else配对,当有多个if结构嵌套时,else将与最近的if配对。若if需要与另一个else配对,就要将该if与else之间的所有语句用{}括起来。

示例:将一个字符串中的小写字母转换成大写字母,并将大写字母转换成小写字母。

2、switch语句

当程序中多分支结构的各分支之间没有相互依赖关系时,可以使用开关switch语句控制的分支结构。

每一个case构成一个分支,根据switch中的整型/字符表达式的值,依次判定case中的整型/字符常量表达式的值是否与其相等。

当有一个case的整型/字符常量与其相等,则其后的语句组被执行,若有break语句,则跳出该switch语句;若无break语句,则继续执行下一个case项,直到遇到break语句或反}。当有一个以上case的整型/字符常量与其相等,则仅执行第一个case项的语句组。

当无任何case的整型/字符常量与其相等,且有default项,则跳过所有的case项,执行default项的语句组。

示例:switch语句应用


循环结构

1、for 循环语句

基本形式及执行流程:

执行过程:先计算表达式1,得到循环变量的初值,代入表达式2中,求出表达式2的逻辑值。当其逻辑值为true时,执行循环体语句组,否则,退出该循环。当执行完循环体语句组后,再计算表达式3,再代入表达式2......。

示例:for循环举例,对数组排序输出。

for循环的嵌套

示例:用for循环嵌套控制简单字符图形输出

示例:通过main()方法中的参数args接收外部字符串

2、for-each循环语句

该循环提供了一种更简洁的语句来遍历集合或数组的方法。

基本形式:

执行过程:每一次循环,循环变量会按顺序从集合中取出一个元素存储在循环变量中,如此重复,直到集合中的所有元素都已取出为止。

循环变量的类型应与集合中元素的类型一致

示例:for-each循环举例

3、while循环语句

基本形式及执行流程:

示例:while循环计算1+1/2+1/3+1/4+...的前20项的和

4、do-while循环语句

基本形式及执行流程:


break与continue语句

break用于跳出整个循环语句;continue用于跳过本次循环中尚未执行的语句,但是仍然继续执行下一次循环中的语句。

示例:利用break和continue语句控制计算10以内的奇数之和并求10以内的所有素数

示例:从键盘读取若干个整数,以-1结束,计算平均值