【Java基础】while、do...while循环结构及跳转和循环嵌套

超、凢脫俗 2024-04-08 08:54 160阅读 0赞

目录

一、while循环结构

while循环练习-珠穆朗玛峰

二、do…while循环结构

三、三种循环的区别

四、跳转控制语句

五、循环嵌套


一、while循环结构

while循环完整格式:

  1. 初始化语句;
  2. while (条件判断语句) {
  3. 循环体语句;
  4. 条件控制语句;
  5. }

while循环执行流程:

①执行初始化语句

②执行条件判断语句,看其结果是true还是false

如果是false,循环结束

如果是true,继续执行

③执行循环体语句

④执行条件控制语句

⑤回到②继续

代码示例:

  1. public class WhileDemo {
  2. public static void main(String[] args) {
  3. //需求:在控制台输出5次"HelloWorld"
  4. //for循环实现
  5. for(int i=1; i<=5; i++) {
  6. System.out.println("HelloWorld");
  7. }
  8. System.out.println("--------");
  9. //while循环实现
  10. int j = 1;
  11. while(j<=5) {
  12. System.out.println("HelloWorld");
  13. j++;
  14. }
  15. }
  16. }

while循环练习-珠穆朗玛峰

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

代码:

  1. public class WhileTest {
  2. public static void main(String[] args) {
  3. //定义一个计数器,初始值为0
  4. int count = 0;
  5. //定义纸张厚度
  6. double paper = 0.1;
  7. //定义珠穆朗玛峰的高度
  8. int zf = 8844430;
  9. //因为要反复折叠,所以要使用循环,但是不知道折叠多少次,这种情况下更适合使用while循环
  10. //折叠的过程中当纸张厚度大于珠峰就停止了,因此继续执行的要求是纸张厚度小于珠峰高度
  11. while(paper <= zf) {
  12. //循环的执行过程中每次纸张折叠,纸张的厚度要加倍
  13. paper *= 2;
  14. //在循环中执行累加,对应折叠了多少次
  15. count++;
  16. }
  17. //打印计数器的值
  18. System.out.println("需要折叠:" + count + "次");
  19. }
  20. }

二、do…while循环结构

格式:

  1. 初始化语句;
  2. do {
  3. 循环体语句;
  4. 条件控制语句;
  5. }while(条件判断语句);

执行流程:

① 执行初始化语句

② 执行循环体语句

③ 执行条件控制语句

④ 执行条件判断语句,看其结果是true还是false

如果是false,循环结束

如果是true,继续执行

⑤ 回到②继续

代码:

  1. public class DoWhileDemo {
  2. public static void main(String[] args) {
  3. //需求:在控制台输出5次"HelloWorld"
  4. //for循环实现
  5. for(int i=1; i<=5; i++) {
  6. System.out.println("HelloWorld");
  7. }
  8. System.out.println("--------");
  9. //do...while循环实现
  10. int j = 1;
  11. do {
  12. System.out.println("HelloWorld");
  13. j++;
  14. }while(j<=5);
  15. }
  16. }

三、三种循环的区别

三种循环的区别

for循环和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行)

do…while循环先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后判断)

for循环和while的区别

条件控制语句所控制的自增变量,因为归属for循环的语法结构中,在for循环结束后,就不能再次被访

问到了条件控制语句所控制的自增变量,对于while循环来说不归属其语法结构中,在while循环结束后,该变量还可以继续使用

死循环(无限循环)的三种格式

  1. for(;;){}

  2. while(true){}

  3. do {} while(true);

四、跳转控制语句

跳转控制语句(break)

跳出循环,结束循环

跳转控制语句(continue)

跳过本次循环,继续下次循环

注意: continue只能在循环中进行使用!

五、循环嵌套

在循环中继续定义循环

代码

  1. public static void main(String[] args) {
  2. //外循环控制小时的范围,内循环控制分钟的范围
  3. for (int hour = 0; hour < 24; hour++) {
  4. for (int minute = 0; minute < 60; minute++) {
  5. System.out.println(hour + "时" + minute + "分");
  6. }
  7. System.out.println("--------");
  8. }
  9. }

理解:整个内循环,就是外循环的一个循环体,内循环体没有执行完毕,外循环是不会继续向下执行的

结论:外循环执行一次,内循环执行一轮。

发表评论

表情:
评论列表 (有 0 条评论,160人围观)

还没有评论,来说两句吧...

相关阅读

    相关 循环

    1、最简单的跳转:没有标签的break; 对于我这个曾经学过c++的一点都不难理解,我感觉就是小白也应该很好理解,就是跳出break语句所在的最低级的循环。这应该就很好理解

    相关 java出多重嵌套循环

    在java里面,我们知道有goto这个关键字,但是实际却没有啥作用,这就让我们不像在c/c++里面能够随便让程序跳到那去执行,而break只能跳出当前的一个循环语句,如果要跳出