【Java笔记】第4章:深入学习循环结构

ops/2024/10/22 12:25:57/

  • 前言
  • 1. 循环的理解
  • 2. while循环
  • 3. do...while循环
  • 4. for循环
  • 5. 循环的控制语句
  • 6. 循环的嵌套
  • 结语


在这里插入图片描述


上期回顾: 【Java笔记】第3章:深入学习分支结构
个人主页:C_GUIQU
归属专栏:【Java学习

在这里插入图片描述

前言

各位小伙伴大家好!上期小编给大家讲解了Java中的分支结构,接下来讲讲循环!
在这里插入图片描述

1. 循环的理解

【理解】依据条件,重复且有规律。
【组成】循环变量的初始化、循环条件、循环变量的改变、循环体。
【分类】while循环、do…while循环、for循环。

2. while循环

【语法】

java">// 循环变量的初始化
while(循环条件){// 循环体(重复执行的功能代码)// 循环变量的改变
}

【示例】计算从 1 加到 10 的和

java">public class WhileExample {public static void main(String[] args) {int sum = 0; // 定义一个变量用于存储和int i = 1; // 定义一个循环变量while (i <= 10) { // 当 i 小于等于 10 时执行循环体内的语句sum += i; // 将 i 的值加到 sum 上i++; // 将 i 的值增加 1}// 循环结束后打印结果System.out.println("1 到 10 的和为: " + sum);}
}

3. do…while循环

【语法】

java">// 循环变量的初始化
do{// 循环体// 循环变量的改变
}while(循环条件); // 分号不能省略

【特点】先执行,再判断。
【示例】计算从 1 加到 10 的和

java">public class DoWhileExample {public static void main(String[] args) {int sum = 0; // 定义一个变量用于存储和int i = 1; // 定义一个循环变量do {sum += i; // 将 i 的值加到 sum 上i++; // 将 i 的值增加 1} while (i <= 10); // 当 i 小于等于 10 时继续执行循环体内的语句// 循环结束后打印结果System.out.println("1 到 10 的和为: " + sum);}
}

4. for循环

【语法】

java">for(循环变量的初始化;循环条件;循环变量的改变){// 循环体
}

【执行原理】

在这里插入图片描述
【示例1】打印从 1 到 10 的数字

java">public class ForLoopExample {public static void main(String[] args) {// 使用 for 循环打印从 1 到 10 的数字for (int i = 1; i <= 10; i++) {System.out.println(i);}}
}

【示例2】遍历数组

java">public class ForLoopArrayExample {public static void main(String[] args) {// 定义一个整型数组int[] numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};// 使用 for 循环遍历数组并打印每个元素for (int i = 0; i < numbers.length; i++) {System.out.println(numbers[i]);}}
}

【循环的总结】
while循环和for循环特点:先判断,再执行。
do…while循环特点:先执行,再判断。
当循环次数不确定时,建议使用while循环。
当循环的次数明确时,建议使用for循环。

5. 循环的控制语句

在 Java 中,循环的控制语句允许你改变循环的正常流程。主要有三种控制语句:breakcontinuereturn

  1. break 语句:用于立即退出最内层的循环,无论循环条件是否为真。break 语句也可以用于 switch 语句,用于退出 switch 语句。
java">for (int i = 1; i <= 10; i++) {if (i == 5) {break; // 当 i 等于 5 时,退出循环}System.out.println(i); // 只打印 1 到 4
}
  1. continue 语句:用于跳过当前循环的剩余部分,并开始下一次循环迭代。
java">for (int i = 1; i <= 10; i++) {if (i == 5) {continue; // 当 i 等于 5 时,跳过这次迭代}System.out.println(i); // 打印 1 到 10,但不包括 5
}
  1. return 语句:用于从方法中返回一个值(如果方法有返回类型的话),并立即退出该方法。如果在循环内使用 return,它将导致整个方法立即结束,从而退出循环。
java">public static void printNumbers(int max) {for (int i = 1; i <= max; i++) {if (i == 5) {return; // 当 i 等于 5 时,退出方法}System.out.println(i); // 只打印 1 到 4}
}

在编写循环时,这些控制语句可以用来根据特定的条件来控制循环的执行流程。需要注意的是,过度使用这些控制语句可能会导致代码难以理解和维护,因此应该谨慎使用。

6. 循环的嵌套

循环的嵌套是指在一个循环内部再嵌套另一个循环。在 Java 中,你可以嵌套 forwhiledo...while 循环。
在实际开发中,for循环用的最多,接下来举三个for循环嵌套的例子。

【打印一个乘法表】

java">public class NestedLoopsExample {public static void main(String[] args) {int rows = 10;int columns = 10;// 外层循环控制行for (int i = 1; i <= rows; i++) {// 内层循环控制列for (int j = 1; j <= columns; j++) {// 打印乘法表的一个元素System.out.print(i * j + "\t");}// 每打印完一行后换行System.out.println();}}
}

在这个例子中,外层 for 循环用于控制行数,内层 for 循环用于控制每行中的列数。内层循环会在外层循环的每次迭代中完整执行。这样,内层循环的每次迭代都会打印出当前行和列的乘积。

【打印星号图案】
这个例子使用嵌套的 for 循环来打印一个金字塔形状的星号图案。

