news 2026/8/11 7:02:25

开口闭口都是高并发、高可用,可是连个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/8/10 7:21:55

SOES开源EtherCAT从站开发终极指南:从理论到工业实战

SOES开源EtherCAT从站开发终极指南&#xff1a;从理论到工业实战 【免费下载链接】SOES Simple Open Source EtherCAT Slave 项目地址: https://gitcode.com/gh_mirrors/so/SOES 在工业4.0和智能制造快速发展的今天&#xff0c;实时以太网通信已成为现代自动化系统的核心…

作者头像 李华
网站建设 2026/8/7 23:56:39

Spring Boot全局日期格式配置方法

spring boot中&#xff0c;不想每个实体类中都这样设置&#xff0c;有什么方法&#xff1a;JsonFormat(pattern "yyyy-MM-dd HH:mm:ss")private LocalDateTime createTime;在Spring Boot中有几种方法可以避免在每个实体类中重复设置JsonFormat注解&#xff1a;方法一…

作者头像 李华
网站建设 2026/8/11 3:15:04

REAL-Video-Enhancer终极教程:5分钟掌握免费视频增强神器

REAL-Video-Enhancer是一款功能强大的开源视频增强工具&#xff0c;专为Linux、macOS和Windows用户设计&#xff0c;提供高质量的帧插值和超分辨率处理能力。这个免费的视频增强工具能够显著提升视频流畅度和清晰度&#xff0c;让老旧视频焕发新生。无论您是视频创作者、动漫爱…

作者头像 李华
网站建设 2026/8/9 22:39:40

Win11 VMware蓝屏修复终极方案:告别虚拟机崩溃困扰

Win11 VMware蓝屏修复终极方案&#xff1a;告别虚拟机崩溃困扰 【免费下载链接】Win11环境下VMwareWorkstationPro运行虚拟机蓝屏修复指南 本资源文件旨在帮助用户在Windows 11环境下解决VMware Workstation Pro运行虚拟机时出现的蓝屏问题。通过安装Hyper-V服务&#xff0c;可…

作者头像 李华
网站建设 2026/8/10 18:02:19

Langchain-Chatchat社区生态现状与发展前景展望

Langchain-Chatchat社区生态现状与发展前景展望 在企业智能化转型的浪潮中&#xff0c;一个看似简单却长期困扰组织的问题正被重新审视&#xff1a;那些散落在各个部门、存储于不同格式文档中的内部知识——从员工手册到技术规范&#xff0c;从合同模板到操作流程——如何才能真…

作者头像 李华
网站建设 2026/8/10 18:02:19

LlamaIndex架构解密:7步构建高性能LLM数据管理系统 [特殊字符]

LlamaIndex架构解密&#xff1a;7步构建高性能LLM数据管理系统 &#x1f680; 【免费下载链接】llama_index LlamaIndex&#xff08;前身为GPT Index&#xff09;是一个用于LLM应用程序的数据框架 项目地址: https://gitcode.com/GitHub_Trending/ll/llama_index 你是否…

作者头像 李华