首页 > 编程语言 >深入理解 Java 循环结构:while、do while、for 和 for-each 循环

深入理解 Java 循环结构:while、do while、for 和 for-each 循环

时间:2024-02-07 22:22:05浏览次数:28  
标签:do 示例 代码 while 循环 each 执行

Java 循环

循环可以执行一个代码块,只要达到指定的条件。循环很方便,因为它们节省时间,减少错误,并使代码更易读。

Java While 循环

while 循环会循环执行一个代码块,只要指定的条件为真:

语法

while (condition) {
  // 要执行的代码块
}

在下面的示例中,只要变量(i)小于 5,循环中的代码将一遍又一遍地运行:

示例

int i = 0;
while (i < 5) {
  System.out.println(i);
  i++;
}

注意:不要忘记增加条件中使用的变量,否则循环永远不会结束!

Do/While 循环

do/while 循环是 while 循环的变体。此循环将在检查条件是否为真之前执行一次代码块,然后只要条件为真,它就会重复执行循环。

语法

do {
  // 要执行的代码块
}
while (condition);

下面的示例使用 do/while 循环。即使条件为 false,循环至少也会执行一次,因为在测试条件之前执行代码块:

示例

int i = 0;
do {
  System.out.println(i);
  i++;
}
while (i < 5);

不要忘记增加条件中使用的变量,否则循环永远不会结束!

Java For 循环

当您确切地知道要循环多少次一个代码块时,请使用 for 循环而不是 while 循环。

语法:

for (statement 1; statement 2; statement 3) {
  // 要执行的代码块
}

说明:

  • 语句1在执行代码块之前执行一次。
  • 语句2定义执行代码块的条件。
  • 语句3在执行代码块后执行(每次)。

示例:

for (int i = 0; i < 5; i++) {
  System.out.println(i);
}

输出:

0
1
2
3
4

示例说明:

  • 语句1设置一个变量 i 并将其值初始化为 0。
  • 语句2定义循环条件:i 必须小于 5。
  • 语句3在每次循环迭代中将 i 的值增加 1。

另一个示例:

for (int i = 0; i <= 10; i = i + 2) {
  System.out.println(i);
}

输出:

0
2
4
6
8
10

示例说明:

  • 这个示例只打印0到10之间的偶数。
  • 语句3将 i 的值增加 2,而不是 1。

嵌套循环:

您还可以将一个循环嵌套在另一个循环内。这称为嵌套循环。

示例:

for (int i = 1; i <= 2; i++) {
  System.out.println("外部循环: " + i);

  for (int j = 1; j <= 3; j++) {
    System.out.println("  内部循环: " + j);
  }
}

输出:

外部循环: 1
  内部循环: 1
  内部循环: 2
  内部循环: 3
外部循环: 2
  内部循环: 1
  内部循环: 2
  内部循环: 3

示例说明:

  • 外部循环迭代两次,内部循环迭代三次。
  • 内部循环将在外部循环的每次迭代中执行三次。

总结:

  • for 循环是一种在特定次数内重复执行代码块的有效方式。
  • 您可以使用嵌套循环创建更复杂的循环结构。

For-Each 循环

除了传统的 for 循环,Java 还提供了一种更简洁的 for-each 循环,专门用于遍历数组和集合中的元素。

语法:

for (type variableName : arrayName) {
  // 要执行的代码块
}

说明:

  • type: 声明变量的类型,该类型必须与数组元素的类型一致。
  • variableName: 循环每次迭代都会赋值一个数组元素给该变量。
  • arrayName: 要遍历的数组。

示例:

String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
for (String car : cars) {
  System.out.println(car);
}

输出:

Volvo
BMW
Ford
Mazda

优点:

  • for-each 循环语法简洁,易于理解和使用。
  • for-each 循环避免了使用循环计数器,使得代码更加简洁。

局限性:

  • for-each 循环不能修改数组元素的值。
  • for-each 循环不能在循环中跳过或提前结束循环。

总结:

for-each 循环是一种方便的语法,用于遍历数组和集合中的元素。如果您只需要遍历数组中的元素,而不需要修改它们的值,那么 for-each 循环是最佳选择。

额外知识:

Java 8 及更高版本中,还可以

