• 【Java入门到精通】第6讲--循环结构


    前言

        循环是程序中的重要流程结构之一。循环语句能够使程序代码重复执行,适用于需要重复一段代码直到满足特定条件为止的情况。所有流行的编程语言中都有循环语句。Java 中采用的循环语句主要有 for、while、和do-while 。另外 Java 5 之后推出了 for-each 循环语句,for-each 循环是 for 循环的变形,它是专门为集合遍历而设计的。for-each 并不是一个关键字。

    一、Java中的循环

    1.1 for循环

    语法:

    for(条件表达式1;条件表达式2;条件表达式3) {
        语句块;
    }
    
    • 1
    • 2
    • 3

    for 循环中 3 个条件表达式的含义如表 1-1 所示。

    表达式形式功能举例
    条件表达式 1赋值语句循环结构的初始部分,为循环变量赋初值int i=1
    条件表达式 2条件语句循环结构的循环条件i>40
    条件表达式 3迭代语句,通常使用++ 或 – 运算符循环结构的迭代部分,通常用来修改循环

    for 关键字后面括号中的 3 个条件表达式必须用“;”隔开。for 循环语句执行的过程为:首先执行条件表达式 1 进行初始化,然后判断条件表达式 2 的值是否为 true,如果为 true,则执行循环体语句块;否则直接退出循环。最后执行表达式 3,改变循环变量的值,至此完成一次循环。接下来进行下一次循环,直到条件表达式 2 的值为 false,才结束循环,其运行流程如图 1-1 所示。
    在这里插入图片描述

    图 1-1 for循环执行流程图
    **案例:** 计算 5 的阶乘。
    public static void main(String[] args) {
        int result = 1;
        for (int number = 1; number <= 5; number++) {
            result *= number;
        }
        System.out.print("5 的阶乘结果是:" + result);   // 输出"5的阶乘结果是:120"
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    1.2 while循环

    语法:

    while(条件表达式) {
        语句块;
    }
    
    • 1
    • 2
    • 3

    while 循环语句的执行流程如图 1-2 所示。
    在这里插入图片描述

    图 1-2 while 循环语句执行流程图

    案例: 使用 while 语句计算 10 的阶乘。

    public static void main(String[] args) {
        int i = 1;
        int n = 1;
        while(i <= 10) {
            n=n*i;
            i++;
        }
        System.out.println("10的阶乘结果为:"+n);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    1.3 do-while循环

    语法:

    do {
        语句块;
    }while(条件表达式);
    
    • 1
    • 2
    • 3

    以上语句的执行过程是,首先执行一次循环操作,然后再判断 while 后面的条件表达式是否为 true,如果循环条件满足,循环继续执行,否则退出循环。while 语句后必须以分号表示循环结束,其运行流程如图 1-3 所示。

    在这里插入图片描述

    图 1-3 do-while 循环语句的执行流程

    案例: 编写一个程序,计算 10 的阶乘。使用 do-while 循环实现。

    public static void main(String[] args) {
        int number = 1,result = 1;
        do {
            result*=number;
            number++;
        }while(number <= 10);
        System.out.print("10阶乘结果是:"+result);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    1.4 foreach循环

    语法:

    for(类型 变量名:集合) {
        语句块;
    }
    
    • 1
    • 2
    • 3

    其中,“类型”为集合元素的类型,“变量名”表示集合中的每一个元素,“集合”是被遍历的集合对象或数组。每执行一次循环语句,循环变量就读取集合中的一个元素,其执行流程如图 1-4 所示。

    在这里插入图片描述

    图 1-4 foreach 循环语句的执行流程图

    案例: 假设有一个数组,采用 for 语句遍历数组的方式如下:

    // 声明并初始化数组
    int[] numbers = { 43, 32, 53, 54, 75, 7, 10 };
    System.out.println("----for----");
    // for语句
    for (int i = 0; i < numbers.length; i++) {
        System.out.println("Count is:" + numbers[i]);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    二、循环嵌套

        Java 允许循环嵌套。如果把一个循环放在另一个循环体内,那么就可以形成嵌套循环。嵌套循环既可以是 for循环嵌套 while 循环,也可以是 while 循环嵌套 do-while 循环 …… 即各种类型的循环都可以作为外层循环,也可以作为内层循环。这里以for循环嵌套为例,嵌套循环的执行流程如图 2-1 所示。

    在这里插入图片描述

    案例: 使用嵌套循环输出九九乘法表

    public static void main(String[] args) {
        System.out.println("乘法口诀表:");
        // 外层循环
        for (int i = 1; i <= 9; i++) {
            // 内层循环
            for (int j = 1; j <= i; j++) {
                System.out.print(j + "*" + i + "=" + j * i + "\t");
            }
            System.out.println();
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    三、循环跳出语句

    3.1 break语句

        break 用于完全结束一个循环,跳出循环体。某些时候需要在某种条件出现时强行终止循环,而不是等到循环条件为 false 时才退出循环。此时,可以使用 break 来完成这个功能。

    案例: 小明参加了一个 1000 米的长跑比赛,在 100 米的跑道上,他循环地跑着,每跑一圈,剩余路程就会减少 100 米,要跑的圈数就是循环的次数。但是,在每跑完一圈时,教练会问他是否要坚持下去,如果回答 y,则继续跑,否则表示放弃。

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in); // 定义变量存储小明的回答
        String answer = ""; // 一圈100米,1000米为10圈,即为循环的次数
        for (int i = 0; i < 10; i++) {
            System.out.println("跑的是第" + (i + 1) + "圈");
            System.out.println("还能坚持吗?"); // 获取小明的回答
            answer = input.next(); // 判断小明的回答是否为y?如果不是,则放弃,跳出循环
            if (!answer.equals("y")) {
                System.out.println("放弃");
                break;
            }
            // 循环之后的代码
            System.out.println("加油!继续!");
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    3.2 continue语句

        continue 语句是跳过循环体中剩余的语句而强制执行下一次循环,其作用为结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。continue 语句类似于 break 语句,但它只能出现在循环体中。它与 break 语句的区别在于:continue 并不是中断循环语句,而是中止当前迭代的循环,进入下一次的迭代。简单来讲,continue 是忽略循环语句的当次循环。

    下面看一个示例,代码如下:

    int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
    for (int i = 0; i < numbers.length; i++) {
        if (i == 3) {
            continue;
        }
        System.out.println("Count is: " + i);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    注意:continue 语句只能用在 while 语句、for 语句或者 foreach 语句的循环体之中,在这之外的任何地方使用它都会引起语法错误。

  • 相关阅读:
    如何使用webgl(three.js)实现3D储能,3D储能站,3D智慧储能、储能柜的三维可视化解决方案——第十七课
    主机jvisualvm连接到tomcat服务器查看jvm状态
    Springboot整合阿里云OSS进行文件上传
    Socks5代理IP是什么?安全吗?
    【python笔记】第十节 闭包与装饰器
    ROS从入门到精通5-4:路径规划插件开发案例(以A*算法为例)
    Java8 Stream流常用api总结 --工作起来真的很方便
    【第十四部分】Fragment和CSSModule
    mysql之两阶段提交
    [附源码]SSM计算机毕业设计疫情防控下高校教职工健康信息管理系统JAVA
  • 原文地址:https://blog.csdn.net/qq_41250372/article/details/125451959