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 循环

4.1、结构

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

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

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

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

相关文章

面试官:说说webpack的构建流程?

面试官&#xff1a;说说webpack的构建流程? 一、运行流程 webpack 的运行流程是一个串行的过程&#xff0c;它的工作流程就是将各个插件串联起来 在运行过程中会广播事件&#xff0c;插件只需要监听它所关心的事件&#xff0c;就能加入到这条webpack机制中&#xff0c;去改变…

万兆单模光模块SFP-XG-LX:高速长距离数据传输利器

随着企业和个人对高速数据传输的需求不断增加&#xff0c;网络设备需要不断更新换代&#xff0c;以满足更高速、更远距离的传输要求。万兆单模光模块SFP-XG-LX作为一种基于光纤传输的高速网络模块&#xff0c;适用于长距离的数据传输。本文将介绍万兆单模光模块SFP-XG-LX的特点…

CSS单位vmin、vmax

在前端项目中使用到图片或者一些其他的需要适应视口宽度的地方时候&#xff0c;我们可以使用vmin或者vmax这两个属性。我们来看一下这两个属性在MDN上面的定义 实例 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8">…

婴儿专用洗衣机有必要吗?宝宝洗衣机洗衣服

相信各位宝爸宝妈都有同样的苦恼&#xff0c;那就是宝宝的衣服该怎么来洗宝宝每天都有一大堆衣物和各种巾要洗&#xff0c;如果单纯用手洗&#xff0c;真的是一个很大的工程&#xff0c;将宝宝的衣服丢进去家庭用的洗衣机&#xff0c;宝宝稚嫩的皮肤又怕会被细jun感染到&#x…

04_W5500_TCP_Server

上一节我们完成了TCP_Client实验&#xff0c;这节使用W5500作为服务端与TCP客户端进行通信。 目录 1.W5500服务端要做的&#xff1a; 2.代码分析&#xff1a; 3.测试&#xff1a; 1.W5500服务端要做的&#xff1a; 服务端只需要打开socket&#xff0c;然后监听端口即可。 2…

uniapp中解决swiper高度自适应内容高度

起因&#xff1a;uniapp中swiper组件swiper 标签存在默认高度是 height: 150px &#xff1b;高度无法实现由内容撑开&#xff0c;在默认情况下&#xff0c;swiper盒子高度显示总是 150px 解决办法思路&#xff1a; 动态设置swiper盒子的高度&#xff0c;故需要获取swiper-item盒…

您距离一个成熟安全的 DevOps 平台,只差一个迁移

目录 功能丰富&#xff0c;开箱即用 安全保障&#xff0c;质效并行 私有部署&#xff0c;自主可控 月度发版&#xff0c;持续迭代 本土化团队&#xff0c;企业级支持 迁移指南 从 Gitee 迁移到极狐GitLab 从 SVN 迁移到极狐GitLab 从 GitHub 迁移到极狐GitLab 历经 14…

2024最新电脑系统清理软件哪个好用?

基本上&#xff0c;不管是win版还是Mac版的电脑&#xff0c;其装机必备就是一款电脑系统清理软件&#xff0c;就比如Mac&#xff0c;目前在市面上&#xff0c;电脑系统清理软件是非常多的。 对于不熟悉系统的用户来说&#xff0c;使用一些小众工具&#xff0c;往往很多用户都不…

家用超声波清洗机哪个牌子好?一起来看、值得推荐超声波清洗机

家用超声波清洗机可以干嘛呢&#xff1f;最常见的就是来清洗眼镜。眼镜党朋友应该经常接触超声波清洗机&#xff0c;它常出现在眼镜店中&#xff0c;眼镜店老板帮顾客清洗眼镜&#xff1b;也会出现在工业领域、医疗领域等&#xff0c;超声波清洗机使用范围还是挺广的&#xff0…

【SpringCloud】通过Redis手动更新Ribbon缓存来解决Eureka微服务架构中服务下线感知的问题

文章目录 前言1.第一次尝试1.1服务被调用方更新1.2压测第一次尝试1.3 问题分析1.4 同步的不是最新列表 2.第二次尝试2.1调用方过滤下线服务2.2压测第二次尝试2.3优化 写到最后 前言 在上文的基础上&#xff0c;通过压测的结果可以看出&#xff0c;使用DiscoveryManager下线服务…

