【Java开发指南 | 第十二篇】Java循环结构

读者可订阅专栏:Java开发指南 |【CSDN@秋说】

在这里插入图片描述

文章目录

  • 循环
    • 1、while循环
    • 2、do-while循环
    • 3、for循环
  • break 关键字
  • 数组for循环
  • continue 关键字

循环

与C语言相同,Java中有三种主要的循环结构:

  • while 循环
  • do…while 循环
  • for 循环

1、while循环

while 循环是一种入口控制循环,它在每次迭代之前检查循环条件是否为真。只有当条件为真时,循环体才会执行。如果条件一开始就为假,循环体可能不会执行一次。

适用场景:

  • 当循环的次数不确定,但循环的条件可以在迭代前确定时,适合使用 while 循环。
  • 当需要重复执行一段代码,直到满足某个条件时,也可以使用 while 循环。

模板:

while (condition) {
    // 循环体
    // 在条件为真时执行
}

实例:

int count = 0;
while (count < 5) {
    System.out.println("Count: " + count);
    count++;
}
//打印从 0 到 4 的数字

2、do-while循环

do-while 循环是一种出口控制循环,它在每次迭代之后检查循环条件是否为真。因此,do-while 循环至少会执行一次循环体,然后根据条件是否为真决定是否继续执行。

适用场景:

  • 当需要至少执行一次循环体,然后根据条件决定是否继续执行时,适合使用 do-while 循环。
  • 当循环条件依赖于循环体中的操作结果时,也可以使用 do-while 循环。

模板:

do {
    // 循环体
    // 至少执行一次
} while (condition);

实例:

int count = 0;
do {
    System.out.println("Count: " + count);
    count++;
} while (count < 5);
//打印从 0 到 4 的数字

3、for循环

for 循环是一种方便的迭代结构,它将初始化、条件检查和迭代更新放在一个语句中。这使得代码更加简洁,并且更容易理解循环的逻辑。

适用场景:

  • 当循环的次数已知且固定时,适合使用 for 循环。
  • 当需要对某个范围内的值进行迭代时,for 循环也是一个很好的选择。

模板:

for (initialization; condition; update) {
    // 循环体
}

实例:

for (int i = 0; i < 5; i++) {
    System.out.println("Count: " + i);
}
//打印从 0 到 4 的数字

在循环进行的过程中,如果我们想要打破循环怎么办?这就涉及到了break关键字。

break 关键字

break 主要用在循环语句或者 switch 语句中,用来跳出整个语句块。

如果break在多层循环的某一层,则只会跳出该层循环,并且继续执行该循环下面的语句。

语法:

break;

举个例子:

public class ice {
    public static void main(String[] args){
        int[] arr = {12,34,56,7};
        //int x;
        for(int x=0;x<=3;x++){
            System.out.println(arr[x]);
            break;
            //输出arr[0]后,遇见break语句,直接跳出循环,导致只输出12
        }
    }
}

在这里插入图片描述

数组for循环

除了上面三种循环外,Java5 引入了一种主要用于数组的增强型 for 循环。

Java 增强 for 循环语法格式如下:

for(声明语句 : 表达式) 
{   
//代码句子 
  }

**声明语句:**声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。

**表达式:**表达式是要访问的数组名,或者是返回值为数组的方法。

声明新的局部变量时,必须在for语句内,不能在for语句外,否则报错:

在这里插入图片描述

正确写法:

在这里插入图片描述


continue 关键字

continue 语句在 for 循环中执行时,它会导致程序立即跳转到更新语句(即下一次迭代的开始处),而不执行循环体中 continue 语句之后的代码。

语法:

continue

在 for 循环中,continue 语句使程序立即跳转到更新语句。

for (int i = 0; i < 5; i++) {
    if (i == 2) {
        continue; // 当 i 等于 2 时,立即跳转到更新语句
    }
    System.out.println("Count: " + i);
}

在这里插入图片描述

在 while 或者 do…while 循环中,程序立即跳转到布尔表达式的判断语句。