使用Stream API来遍历数组和集合。Stream API 提供了更强大的功能,例如过滤、排序和映射。

以下是如何使用 Stream API 遍历数组的示例:

String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};

cars.stream().forEach(System.out::println);

输出:

Volvo
BMW
Ford
Mazda

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎 点赞、收藏、关注

标签:do,示例,代码,while,循环,each,执行
From: https://www.cnblogs.com/xiaowange/p/18011401

相关文章

  • 基本的DOS命令
    DOS命令打开CMD的方式开始菜单+系统+命令提示符windows+r输入cmd打开控制台在任意文件夹下面,按住shift键+鼠标右键点击,在此处打开命令行窗口资源管理器的地址栏前面加上cmd加空格加路径管理员方式运行:选择以管理员方式运行常用的DOS命令:#盘符切换(需要切换盘的名称加冒......
  • Windows添加服务命令
    打开命令提示符:在开始菜单中搜索“cmd”,并在搜索结果中找到CMD应用程序。使用sccreate命令创建一个新的服务。输入服务名称和服务的二进制路径,并选择适当的服务类型选项和启动类型。使用scconfig命令设置服务的启动类型和其他选项。使用scdelete命令删除服务。示例代码:s......
  • 【AutoML】AutoKeras 进行 RNN 循环神经网络训练
    由于最近这些天都在人工审查之前的哪些问答数据,所以迟迟都没有更新AutoKeras的训练结果。现在那部分数据都已经整理好了,20w+的数据最后能够使用的高质量数据只剩下2k+。这2k+的数据已经经过数据校验并且对部分问题的提问方式和答案内容进行了不改变原意的重构,相信用这部分数......
  • Docker的资源限制
    前言本文主要会介绍笔者在学习Docker的资源限制实现原理时所总结的知识点,其中会涉及到对于CPU资源限制、内存资源限制以及磁盘I/O资源限制等方面的相关内容。笔者也会将自己的理解在文中进行阐述,这也算是在和大家交流心得的一个过程。若文中有错误的理解和概念,请大家及时纠正;吸纳......
  • 领域驱动设计(Domain-Driven Design,简称DDD)【简介 个人学习笔记】
    找到了第1篇资料:领域驱动设计详解:是什么、为什么、怎么做?-知乎找到了第2篇资料:领域驱动架构(DDD)建模中的模型到底是什么?-知乎找到了第3篇资料:一文看懂DDD领域驱动设计-知乎找到了第4篇资料:什么是DDD(领域驱动设计)?这是我见过最容易理解的...找到了第5篇资料:领......
  • 循环语句
    #include<stdio.h>//循环语句//while循环intmain(){ printf("好好学习!\n"); intline=0; while(line<=1000) { line++; printf("我要继续敲代码!\n"); } if(line>1000) { printf("你会有一个好offer!\n"); } return0;}......
  • docker---dockerfile自定义镜像指令
    dockerfile指令FROM#指定所基于的镜像名称及其标签来创建新镜像。RUN#在镜像中执行命令。ADD#将文件或目录复制到镜像中。可以使用URL作为源文件。COPY#与ADD类似,将文件或目录复制到镜像中,但不支持URL作为源文件。CMD#指定运行容器时要执行的命令,如果在......
  • 学习Makedown
    makedown学习标题:空格+标题名字二级标题二级标题空格+标题名字三级标题四级标题字体Helloworld!Helloworld!Helloworld!Helloworld!引用学悦开始学程序分割线图片!截图超链接点击跳转到列表ABCD加一个空格(有序列表)123​......
  • docker的优势和劣势
    优势:1.轻量级快速:Docker利用容器技术,相比传统虚拟化技术更加轻量级,启动速度快,资源消耗低,使得应用可以更快地部署和运行。2.跨平台:Docker支持跨平台运行,可以在不同的操作系统上运行,例如Linux、Windows和macOS等,为开发和部署提供了更大的灵活性。3.隔离性:Docker容器提......
  • docker-compose
    docker-compose简介DockerCompose是Docker官方提供的一个用于定义和运行多个Docker容器的工具。它允许用户使用一个单独的文件(通常称为docker-compose.yml)来配置应用程序的服务,并使用一条命令启动、停止和管理整个应用程序的容器。以下是DockerCompose的主要功能和特点......