流程控制语句

循环

1.1while

语法: while (布尔表达式) { // 循环的内容 }


执行流程:

        1 执行到while时,开始判断表达式

        2 如果表达式结果为true,就执行{}内的内容

        3 执行完后,继续回头再判断while内的表达式

        4 如果为true,继续执行{}内的内容

        5 执行完后,继续回头执行while内容

        6 只有当while后的内容判断为false时就跳过{},不再循环


循环有四要素:

        1 循环要有初始值

        2 循环要有控制条件

        3 循环要有迭代

        4 循环要有循环体


例如

 public static void main(String[] args) {
         // 向控制台输出10句 :你好
         /*
          * while (布尔表达式) {
          *    // 循环的内容
          * }
          */
         int i = 1;        // 循环初始值
         while (i <= 10) { // 循环控制条件
             System.out.println("你好"); // 循环体
             i++;          // 循环迭代
         }
     }

1.2 do-while

语法: do { // 循环体 // 循环迭代 }while(布尔表达式);


执行流程:

        1 先执行do内的代码

        2 再判断while后表达式,

         3 如果结果为ture,就继续执行do内的代码

        4 然后再判断while,直到while后的内容false就不再循环


举例

 public static void main(String[] args) {
         // 使用dowhile.输出1-10
         int i = 1;
         do {
             System.out.print(i+" ");
             i++;
         } while (i <= 10);
         System.out.println();
         
         // 使用dowhile.输出10-1
         int j = 10;
         do {
             System.out.print(j + " ");
             j--;
         } while (j >= 1);
         System.out.println();
         
         // 使用dowhile.输出1-100之间的偶数
         int k = 1;
         do {
             if (k % 2 == 0) {
                 System.out.print(k +" ");
             }
             k++;
         } while (k <= 100);
     }

while与do-while的区别:

        1.while 当型循环 , do-while 直到型循环

        2.while先判断后执行,do-while是先执行后判断

        3.do-while至少会执行一次

1.3for循环

语法: for(初始值;条件;迭代) { 循环体; }

     // 输出 1- 10
         for(int i = 1;i <= 10;i++) {
             System.out.print(i+" ");
         }

for循环的执行流程:

  • 循环初始值,只执行一次

  • 进行判断

  • 判断为true,就向下执行循环体

  • 循环体执行完,回头执行i++

  • 然后再判断,如果为true,继续向下执行循环体

  • 继续自增,直到判断为false,循环不再执行


    小例子

     public static void main(String[] args) {
         // 循环输出1-100的和
             int sum = 0;
             for (int i = 1; i <= 100; i++) {
                 sum = sum + i;
             }
             System.out.println("sum = " + sum);
             
             // 循环输出100-999之间的水仙花数
             // 水仙花数是:三位数,每位数单独的立方相加等于其本身
             // 153 = 1*1*1 + 5*5*5 + 3*3*3 = 1+125+27
             for (int num = 100;num < 1000;num++) {
                 // 将每个三位数拆解,分别得到个十百位
                 int ge = num % 10;
                 int shi = num / 10 % 10;
                 int bai = num / 100;
                 if (num == ge * ge * ge + shi * shi * shi + bai * bai * bai) {
                     System.out.println(num +"是水仙花数");
                 }
             }
         
         
     }

    1.3.1for循环的嵌套

             /*
              * 打印三角形
              * *
              * **
              * ***
              * ****
              * *****
              * ******
              * *******
              */
    
             // 外层循环控制行数
             for (int i = 1;i <= 7;i++) {
                 // 内层循环控制列数
                 // 列数不固定
                 for (int j = 1;j <= i;j++) {
                     System.out.print("*");
                 }
                 System.out.println();
             }

1.4continue

        continue : 继续,只能在循环中使用.

        作用: 中断当前这一次循环,继续后续循环

例如

 public static void main(String[] args) {
 ​
         for (int i = 1; i <= 10; i++) {
             if (i == 5) {
                 /*
                  * 1 continue 只能在循环中使用
                  * 2 用来中断这一次循环,继续下次循环
                  */
                 continue;
             }
             System.out.println(i);
         }
     }

ps: continue和break的区别:

  • continue是打断这一次循环,继续下次循环

  • break是打断当前整个循环,不再执行循环

1.5return

return不是流程控制语句关键词,因为流程控制语句关键词(break,continue)只能放在流程控制语句中.

return可以放在程序方法内的任何位置.

程序一旦执行到return,该 “方法” 就结束,该方法后续所有代码不再执行!

例子

 public static void main(String[] args) {
         for (int i = 1; i < 10; i++) {
             if (i == 5) {
                 return; // 执行到return,该方法结束,后续不再执行
             }
             System.out.println(i);
         }
         System.out.println("程序结束~");
     }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值