public class ice {
    public static void main(String[] args){
        int i = 0;
        while (i < 5) {
            i++;
            if (i == 2) {
                continue; // 当 i 等于 2 时,跳过当前迭代,重新检查布尔表达式 i < 5
            }
            System.out.println("i = " + i);
        }

    }
}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/554954.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python二级题目-仅使用 Python 基本语法,即不使用任何模块,编写 Python 程序计算下列数学表达式的结果并输出,小数点后保留 3 位。

x(((3**4)5*(6**7))/8)**0.5 .format 用法一&#xff1a; print({}.format(1)) 1 print(这个是format的用法{}。。。.format(3)) 这个是format的用法3 ’大括号1:{},大括号2:{},大括号3:{}‘.format(3,4,5) print(’大括号1:{},大括号2:{},大括号3:{}‘.form…

内业减少80%人工操作,林地地形轻松测!

林业作为维护生态平衡和保护环境的关键领域&#xff0c;其科学管理和合理利用是当前林业工作的重中之重。林业调查旨在全面了解当前林业资源的状况&#xff0c;其中林地地形测量是林业调查的基础工作。通过对林地地形的准确测量&#xff0c;可获取森林的地理位置、面积、地貌、…

(CVPR,2024)CAT-Seg:基于成本聚合的开放词汇语义分割

文章目录 摘要引言方法计算成本与嵌入空间成本聚合类别成本聚合CAT-Seg框架 实验 摘要 开放词汇的语义分割面临着根据各种文本描述对图像中的每个像素进行标记的挑战。在这项工作中&#xff0c;我们引入了一种新颖的基于成本的方法&#xff0c;以适应视觉语言基础模型&#xf…

设计模式———单例模式

单例也就是只能有一个实例&#xff0c;即只创建一个实例对象&#xff0c;不能有多个。 可能会疑惑&#xff0c;那我写代码的时候注意点&#xff0c;只new一次不就得了。理论上是可以的&#xff0c;但在实际中很难实现&#xff0c;因为你无法预料到后面是否会脑抽一下~~因此我们…

RocketMQ顺序消息消费重试DEMO

Producer - 加入了id为key&#xff0c;msg为bean的json字符 public class AddProducer {public static void main(String[] args) throws Exception {DefaultMQProducer producer new DefaultMQProducer("a-group");producer.setNamesrvAddr("192.168.0.211:9…

损失函数:Cross Entropy Loss (交叉熵损失函数)

损失函数&#xff1a;Cross Entropy Loss &#xff08;交叉熵损失函数&#xff09; 前言相关介绍Softmax函数代码实例 Cross Entropy Loss &#xff08;交叉熵损失函数&#xff09;Cross Entropy Loss与BCE loss区别代码实例 前言 由于本人水平有限&#xff0c;难免出现错漏&am…

密码学 | 椭圆曲线密码学 ECC 入门(二)

目录 4 椭圆曲线&#xff1a;更好的陷门函数 5 奇异的对称性 6 让我们变得奇特 ⚠️ 原文地址&#xff1a;A (Relatively Easy To Understand) Primer on Elliptic Curve Cryptography ⚠️ 写在前面&#xff1a;本文属搬运博客&#xff0c;自己留着学习。如果你和我一样…

【Linux】应用层协议:HTTP

URL 在之前的文章中我们实现了一个网络版本的计算器&#xff0c;在那个计算器中揉合了协议定制以及序列化反序列化的内容&#xff0c;我们当时也自己定制了一套协议标准&#xff0c;比如请求和响应的格式应该是什么&#xff1f;如何读到一个完整的报文&#xff1f;支持的运算符…

【XR806开发板试用】在 xr806 上移植 LVGL

本文参与极术社区的《基于安谋科技STAR-MC1的XR806开发板试用》活动。 不多废话&#xff0c;直接开搞&#xff0c;先上效果图 准备 开发环境啥的&#xff0c;已经有很多文章了&#xff0c;这里就不再提搭建开发环境的相关内容了。 一个屏幕(1.8’ 128x160) LVGL源码(v8.0.2…

京东微服务microApp使用总结

