🏡个人主页 :@ 守夜人st 🚀

循环语句:主要循环反复的去执行某段特定的代码块


文章目录

  • 控制语句
  • 循环语句:主要循环反复的去执行某段特定的代码块
  • for循环
  • while循环语句
  • 跳转语句:
  • break
  • continue
  • return(多在方法中使用)
  • 总结


for循环

语法机制:

for(初始化表达式;条件表达式;更新表达式){
循环体;
 }

注意:

  • 第一,初始化表达式最先执行,并且在整个循环中只执行一次
  • 第二,条件表达式结果必须是一个布尔类型,也就是(true或者false)

执行原理:

  • 先执行初始化表达式,并且初始化表达式只执行一次
  • 然后判断条件表达式的结果,如果条件表达式结果为true,则执行循环体
  • 循环体结束后,执行更新表达式
  • 更新表达式执行后再次判断条件表达式的结果,true则继续执行循环体
  • 直到更新表达式执行结束后,再次判断条件时,条件为false,for循环终止。

for循环嵌套经典案例(打印九九乘法表)

案例分析

  • 找规律不难发现一共9行
  • 第n行有n个
  • 每行输出完才能换行
  • System.out.println();输出完之后换行
  • System.out.print();输出完之后不换行
package com.shouyerenst;

public class forTest1 {
    public static void main(String[] args) {
        /*
            利用for循环嵌套打印九九乘法表
            1*1=1 |
            1*2=2 | 2*2=4 |
            1*3=3 | 2*3=6 | 3*3=9 |
            、、、
            1*9=9 | 2*9=18 | 3*9=27 、、、
        */
        
        //控制循环次数9次
        for (int i = 1;i <=9;i++){
            for (int j = 1;j <= i;j++){
                System.out.print(j + "*" + i + "=" + (i * j) + " | ");  //打印行
            }
            System.out.println();    //每行打印完之后负责换行
        }
    }
}

输出结果

1*1=1 | 
1*2=2 | 2*2=4 | 
1*3=3 | 2*3=6 | 3*3=9 | 
1*4=4 | 2*4=8 | 3*4=12 | 4*4=16 | 
1*5=5 | 2*5=10 | 3*5=15 | 4*5=20 | 5*5=25 | 
1*6=6 | 2*6=12 | 3*6=18 | 4*6=24 | 5*6=30 | 6*6=36 | 
1*7=7 | 2*7=14 | 3*7=21 | 4*7=28 | 5*7=35 | 6*7=42 | 7*7=49 | 
1*8=8 | 2*8=16 | 3*8=24 | 4*8=32 | 5*8=40 | 6*8=48 | 7*8=56 | 8*8=64 | 
1*9=9 | 2*9=18 | 3*9=27 | 4*9=36 | 5*9=45 | 6*9=54 | 7*9=63 | 8*9=72 | 9*9=81 |

while循环语句

  • while循环的语法机制以及执行原理
  • 语法机制
    //初始化表达式;
    while(布尔表达式){
    循环体;
    //更新表达式;
    }
  • 执行原理
    判断布尔表达式的结果,如果为true就执行循环体
    循环体结束之后,再次判断布尔值表达式结果,
    如果还是true,继续执行循环体,指定布尔表达式结果为false,循环结束
  • 注意循环条件的设置,否则while(true){}会陷入死循环
  • while循环和for循环原理是一样的,只是写法不同

do…while …循环语句
do…while循环语句的执行原理及语法机制

  • 语法机制
do{
	循环体;
}while();
  • do…while循环最后不要漏掉"分号"
  • 执行原理
    先执行循环体当中的代码,执行一次循环体之后对布尔表达式进行判断,true继续执行,false结束。

下面一个示例程序可以带大家直观的理解while与do…while的区别(不管条件是否成立do…while至少会执行一次)

package com.shouyerenst;

public class WhileTest {
    public static void main(String[] args) {
    
        int i = 10;
        do {
            System.out.println(i);
        }while (i  > 100);
        System.out.println("----------------------------------------");
        while (i > 100){
            System.out.println(i);
        }
    }
}

输出结果

10
----------------------------------------

跳转语句:

break

  • break是Java语言当中的关键字,翻译为”中断“
  • break;可以成为一个单独的语句
  • 在上一章的选择语句switch中,我们可以看到,break终止起到了终止的作用
  • 在循环语句中使用时,就是终止循环的作用

continue

  • continue表示继续/go on/下一个
  • 与break一样continue同样是一个关键字且可单独成为一个语句

break和continue的区别

  • break表示结束循环,终止循环
  • continue表示的是跳过本次,继续执行下次循环

示例代码

package com.shouyerenst;

public class JumpTest {
    public static void main(String[] args) {
        
        for (int i = 0;i < 10;i++){
            if (i == 5){
                break;
            }
            System.out.println("i = " + i);
        }
        System.out.println("-------------------");
        for (int i = 0;i < 10;i++){
            if (i == 5){
                continue;
            }
            System.out.println("i = " + i);
        }
    }
}

return(多在方法中使用)

return语句的内容放到后面方法中穿插理解。

总结

循环语句可以帮我们实现很多繁琐复杂的工作,而跳转语句更像是是一个开关,控制循环语句的执行,所以学习的时候我们要把他们结合在一起去学习。

算法对程序员来说及其重要,语言和开发平台不断变化,但是万变不离其宗的是那些算法和理论,刷算法最最最直白的原因就是找一个好的工作,那刷题一定是必不可少的