Java基础04--循环结构:for循环、while循环、do-while循环(附例题)

Java基础04–循环结构

循环结构可以控制一段代码重复执行。

循环结构有for循环、while循环、do-while循环。

一个循环是由四部分构成的,分别是循环变量、循环条件、循环体、改变循环变量的值。

  • 循环变量,循环变量用于控制循环次数。
  • 循环条件,循环条件用来判断循环是否继续。、
  • 循环体,循环体是循环条件为true时,要执行的代码段。
  • 改变循环变量的值,只有循环变量的值能够改变,循环才有结束的时候,否则是死循环。

1. while 循环结构

1.语法规则

image-20230810212745875

2.执行过程

代码的执行流程如下图所示:

按照① ②③④ ②③④ … 的流程执行

如果②步骤为true,才循环执行③④步骤

如果②步骤为false,则循环结束

image-20230810212946212

举例

1.计算1~10的和

2.计算7 的阶乘

// 1~10的和  
while{
        int i = 1,sum = 0;
        while(i <= 100){
            sum += i;
            i ++;
        }
  }
System.out.println(sum);

// 7的阶乘
        int i = 1,mul = 1;
        while(i <= 7){
            mul *= i;
            i ++;
        }
        System.out.println(mul);

注意

  • 先判断,后执行
  • 若循环条件为true,表示执行循环,为false则表示终止循环
  • 若循环一直为true,这为死循环

2. do - while 循环结构

至少得循环一次

1.语法规则

image-20230810214030502

2.执行过程

do-while循环的执行流程,是按照① ②③④ ②③④… 的顺序执行的。

image-20230810214157991

举例

1.计算1~10的和

2.计算7的阶乘

//1~10的和
         int i = 1,sum = 0;
         do{
             sum += i;
             i++;
         }while(i <= 10);
        System.out.println(sum);
// 7的阶乘
       int i = 1,mul = 1;
        do{
            mul *= i;
            i ++;
        }while(i <= 7);
        System.out.println(mul);

注意:

  • do-while循环的特点是先执行,再判断的。即使条件不成立,也会先执行一次。
  • 条件为true会成死循环

3. for循环结构

1.语法规则
for (表达式1; 表达式2; 表达式3) {
    循环体
}
// 表达式1 : 循环变量的初始化
// 表达式2 : 循环条件
// 表达式3 : 改变循环变量的值
// 循环体 :要重复循环的部分
表达式1 --> 表达式2 --> 循环体 --> 表达式3 --> 表达式2 --> 循环体 --> 表
达式3 --> 表达式2
    
    
// 总结
    // for循环格式:
for (初始化语句; 循环条件; 迭代语句) {
    循环体语句(重复执行的代码);
}
2.执行流程

如下图所示,是按照下面的① ② ③ ④, ② ③ ④… 的顺序来执行的;

当②条件为true时,再依次执行③④代码,然后回到②继续判断

当②条件为false时,就结束循环

image-20230810215433225

举例

1.求1~100内的奇数和

// for  1~100奇数和
        
        int sum = 1;
        for (int i = 1;i <=100;i ++){
            if(i % 2 != 0){
                sum += i;
            }
        }
        System.out.println(sum);

注意:

  • 表达式1,是声明语句,可以空着
  • 执行表达式2时,表达式2的结果是boolean值,值为true时执行循环体
  • 循环体执行完毕后,执行表达式3,一般是为了修改变量,也可以空着;再执行表达式2,依次循环,直到布尔值为false
  • 如果不写第二部分,则程序会陷入死循环

4.三种循环比较

  1. for循环 和 while循环(先判断后执行);

​ do…while (先执行后判断)

  1. for循环和while循环的执行流程是一模一样的,功能上无区别,for能做的while也能做,反之亦然。

如果已知循环次数建议使用for循环,如果不清楚要循环多少次建议使用while循环

  1. for循环中控制循环的变量只在循环中使用

​ while循环中,控制循环的变量在循环后还可以继续使用

5.多重循环

多重循环是指在一个循环语句的循环体中再包含循环语句,也称嵌套循环。被包含的循环称为内循环,包含其他循环的循环称为外循环

举例

1.输出99乘法表

// 1*1=1	
// 2*1=2	2*2=4	
// 3*1=3	3*2=6	3*3=9	
// 4*1=4	4*2=8	4*3=12	4*4=16	
// 5*1=5	5*2=10	5*3=15	5*4=20	5*5=25	
// 6*1=6	6*2=12	6*3=18	6*4=24	6*5=30	6*6=36	
// 7*1=7	7*2=14	7*3=21	7*4=28	7*5=35	7*6=42	7*7=49	
// 8*1=8	8*2=16	8*3=24	8*4=32	8*5=40	8*6=48	8*7=56	8*8=64	
// 9*1=9	9*2=18	9*3=27	9*4=36	9*5=45	9*6=54	9*7=63	9*8=72	9*9=81
       for (int i = 1;i <= 9;i ++){
            for (int j = 1; j <= i;j++){
                System.out.print(i + "*" + j + "=" + i * j + "\t");
            }
            System.out.println();
        }

2.用**输出三角形

* 
* * 
* * * 
* * * * 
* * * * * 
    for (int r = 1; r <= 5; r ++){
            for (int k = 1;k <= r; k ++){
                System.out.print("* ");
            }
            System.out.println();
        }
对于嵌套循环重点理解这句话:外部循环每循环一次,内部循环会全部执行完一轮。

6.跳转语句

1.标签

标签可以放在for、while或do语句之前,其语法格式为:

标签: 语句;
2. breakcontinue

break作用:跳出并结束当前所在循环的执行

continue作用:结束本次循环,进入下一次循环

3. return

return返回表示方法结束返回到方法的调用处

4.区分:

break: 当前循环终止

continue:跳过本次循环,进行下一次循环

return:方法结束

举例

1.99乘法表

 row:for (int i = 1; i <= 9; i ++){
                for (int j = 1; j <= 9; j ++){
                    if (j > i){
                   // 结束内部循环,进行下一次外循环
                    //    break row;
                    System.out.println();
                    continue row;
                    }
                    System.out.print(i + " * " + j + " = " + i * j + "\t");
                }
            }

2.找出1~100内的所有素数(// 1~100以内素数的个数)

// 找出1~100内的所有素数
      //  int count = 0;
        int sum = 0;
        for (int num = 2; num <= 100; num ++) {
            boolean flag = true;
            for (int i = 2; i < num; i ++) {
                if (num % i == 0) {
                    flag = false;
                    break;
                }
                }
            if (flag) {
                System.out.println(num + "是素数");
          //      count ++;
            }
        }
    //    System.out.println(count);

image-20230810221527895

7.循环结构总结

什么是流程控制

答:流程控制是用来控制程序的执行顺序的

分支结构if和switch,如何选择?

答:if分支:一般用于对一个范围进行判断

​ switch分支:对一个一个值进行匹配

for循环和while循环、do-while如何循环

答:知道循环次数用for、不知道循环次数用while;

​ 想要先执行,再判断,用do-while

stem.out.println(count);

7.循环结构总结

什么是流程控制

答:流程控制是用来控制程序的执行顺序的

分支结构if和switch,如何选择?

答:if分支:一般用于对一个范围进行判断

​ switch分支:对一个一个值进行匹配

for循环和while循环、do-while如何循环

答:知道循环次数用for、不知道循环次数用while;

​ 想要先执行,再判断,用do-while

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值