基于c++版本链栈改-Python思维总结

##栈部分-&#xff08;叠猫猫&#xff09; ##抽象数据类型栈的定义&#xff1a;是一种遵循先入后出的逻辑的线性数据结构。 ##栈的链式表示 使用链表实现栈时&#xff0c;我们可以将链表的头结点视为栈顶&#xff0c;尾结点视为栈底。 在进行插入元素的时候我们只需要把结点…

逆水行舟!浅谈24届双非本科秋招

逆水行舟&#xff01;浅谈24届双非本科的秋招 逆水行舟&#xff01;浅谈24届双非本科的秋招0、背景 -- 写下本文的初衷1、实习 -- 秋招的预备战役1.1 科大讯飞1.2 三七互娱 2、秋招 -- 一场没有硝烟的战争3、总结 -- 做好自己想做的事情 0、背景 – 写下本文的初衷 如题&#…

使用 React 和 ECharts 创建地球模拟扩散和飞线效果

在本博客中&#xff0c;我们将学习如何使用 React 和 ECharts 创建一个酷炫的地球模拟扩散效果。我们将使用 ECharts 作为可视化库&#xff0c;以及 React 来构建我们的应用。地球贴图在文章的结尾。 最终效果 准备工作 首先&#xff0c;确保你已经安装了 React&#xff0c;并…

Linux简单部署Yearning并结合内网穿透工具发布至公网可访问

目录 前言 1. Linux 部署Yearning 2. 本地访问Yearning 3. Linux 安装cpolar 4. 配置Yearning公网访问地址 5. 公网远程访问Yearning管理界面 6. 固定Yearning公网地址 前言 Yearning 简单, 高效的MYSQL 审计平台 一款MYSQL SQL语句/查询审计工具&#xff0c;为DBA与开发…

【LeetCode】2703. 返回传递的参数的长度

返回传递的参数的长度 题目题解 题目 请你编写一个函数 argumentsLength&#xff0c;返回传递给该函数的参数数量。 示例 1&#xff1a; 输入&#xff1a;args [5] 输出&#xff1a;1 解释&#xff1a; argumentsLength(5); // 1只传递了一个值给函数&#xff0c;因此它应返…

vue中使用pinia(状态管理)

pinia 是状态管理工具&#xff0c;但是它与传统的状态管理工具&#xff08;如 Vuex&#xff09;不同&#xff0c;它采用了官方推荐的官方状态管理工具 &#xff0c;它可以与Vuex共存。 Vuex和Pinia都是Vue.js的状态管理工具&#xff0c;它们的目标相似&#xff0c;但有一些不同…

什么录屏软件可以录制内部声音?一文揭秘!

在屏幕录制的过程中&#xff0c;许多用户寻找一款能够录制内部声音的工具&#xff0c;以满足分享教学、创作内容或记录游戏过程的需求。那么&#xff0c;什么录屏软件可以录制内部声音呢&#xff1f;本文将介绍两种受欢迎的录屏软件&#xff0c;通过详细的步骤指南&#xff0c;…

HuggingFace学习笔记--Prompt-Tuning、P-Tuning和Prefix-Tuning高效微调

1--Prompt-Tuning 1-1--Prompt-Tuning介绍 Prompt-Tuning 高效微调只会训练新增的Prompt的表示层&#xff0c;模型的其余参数全部固定&#xff1b; 新增的 Prompt 内容可以分为 Hard Prompt 和 Soft Prompt 两类&#xff1b; Soft prompt 通常指的是一种较为宽泛或模糊的提示&…

Spring容器启动过程中的自定义操作插口汇总

目录标题 PostConstruct注解EventListener方式InitializingBean的afterPropertiesSet方法实现ApplicationRunner接口重写run方法实现AplicationContextAware接口重写setApplicationContext实现ServletContextListener接口contextInitialized方法实现ServletContextAware接口set…

408-2018

一、单项选择题&#xff08;2 分/题&#xff09; 1.若栈 S1 中保存整数&#xff0c;栈 S2 中保存运算符&#xff0c;函数 F() 依次执行下述各步操作&#xff1a; &#xff08;1&#xff09;从 S1 中依次弹出两个操作数 a 和 b &#xff08;2&#xff09;从 S2 中弹出一个运算符…