天天看点

java自我学习第四章:流程控制语句流程控制语句

流程控制语句

内容

  • for循环语句
  • while循环语句
  • do...while循环语句
  • break
  • continu

循环语句:for循环

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

for循环语句格式:

for(初始化语句①; 循环条件语句②; 迭代语句④){

    循环体语句③

}

for(;;){

    循环体语句块;//如果循环体中没有跳出循环体的语句,那么就是死循环

}

注意:

(1)for(;;)中的两个;是不能多也不能少

(2)循环条件必须是boolean类型

(3)如果循环条件语句②省略的话,就默认为循环条件成立

执行流程:
  • 第一步:执行初始化语句①,完成循环变量的初始化;
  • 第二步:执行循环条件语句②,看循环条件语句的值是true,还是false;
    • 如果是true,执行第三步;
    • 如果是false,循环语句中止,循环不再执行。
  • 第三步:执行循环体语句③
  • 第四步:执行迭代语句④,针对循环变量重新赋值
  • 第五步:根据循环变量的新值,重新从第二步开始再执行一遍

语法演示案例:求出1-5之间数据之和

/*
 * 练习:求出1-5之间数据之和
 * 
 * 分析:
 * 		1.定义求和变量,初始化值是0
 * 		2.获取1-5之间的数据,用for循环实现
 * 		3.把每一次获取到的数据,累加起来就可以了
 * 		4.输出求和变量即可
 */
public class ForTest02 {
	public static void main(String[] args) {
		//定义求和变量,初始化值是0
		int sum = 0;
		
		//获取1-5之间的数据,用for循环实现
		for(int x=1; x<=5; x++) {
			//把每一次获取到的数据,累加起来就可以了
			//sum = sum + x;
			/*
			 * 第一次:sum = 0 + 1 = 1
			 * 第二次:sum = 1 + 2 = 3
			 * 第三次:sum = 3 + 3 = 6
			 * 第四次:sum = 6 + 4 = 10
			 * 第五次:sum = 10 + 5 = 15
			 */
			sum += x;
		}
		
		//输出求和结果
		System.out.println("sum:" + sum);
	}
}
           

循环结构:while循环

while循环语句标准格式:

while (循环条件语句①) {

    循环体语句②;

}

while(true){

     循环体语句;//如果此时循环体中没有跳出循环的语句,也是死循环

}

注意:

white(循环条件)中循环条件必须是boolean类型

执行流程:
    第一步:执行循环条件①,看循环条件语句的值是true,还是false;
          如果是true,执行第二步。
          如果是false,循环语句中止循环不再执行。
    第二步:执行循环体语句②;
    第三步:循环体语句执行完后,重新从第一步开始再执行一遍。
           

while循环语句扩展格式:

初始化语句①;

while (循环条件语句②) {

    循环体语句③;

    迭代语句④;

}

执行流程:

  • 第一步:执行初始化语句①,完成循环变量的初始化;
  • 第二步:执行循环条件语句②,看循环条件语句的值是true,还是false;
    • 如果是true,执行第三步;
    • 如果是false,循环语句中止,循环不再执行。
  • 第三步:执行循环体语句③
  • 第四步:执行迭代语句④,针对循环变量重新赋值
  • 第五步:根据循环变量的新值,重新从第二步开始再执行一遍

语法演示案例:遍历1-100之间的偶数

int num = 2;
while(num<=100){
    System.out.println(num);
    num+=2;
}
           

循环结构:do...while循环

do...while循环语句标准格式:

do {

    循环体语句①;

} while (循环条件语句②);

注意:

(1)while(循环条件)中循环条件必须是boolean类型

(2)do{}while();最后有一个分号

(3)do...while结构的循环体语句是至少会执行一次,这个和for和while是不一样的

执行流程:
  • 第一步:执行循环体语句①;
  • 第二步:执行循环条件语句②,看循环条件语句的值是true,还是false;
    • 如果是true,执行第三步;
    • 如果是false,循环语句终止,循环不再执行。
  • 第三步:循环条件语句执行完后,重新从第一步开始再执行一遍

do...while循环语句扩展格式:

初始化语句①

do {

    循环体语句②;

    迭代语句③;

} while (循环条件语句④);

执行流程:
  • 第一步:执行初始化语句①,完成循环变量的初始化;
  • 第二步:执行循环体语句②;
  • 第三步:执行迭代语句③,针对循环变量重新赋值;
  • 第四步:执行循环条件语句④,看循环条件语句的值是true,还是false;
    • 如果是true,根据循环变量的新值,重新从第二步开始再执行一遍;
    • 如果是false,循环语句中止,循环不再执行。

循环语句的区别

  • 从循环次数角度分析
    • do...while循环至少执行一次循环体语句
    • for和while循环先循环条件语句是否成立,然后决定是否执行循环体,至少执行零次循环体语句
  • 从循环变量的生命周期角度分析
    • for循环的循环变量在for()中声明的,在循环语句结束后,不可以被访问;
    • while和do...while循环的循环变量因为在外面声明的,所以while和do...while结束后可以被继续使用的;
  • 如何选择
    • 遍历有明显的循环次数(范围)的需求,选择for循环
    • 遍历没有明显的循环次数(范围)的需求,循环while循环
    • 如果循环体语句块至少执行一次,可以考虑使用do...while循环
    • 本质上:三种循环之间是可以互相转换的,都能实现循环的功能
  • 三种循环结构都具有四要素:
    • (1)循环变量的初始化表达式
    • (2)循环条件
    • (3)循环变量的修改的迭代表达式
    • (4)循环体语句块

控制语句

break

  • 使用场景:终止switch或者当前循环
    • 在选择结构switch语句中
    • 在循环语句中
    • 离开使用场景的存在是没有意义的

continue

  • 使用场景:结束本次循环,继续下一次的循环

嵌套循环

  • 所谓嵌套循环,是指一个循环的循环体是另一个循环。比如for循环里面还有一个for循环,就是嵌套循环。总共的循环次数=外循环次数*内循环次数。当然可以是三种循环任意互相嵌套。
  • 嵌套循环格式:

for(初始化语句①; 循环条件语句②; 迭代语句⑦) {

    for(初始化语句③; 循环条件语句④; 迭代语句⑥) {

          循环体语句⑤;

    }

}

语法案例演示

public static void main(String[] args){
		for (int i = 0; i < 5; i++) {
			for (int j = 0; j <= i; j++) {
				System.out.print("*");
			}
			System.out.println();
		}
	}
           

:打印5行直角三角形