前言 基于现有业务门户进行微服务基础平台搭建 主应用框架&#xff1a;vue3vite 子应用框架&#xff1a;vue2webpack / vue3vite在这里插入代码片 本地调试即可&#xff1a;主应用子应用进行打通&#xff08;注意&#xff1a;两者都是vue3vite&#xff09; 问题总结 1.嵌入…

压缩感知的概述梳理(3)

参考文献 Adaptive embedding: A novel meaningful image encryption scheme based on parallel compressive sensing and slant transform 文献内容 梳理 列表形式 并行压缩感知核心元素与流程 信号 x 长度&#xff1a;N表示&#xff1a;(x \sum_{i1}^{N} a_i\psi_i \su…

密码学 | 椭圆曲线密码学 ECC 入门(三)

目录 7 这一切意味着什么&#xff1f; 8 椭圆曲线密码学的应用 9 椭圆曲线密码学的缺点 10 展望未来 ⚠️ 原文地址&#xff1a;A (Relatively Easy To Understand) Primer on Elliptic Curve Cryptography ⚠️ 写在前面&#xff1a;本文属搬运博客&#xff0c;自己留…

Argus DBM 一款开源的数据库监控工具,无需部署Agent

开箱即用 无需部署Agent&#xff0c;开箱即用。我们使用JDBC直连您的数据库&#xff0c;输入IP端口账户密码即可。 全平台支持 Argus目前支持对Mysql, PostgreSQL, Oracle等数据库类型的监控&#xff0c;我们也会尽快适配其它数据库&#xff0c;致力于监控所有数据库。我们提…

ctfshow web入门 SQl注入web171--web179

从这里开始SQl建议大家去看这篇文章学习一下先 MySQl web171 法一联合查询 题目 $sql "select username,password from user where username !flag and id ".$_GET[id]." limit 1;";爆数据库名 -1 union select 1,database(),3 -- 爆表名 -1 union s…

el-input在type=“textarea“中文字换行,导出成word文档中也显示换行

el-input在type"textarea"文字中换行&#xff0c;是\n转义的&#xff0c;文字导出成word文档没有换行&#xff0c;只需要把\n替换成\r&#xff0c;这样el-input和word文档都能正常显示换行 val.replace.replace("\n", "\r")

UWB技术应用:UWB模块在室内定位系统中的关键角色

随着室内定位技术的不断发展&#xff0c;UWB模块在室内定位系统中扮演着关键角色&#xff0c;其高精度、抗干扰和多路径传输等特点&#xff0c;为室内定位提供了可靠的技术支持。本文将探讨UWB模块在室内定位系统中的关键角色&#xff0c;包括其原理、应用场景和技术优势&#…

Java项目 苍穹外卖 黑马程序员

目录 day1一、项目效果展示二、项目开发整体介绍三、项目介绍3.1 定位3.2 功能架构3.3 产品原型3.4 技术选型 四、开发环境搭建4.1 前端环境4.2 后端环境 五、导入接口文档六、Swagger6.1 介绍6.2 使用方式6.3 常用注解 day2一、新增员工二、员工分页查询三、启用禁用员工账号四…

【无标题】PHP-parse_str变量覆盖

[题目信息]&#xff1a; 题目名称题目难度PHP-parse_str变量覆盖1 [题目考点]&#xff1a; 变量覆盖指的是用我们自定义的参数值替换程序原有的变量值&#xff0c;一般变量覆盖漏洞需要结合程序的其它功能来实现完整的攻击。 经常导致变量覆盖漏洞场景有&#xff1a;$$&…

paddle gpu install

官方教程 https://www.paddlepaddle.org.cn/documentation/docs/zh/install/pip/linux-pip.html#sanyanzhenganzhuang 创建一个新的环境安装 python3 -m pip install paddlepaddle-gpu2.6.1.post112 -f https://www.paddlepaddle.org.cn/whl/linux/cudnnin/stable.htmlpython …

网络基础-TCP和UDP协议区别

什么是 TCP 协议&#xff1f; TCP 全称是 Transmission Control Protocol&#xff08;传输控制协议&#xff09;&#xff0c;它由 IETF 的 RFC 793 定义&#xff0c;是一种面向连接的点对点的传输层通信协议。 TCP 通过使用序列号和确认消息&#xff0c;从发送节点提供有关传输…