选择语句和控制循环语句 (流程控制命令可以控制几条语句)

流程控制语句—顺序、选择、循环

1. 概述

在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。也就是说程序的流程对运行结果有直接的影响。在清楚每条语句的执行流程的前提下,才能通过控制语句的执行顺序来实现我们要完成的功能。

2. 顺序控制语句

2.1概述

是程序中最简单的流程控制,按照代码执行的先后顺序,依次执行,程序中的大多数代码都是这样执行的。

2.2顺序结构流程图

流程控制语句解析,流程控制语句的基本控制结构

2.3代码示例

public class OrderDemo01 {

public static void main(String[] args) {

System.out.println("开始");

System.out.println("程序1");

System.out.println("程序2");

System.out.println("结束");

}

}

3. 选择结构

3.1概述

l 选择结构也被称为分支结构。选择结构有特定的语法规则,代码要执行具体的逻辑运算进行判断,逻辑运算的结果有两个,所以产生选择,按照不同的选择执行不同的代码。

l Java语言提供了两种选择结构语句

if语句和switch语句。

3.2 if语句

3.2.1 if语句的第一种格式,适合做一种情况的判断。

l 代码格式:

if(布尔表达式) {

语句体

}

l 程序执行流程图:

流程控制语句解析,流程控制语句的基本控制结构

l 代码示例:

public class OrderDemo02 {

public static void main(String[] args) {

int a = 1;

int b = 2;

if (a == b){

System.out.println("a等于b");

}

System.out.println("a不等于b");

}

}

3.2.2 if语句的第二种格式,适合做两种情况的判断。

l 代码格式:

if(关系表达式) {

语句体1;

} else {

语句体2;

}

l 程序执行流程图:

流程控制语句解析,流程控制语句的基本控制结构

l 代码示例:

public class OrderDemo03 {

public static void main(String[] args) {

int a = 1;

int b = 2;

if (a == b){

System.out.println("a等于b");

}else{

System.out.println("a不等于b");

}

}

}

3.2.3 if语句的第三种格式,适合做多种情况的判断。

l 代码格式:

if (判断条件1) {

执行语句1

} else if (判断条件2) {

执行语句2

}

...

else if (判断条件n) {

执行语句n

} else {

执行语句n+1

}

l 执行流程图:

流程控制语句解析,流程控制语句的基本控制结构

l 代码示例:

public class OrderDemo04 {

public static void main(String[] args) {

int a = 1;

if (a == 1){

System.out.println("a等于1");

}else if(a != 1){

System.out.println("a不等于1");

}else{

System.out.println("以上条件都不满足");

}

}

}

3.3 switch语句

l 代码格式:

switch(表达式) {

case 目标值1:

语句体1;

break;

case 目标值2:

语句体2;

break;

default:

语句体n+1;

break;

}

l 代码格式说明:

u case后面跟的是要和表达式进行比较的值。

u Break用来结束switch语句。

u default语句表示所有情况都不匹配的时候,就执行该处的内容。

l 代码执行流程图:

流程控制语句解析,流程控制语句的基本控制结构

l 代码示例:

public class OrderDemo05 {

public static void main(String[] args) {

switch (10){

case 8:

System.out.println(8);

break;

case 10:

System.out.println(10);

break;

default:

System.out.println("default");

break;

}

}

}

3.4 选择结构的总结

l Switch结构能实现的,if都能实现,但是if能实现的,switch不一定能实现。

l 如果遇到对常量的判断,为了使代码更简洁,优先使用switch选择。

l If选择,可以用来做布尔值的判断、常量的判断和范围的判断,switch只能用来对常量进行判断。

4. 循环结构

4.1概述

循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形成死循环。

4.2循环体的组成部分的介绍

l 初始化表达式:

一条或者多条语句,这些语句完成一些初始化操作。

l 布尔表达式:

这是一个boolean 表达式,这个表达式能决定是否执行循环体。

l 循环体:

这个部分是循环体语句,也就是我们要多次做的事情。

l 步进表达式:

这个部分在一次循环体结束后,下一次循环判断条件执行前执行。通过用于控制循环条件中的变量,使得循环在合适的时候结束。

4.3 for循环结构

l 代码格式:

for(初始化表达式;布尔表达式;步进表达式){

循环体

}

l 代码执行流程图:

流程控制语句解析,流程控制语句的基本控制结构

l 代码示例:

public class ForDemo01 {

public static void main(String[] args) {

for (int i = 0;i < 10;i++){

System.out.println("i的数值是"+i);

}

}

}

4.4 while循环结构

l 代码格式:

u 基本代码格式:

while(布尔表达式) {

循环体语句;

}

u 扩展代码格式:

扩展格式

初始化表达式①

while(布尔表达式②){

循环体③

步进表达式④

}

l 程序执行流程图:

流程控制语句解析,流程控制语句的基本控制结构

l 代码示例:

public class WhileDemo01 {

public static void main(String[] args) {

int i = 0;

while (i <10){

System.out.println("i的数值是"+i);

i++;

}

}

}

4.5 do while循环结构

l 代码格式:

u 基本格式:

do {

循环体语句;

}while(布尔表达式);

u 扩展格式:

初始化表达式①

do{

循环体③

步进表达式④

}while(布尔表达式②);

l 程序执行示意图:

流程控制语句解析,流程控制语句的基本控制结构

l 代码示例:

public class DowhileDemo01 {

public static void main(String[] args) {

int x=1;

do {

System.out.println("x的数值是"+x);

x++;

}while(x<=10);

}

}

4.6 循环结构的总结

l do…while循环至少会执行一次循环体。

l for循环和while循环只有在条件成立的时候才会去执行循环体。

l 控制条件语句所控制的那个变量,在for循环结束后,就不能再被访问到了,而while循环结束还可以继续使用,如果你想继续使用,就用while,否则推荐使用for。原因是for循环结束,该变量就从内存中消失,能够提高内存的使用效率。

l 在选择循环结构时,推荐的选择顺序是for -- while -- do..while,一般不建议使用do..while循环结构。