java基础之循环

        Java中有三种主要的循环结构:

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

1、while循环

1.1、结构

while( 布尔表达式 ) { //循环内容 }

 1.2、实例

public class TestWhile {public static void main(String[] args) {int x= 1;while (x<=10){System.out.println("value of x:" + x);x++;}}
}结果:
value of x:1
value of x:2
value of x:3
value of x:4
value of x:5
value of x:6
value of x:7
value of x:8
value of x:9
value of x:10

2、do…while 循环

2.1、结构

do { //代码语句 }while(布尔表达式);

 2.2、实例

public class TestDoWhile {public static void main(String[] args) {int x= 1;do {System.out.println("value of x:" + x);x++;}while (x<=10);}
}
结果:
value of x:1
value of x:2
value of x:3
value of x:4
value of x:5
value of x:6
value of x:7
value of x:8
value of x:9
value of x:10

3、for循环

3.1、结构

for(初始化; 布尔表达式; 更新) {
    //代码语句
}

3.2、实例

public class TestFor {public static void main(String[] args) {for (int i = 0; i <= 10; i++) {System.out.println("value of x:"+ i);}}
}
执行结果:
value of x:0
value of x:1
value of x:2
value of x:3
value of x:4
value of x:5
value of x:6
value of x:7
value of x:8
value of x:9
value of x:10

4、增强 for 循环

        JDK 1.5 引进了一种新的循环类型,被称为 For-Each 循环或者加强型循环,它能在不使用下标的情况下遍历数组。

4.1、结构

for(type element: array)
{
    System.out.println(element);
}

4.2、实例

public class TestForStrong {public static void main(String[] args) {int[] number = {1,2,3,4,5};for (int x : number){System.out.println("value of x:"+x);}}
}
执行结果:
value of x:1
value of x:2
value of x:3
value of x:4
value of x:5

5、 Iterator(迭代器)

5.1、结构

  • Java迭代器(Iterator)是 Java 集合框架中的一种机制,是一种用于遍历集合(如列表、集合和映射等)的接口。
  • 它提供了一种统一的方式来访问集合中的元素,而不需要了解底层集合的具体实现细节。
  • Java Iterator(迭代器)不是一个集合,它是一种用于访问集合的方法,可用于迭代ArrayList和HashSet等集合。
  • Iterator 是 Java 迭代器最简单的实现,ListIterator 是 Collection API 中的接口, 它扩展了 Iterator 接口。

5.2、方法

常用的是以下三个:

  • next() - 返回迭代器的下一个元素,并将迭代器的指针移到下一个位置。

  • hasNext() - 用于判断集合中是否还有下一个元素可以访问。

  • remove() - 从集合中删除迭代器最后访问的元素(可选操作)。

5.3、实例

public class TestIterator {public static void main(String[] args) {// 创建集合List<String> list = new ArrayList<String>();list.add("张三");list.add("李四");list.add("王五");System.out.println("list:"+list);// 获取迭代器Iterator<String> it = list.iterator();// 输出集合while (it.hasNext()){String next = it.next();System.out.println(next);//删除元素if (next.equals("张三")){it.remove();}}System.out.println("list:"+list);}
}
执行结果:
list:[张三, 李四, 王五]
张三
李四
王五
list:[李四, 王五]

 6、循环控制

6.1、break

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

break 跳出最里层的循环,并且继续执行该循环下面的语句。

public class TestFor {public static void main(String[] args) {for (int i = 0; i <= 10; i++) {System.out.println("value of x:"+ i);if (i  == 5){break;}}}
}
执行结果:
value of x:0
value of x:1
value of x:2
value of x:3
value of x:4
value of x:5

6.2、continue

  • continue 适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环的迭代。
  • 在 for 循环中,continue 语句使程序立即跳转到更新语句。
  • 在 while 或者 do…while 循环中,程序立即跳转到布尔表达式的判断语句。
public class TestFor {public static void main(String[] args) {for (int i = 0; i <= 10; i++) {if (i  == 5){continue;}System.out.println("value of x:"+ i);}}
}
执行结果:
value of x:0
value of x:1
value of x:2
value of x:3
value of x:4
value of x:6
value of x:7
value of x:8
value of x:9
value of x:10

6.3、return

        return并不是专门用来结束循环的关键字,它可以用来结束一个方法或循环。当一个方法执行到return语句时,该方法就会被结束。与break和continue不同的是,return是直接结束整个方法,不管这个return处在多少层的循环之内。

public class TestFor {public static void main(String[] args) {for (int i = 0; i <= 10; i++) {if (i  == 5){return;}System.out.println("value of x:"+ i);}}
}
执行结果:
value of x:0
value of x:1
value of x:2
value of x:3
value of x:4

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

组个最小数

给定数字0-9各若干个。你可以以任意顺序排列这些数字&#xff0c;但必须全部使用。目标是使得最后得到的数尽可能小&#xff08;注意0不能做首位&#xff09;。例如&#xff1a;给定两个0&#xff0c;两个1&#xff0c;三个5&#xff0c;一个8&#xff0c;我们得到的最小的数就…

f2fs解析(一)f2fs如何解决wandering tree

wandering tree问题是log-structured 文件系统&#xff08;LFS&#xff09; 特有的一个问题&#xff0c;因为LFS的脏数据是追加更新的&#xff0c;所以如果一个数据块变脏了&#xff0c;那么那个数据块的直接索引块、间接索引块都会变脏&#xff08;因为索引的地址变脏&#xf…

阿里云通义千问720亿参数模型开源,适配企业级、科研级高性能应用

12月1日&#xff0c;阿里云举办通义千问发布会&#xff0c;开源通义千问720亿参数模型Qwen-72B。Qwen-72B在10个权威基准测评创下开源模型最优成绩&#xff0c;成为业界最强开源大模型&#xff0c;性能超越开源标杆Llama 2-70B和大部分商用闭源模型。未来&#xff0c;企业级、科…

Spring Cloud + Vue前后端分离-第2章 使用Maven搭建SpringCloud项目

Spring Cloud Vue前后端分离-第2章 使用Maven搭建SpringCloud项目 Maven两大核心功能&#xff1a; 依赖管理&#xff08;Jar包管理&#xff09; 构建项目&#xff08;项目打包&#xff09; 使用Eureka搭建注册中心 使用spring initializr创建spring cloud项目 SpringCloud…

FastAPI之声明请求参数示例数据

在Pydantic模型中添加额外的JSON模式数据 您可以声明Pydantic模型的示例&#xff0c;这些示例将被添加到生成的JSON模式中。 示例代码 from fastapi import FastAPI from pydantic import BaseModelapp FastAPI()class Item(BaseModel):name: strdescription: str | None …

(C语言实现)高精度除法 (洛谷 P2005 A/B Problem II)

前言 本期我们分享用C语言实现高精度除法&#xff0c;可通过该题测试点我点我&#xff0c;洛谷 p2005。 那么话不多说我们开始吧。 讲解 大家还记不记得小学的时候我们是怎么做除法的&#xff1f;我们以1115为例。 我们的高精度除法也将采用这个思路进行&#xff0c;分别用两…

在 TS 中解析 ipa 文件

在 TS 中解析 ipa 文件 ipa即Xcode打包出来的APP的安装包&#xff0c;通过解析ipa中的文件&#xff0c;我们可以获得APP的DisplayName、Version、BundleIdentifier等信息&#xff0c; 同时也可以获取到APP证书的相关信息&#xff0c;包括APP的安装环境、证书的有效期、APP开通…

Python-算术运算符详解

运算符 算术运算符 关系运算符 逻辑运算符 赋值运算符 算术运算符&#xff1a;加减乘除 %求余 **平方 // 先算乘方&#xff0c;再算乘除&#xff0c;最后是加减。括号可以改变优先级 0不能作为除数&#xff08;不论是整型0还是浮点0&#xff09; 除法截断&#xff1a;舍弃小…

UDP群聊

客户端 import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.EventQueue; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader…

LeetCode738. Monotone Increasing Digits

文章目录 一、题目二、题解 一、题目 An integer has monotone increasing digits if and only if each pair of adjacent digits x and y satisfy x < y. Given an integer n, return the largest number that is less than or equal to n with monotone increasing digi…

使用VBA快速统计词组(单词组合)词频

实例需求&#xff1a;产品清单如A列所示&#xff0c;现在如下统计词组词频。想必各位小伙伴都指定如何使用字典对象实现去重&#xff0c;进而实现单个单词的词频统计。 但是统计词组词频就没有那么简单了&#xff0c;为了便于演示&#xff0c;此处的词组只限于两个单词的组合。…

自动驾驶右向辅助功能规范

目 录 Contents 目录 1. 介绍 Introduction. 8 1.1 此文档的范围和目的 Scope and Purpose of This Document 8 1.2 参考文档References. 9 1.3 文档的维护 Maintenance of the Document 10 1.4 缩略词Abbreviations. 10 1.5 文档概述Document Overview.. 11 1.6 功能…

GoLong的学习之路,进阶,Viper(yaml等配置文件的管理)

本来有今天是继续接着上一章写微服务的。但是这几天有朋友说&#xff0c;再写Web框架的时候&#xff0c;遇到一个问题&#xff0c;就是很多的中间件&#xff08;redis&#xff0c;微信&#xff0c;mysql&#xff0c;mq&#xff09;的配置信息写的太杂了&#xff0c;很不好管理。…

【解决办法】Pycharm中新添加或者导入项目文件名红色!

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、问题描述二、问题原因三、解决办法 一、问题描述 Pycharm的代码中添加新的文件夹&#xff0c;发现文件夹下的文件名是红色的&#xff0c;如下图&#xff1a; …

jvm-sandbox-repeater 精简版部署之standalone模式

jvm-sandbox-repeater 仅仅提供了录制回放的能力&#xff0c;如果需要完成业务回归、实时监控、压测等平台&#xff0c;后面须要有一个数据中心负责采集数据的加工、存储、搜索&#xff0c;repeater-console提供了简单的demo示例&#xff1b;一个模块管理平台负责管理JVM-Sandb…

设计模式——单例模式(Singleton Pattern)

概述 单例模式确保一个类只有一个实例&#xff0c;而且自行实例化并向整个系统提供整个实例&#xff0c;这个类称为单例类&#xff0c;它提供全局访问的方法。单例模式是一种对象创建型模式。单例模式有三个要点&#xff1a;一是某个类只能有一个实例&#xff1b;二是它必须自行…

矩阵基本操作算法

题目描述&#xff1a; 题目描述 根据主函数和头文件提示&#xff0c;编写子函数void matrixInput(int (*mat)[COL]); void matrixPrint(int *mat[ROW]); void matrixAddT(int *mat); ​ 分别实现矩阵的输入&#xff0c;输出&#xff0c;与自身的转置相加&#xff1a;void matr…

微信小程序开发中的图片缺少后自动居中问题的解决,自动居中样式,自适应图片多少的写法

下面是写的wxml的view样式类似于web开发中的HTML文件 home-grid是我创建的一个父样式&#xff0c;采用子绝父相的定位方式 我在home-grid的父view&#xff08;类似于web中div&#xff09;中包含了三个小的子样式分别是下述代码中的class“yellowstar”&#xff0c;class“maint…

Java---线程讲解(二)

文章目录 1. Runnable接口2. 卖票案例3. 同步代码块解决数据安全问题4. 同步方法解决数据安全问题5. 线程安全的类6. Lock锁 1. Runnable接口 1. 创建线程的另一种方法是声明一个实现Runnable接口的类&#xff0c;之后重写run()方法&#xff0c;然后可以分配类的实例&#xff0…

基于remix+metamask+ganache的智能合约部署调用

在我们部署合约时为了让它更接近真实区块链去中心化体验&#xff0c;我们需要调用小狐狸&#xff08;Metamask&#xff09;来进行真实交易&#xff0c;而metamask里没有内置虚拟测试币&#xff0c;我们需要进行调用Ganache来添加带有虚拟测试币的账号。以上就是三者的关系&…