java">public class StarPatternExample {public static void main(String[] args) {int rows = 5;// 外层循环控制行数for (int i = 1; i <= rows; i++) {// 打印空格,形成左对齐的金字塔for (int j = 1; j <= rows - i; j++) {System.out.print(" ");}// 内层循环控制每行星号的个数for (int j = 1; j <= i; j++) {System.out.print("*");}// 每打印完一行后换行System.out.println();}}
}

运行这个程序会输出以下图案:

    **********
*****

【遍历二维数组】
这个例子使用嵌套的 for 循环来遍历一个二维数组并打印其元素。

java">public class TwoDimensionalArrayExample {public static void main(String[] args) {int[][] matrix = {{1, 2, 3},{4, 5, 6},{7, 8, 9}};// 外层循环遍历行for (int i = 0; i < matrix.length; i++) {// 内层循环遍历列for (int j = 0; j < matrix[i].length; j++) {// 打印数组元素System.out.print(matrix[i][j] + " ");}// 每打印完一行后换行System.out.println();}}
}

运行这个程序会输出二维数组的所有元素,按照它们在数组中的排列:

1 2 3
4 5 6
7 8 9

在这两个例子中,嵌套循环用于处理更复杂的逻辑,比如在第一个例子中创建一个基于行和列的图形,在第二个例子中遍历一个二维数据结构。嵌套循环是处理这类问题的有力工具。

嵌套循环可以用于多种场景,比如处理二维数组、图形和图像的渲染、复杂的数据结构遍历等。在设计嵌套循环时,重要的是要确保内外层循环的逻辑是正确的,并且要考虑到循环的终止条件,以避免无限循环。

结语

以上就是小编对Java中循环的讲解。
如果觉得小编讲的还可以,还请一键三连。互三必回!
持续更新中~!
在这里插入图片描述


http://www.ppmy.cn/ops/5523.html

相关文章

程序员自由创业周记#32:新产品构思

程序员自由创业周记#32&#xff1a;新产品构思 新作品 我时常把自己看做一位木匠&#xff0c;有点手艺&#xff0c;能做一些作品养活自己。而 加一、Island Widgets、Nap 就是我的作品。 接下来在持续维护迭代的同时&#xff0c;要开启下一个作品的创造了。 其实早在2022的1…

python爬虫-----深入了解 requests 库下篇(第二十五天)

&#x1f388;&#x1f388;作者主页&#xff1a; 喔的嘛呀&#x1f388;&#x1f388; &#x1f388;&#x1f388;所属专栏&#xff1a;python爬虫学习&#x1f388;&#x1f388; ✨✨谢谢大家捧场&#xff0c;祝屏幕前的小伙伴们每天都有好运相伴左右&#xff0c;一定要天天…

深度学习之目标检测从入门到精通——json转yolo格式

记录点&#xff1a; import json import osname2id {person:0,helmet:1,Fire extinguisher:2,Hook:3,Gas cylinder:4}def convert(img_size, box):dw 1./(img_size[0])dh 1./(img_size[1])x (box[0] box[2])/2.0 - 1y (box[1] box[3])/2.0 - 1w box[2] - box[0]h box…

2024Guitar Pro 8.1 Mac 最新下载、安装、激活、换机图文教程

吉他爱好者必备神器&#xff1a;Guitar Pro v8.1.1 Build 17深度解析 随着数字音乐制作和学习的日益普及&#xff0c;越来越多的吉他爱好者开始寻找能够帮助他们提升技能、创作音乐的专业工具。在众多吉他制作软件中&#xff0c;Guitar Pro因其强大的功能和易用的界面备受推崇…

线性代数基础2矩阵

矩阵是什么 矩阵就是二维数组&#xff0c;下面是一个 m 乘 n 的矩阵&#xff0c;它有 m 行&#xff0c;n 列&#xff0c;每行每列上面都有元素&#xff0c;每个元素都有行标i 和列标 j&#xff0c; a ij 。简称m n矩阵&#xff0c;记作&#xff1a; 注意a11的索引是 A[0,0]。…

JAVA 项目<果园之窗>_2

上节主要是理论流程&#xff0c;这次直接用实际例子过一遍整个流程 目标是向数据库添加一个员工 上述是前端页面&#xff0c;点击保存 浏览器向我后端发送http请求 后端这一部分专门接收employee请求 在这里对http post请求进行转换成JAVA数据&#xff0c;并处理数据&#xff…

Uni-app中实现数据选择并回传给上个页面的方法

当我们在Uni-app中进行页面间数据传递时&#xff0c;通常会涉及到数据的选择以及回传给上个页面的需求。为了达到这个目的&#xff0c;我们可以利用Uni-app提供的事件机制和页面导航方法来实现。以下是一种实现方式&#xff1a; 数据选择并回传给上个页面的方法 第一步&#…

Qt编译静态链接库和动态链接库(WindowsLinux)

最近需要在Linux中编译相关程序动态库&#xff0c;对相关经验总结。 使用到的工具为Qt5.13.2 QT编译 1. WINDOWS1.1 静态库制作1.2 静态库的使用1.3 动态库制作1.4 动态库使用 2. LINUX2.1 静态链接库2.2动态库 附录gcc 编译程序查找顺序&#xff1a;Linux 程序运行时查找顺序&…