【Java语言】— 循环结构:while循环、do-while循环

while循环

1.while循环格式与执行流程

while循环格式

初始化语句;
while (循环条件){
    
    
	循环体语句(被重复执行的代码);
	迭代语句;
}

示例:

inti = 0;
while (i < 3){
    
    
	System.out.println("Hello World");
	i++;
}

while循环执行流程

在这里插入图片描述
什么时候用for循环,什么时候用while循环?

  • 功能上是完全一样的,for循环能解决的while循环也能解决。
  • 使用规范是:知道循环几次:使用for;不知道循环几次,建议使用:while。

2.while循环案列:珠穆朗玛峰

需求:世界上最高山峰是珠穆朗玛峰(8848.86米=8848860毫米),假如我有一张足够大的纸,它的厚度是0.1毫米。请问折叠多少次,可以折成珠穆朗玛峰的高度。

思路:不知道循环多少次的情况可以选择while循环实现。

分析步骤

  1. 定义变量存储珠穆朗玛峰的高度、纸张的高度。
double peakHeight = 8848860; // 山峰高度
double peakThickness = 0.1; // 纸张高度
  1. 使用while循环,循环条件是(纸张厚度 < 山峰高度),内部控制纸张折叠,没折一次,纸张厚度为原来的两倍,循环外定义计数变量,每折叠依次让该变量+1.
int count = 0;
while (peakThickness < peakHeight){
    
    
	peakThickness *= 2;
	count++;	
}

实现代码

public static void main(String[] args) {
    
    
        // 需求:珠穆朗玛峰高度8848860 纸张厚度0.1  折叠纸张直到不低于珠穆朗玛峰 求折叠几次
        // 1.定义变量记录山峰高度、纸张厚度
        double peakHeight = 8848860; // 山峰高度
        double peakThickness = 0.1; // 纸张高度

        // 3.定义一个变量用于记录纸张折叠次数
        int count = 0;
        // 2.定义一个while循环控制纸张进行折叠
        while (peakThickness < peakHeight){
    
    
            //让纸张的厚度多一倍
            peakThickness *= 2;
            count++;
        }
        System.out.println("折叠次数:" + count);
        System.out.println("纸张最终的厚度:" + peakThickness);
}

运行结果

在这里插入图片描述

do-while循环

先执行再判断循环条件。

1.do-while循环格式

初始化语句;
do {
    
    
	循环体语句;
	迭代语句;
} while (循环条件);

示例:

int i = 0;
do {
    
    
	System.out.println("Hello World");
	i++;
} while (i < 3);

do-while循环的特点:一定会先执行依次循环体。

2.do-while循环执行流程 :

在这里插入图片描述

三张循环的区别

  • for循环 和 while循环 (先判断后执行)
  • do-while(第一次先执行后判断)

for 和 while 区别:

  • for循环和while循环的执行流程是一模一样的。
  • 知道循环几次使用:for循环;不知道循环几次,建议使用:while循环。
  • for循环中,控制循环的变量只在循环中可以使用。while循环中,控制循环的变量在循环后还可以继续使用。

猜你喜欢

转载自blog.csdn.net/weixin_45627039/article/details/128524313