news 2026/4/18 12:27:14

开口闭口都是高并发、高可用,可是连个for循环都写不利索,也是醉了

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
开口闭口都是高并发、高可用,可是连个for循环都写不利索,也是醉了

有很多程序员,喜欢把高并发、高可用这样的名词挂在嘴边,似乎是,如果不这样,就显得自己没水平,跟不上时代。然而,对于一些基础知识却并不熟练。俗话说,基础不牢,地动山摇。只有掌握了这些基础性东西,才有可能建造起一座真正的“高并发、高可用”的大厦。

对于for循环,Java程序员可能再熟悉不过了。在使用过程中,有一种很常见的场景,就是满足条件之后就退出循环。这样的功能实现起来倒不难,使用break关键字即可搞定,像下面这样:

package com.sample.interview.core.foundation; import java.util.Arrays; import java.util.List; publicclass ForExample { public static void main(String[] args) { List<String> list = Arrays.asList("Tom", "John", "Jack"); for (String str: list){ System.out.println(str); if(str.equals("John")){ break; } } System.out.println("程序运行结束!"); } }

上面的程序初始化一个列表,里面包含三个字符串,程序需要实现的功能:遍历这个数组,打印其中的字符串,直到John就退出循环。

实现方法很简单,使用for-each遍历,打印列表中的元素,如果元素的内容为John,则break,它让循环中止,最后一个元素Jack就不会打印出来了。

然而,如果是两重循环,直接使用break有时候可能达不到想要的效果。比如要实现这样的功能:遍历列表中的元素并且打印出来,直到满足以下条件就不再遍历:该字符串包含字符o。

我们假定使用二重循环来实现(当然可能也会有其他更好的办法):

package com.sample.interview.core.foundation; import java.util.Arrays; import java.util.List; publicclass ForExample { public static void main(String[] args) { List<String> list = Arrays.asList("Tom", "John", "Jack"); for (String str: list){ System.out.println(str); char[] chars = str.toCharArray(); for (char c: chars){ if(c=='o'){ break; } } } System.out.println("程序运行结束!"); } }

上面程序的实现方式也很简单,首先遍历字符串,然后把字符串转成字符数组,并且遍历这个字符数组,如果字符等于o,那么直接退出循环,我们看看运行结果:

Tom John Jack 程序运行结束!

第一个元素Tom这个字符串包含字符o,正常情况下,遍历到这个字符串以后就应该退出整个循环,不应该再把John和Jack打印出来,但上面这个程序却把所有元素都打印出来了。

这是因为break只是退出当前循环,然而,想要退出整个循环,还得使用其他的方法。

那么,要实现上述的功能,应该怎么做呢?请留言打出你的答案!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 9:26:28

互联网大厂必备 Java 面试八股文真题解析

内卷可以说是 2025 年最火的一个词了。LZ 在很多程序员网站看到很多 Java 程序员的 2025 年度总结都是&#xff1a;Java 越来越卷了&#xff08;手动狗头&#xff09;&#xff0c;前有几百万毕业生虎视眈眈&#xff0c;后有在职人员带头“摸鱼”占着坑位&#xff0c;加上疫情让…

作者头像 李华
网站建设 2026/4/18 10:51:49

vue3和nodejs开发的基于SpringBoot大学生在线教育平台设计与实现18286549

文章目录具体实现截图主要技术与实现手段关于我本系统开发思路java类核心代码部分展示结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;具体实现截图 同行可拿货,招校园代理 vue3和nodejs开发的基于SpringBoot大学生在线教育平台设计…

作者头像 李华
网站建设 2026/4/18 8:49:49

WinFsp革命:在Windows上打造自定义文件系统的终极指南

WinFsp革命&#xff1a;在Windows上打造自定义文件系统的终极指南 【免费下载链接】winfsp Windows File System Proxy - FUSE for Windows 项目地址: https://gitcode.com/gh_mirrors/wi/winfsp 你是否曾想过将数据库、云存储甚至内存中的数据变成标准的Windows文件系统…

作者头像 李华
网站建设 2026/4/18 8:53:49

一键抠图神器:AI背景移除工具完全指南

一键抠图神器&#xff1a;AI背景移除工具完全指南 【免费下载链接】stable-diffusion-webui-rembg Removes backgrounds from pictures. Extension for webui. 项目地址: https://gitcode.com/gh_mirrors/st/stable-diffusion-webui-rembg 在当今数字时代&#xff0c;背…

作者头像 李华
网站建设 2026/4/17 21:22:12

Langchain-Chatchat支持哪些文档格式?TXT、PDF、Word一键解析

Langchain-Chatchat 支持哪些文档格式&#xff1f;TXT、PDF、Word一键解析 在企业知识管理日益复杂的今天&#xff0c;如何让散落在各个角落的制度文件、产品手册和会议纪要“活起来”&#xff0c;成为一线员工随手可查的智能助手&#xff0c;正成为一个关键挑战。通用大模型虽…

作者头像 李华
网站建设 2026/4/18 8:50:57

深度解析:Bruno脚本执行环境的阶段差异与最佳实践

深度解析&#xff1a;Bruno脚本执行环境的阶段差异与最佳实践 【免费下载链接】bruno 开源的API探索与测试集成开发环境&#xff08;作为Postman/Insomnia的轻量级替代方案&#xff09; 项目地址: https://gitcode.com/GitHub_Trending/br/bruno Bruno作为开源的API测试…

作者头像 李华