Java 流程控制之 for 循环

news/2024/11/25 7:39:12/

Java语言中的for循环是一种常用的循环结构,用于重复执行一段代码,直到指定的条件不再成立。在本篇博客中,我们将深入探讨Java中的for循环,包括其语法、用法和示例。

一、for循环的基本语法

for循环的基本语法如下:

for (initialization; condition; update) {// statement(s) to be executed repeatedly
}

其中,initialization是循环变量的初始化语句,用于将循环变量初始化为一个初始值;condition是循环条件,如果条件为true,则执行循环代码块;update是循环变量的更新语句,用于在每次循环执行完成后更新循环变量的值。

下面是一个简单的for循环示例,用于输出数字1到5:

for (int i = 1; i <= 5; i++) {System.out.println(i);
}

输出结果为:

1
2
3
4
5

在上面的示例中,循环变量i的初始值为1,循环条件为i<=5,循环执行完成后,每次将i的值加1。

二、for循环的高级用法

除了基本的for循环语法之外,Java还提供了一些高级的for循环用法,包括增强型for循环和for-each循环。

  1. 增强型for循环

增强型for循环(也称为for-in循环)是Java SE5中新增的一种for循环语法,用于遍历数组或集合中的元素。其基本语法如下:

for (type variable : array/collection) {// statement(s) to be executed repeatedly
}

其中,type是数组或集合中元素的类型;variable是循环变量,用于存储数组或集合中的每个元素;array/collection是要遍历的数组或集合。

下面是一个简单的增强型for循环示例,用于遍历数组中的元素:

int[] nums = {1, 2, 3, 4, 5};
for (int num : nums) {System.out.println(num);
}

输出结果为:

1
2
3
4
5

在上面的示例中,循环变量num用于存储数组nums中的每个元素。

  1. for-each循环

for-each循环是一种基于迭代器的循环语法,用于遍历集合中的元素。其基本语法如下:

for (type variable : iterable) {// statement(s) to be executed repeatedly
}

其中,type是集合中元素的类型;variable是循环变量,用于存储集合中的每个元素;iterable是要遍历的集合。

下面是一个简单的for-each循环示例,用于遍历List集合中的元素:

List<String> names = new ArrayList<>();
names.add("Alice");
names.add("Bob");
names.add("Charlie");
for (String name : names) {System.out.println(name);
}

输出结果为:

Alice
Bob
Charlie

在上面的示例中,循环变量name用于存储List集合names中的每个元素。

三、break 和 continue 的区别

在Java中,break和continue是两种控制流语句,可用于控制for循环的执行流程。虽然它们都可以用于跳出for循环,但是它们的作用方式略有不同。

  1. break语句

在for循环中,break语句用于跳出循环,即立即停止循环的执行。一旦执行到break语句,程序将立即跳出循环,继续执行循环后面的代码。例如,下面的代码用于在数组中查找特定值,并在找到特定值后立即停止循环:

int[] nums = {1, 2, 3, 4, 5};
int target = 3;
for (int num : nums) {if (num == target) {System.out.println("Target found!");break;}
}

在上面的代码中,如果循环变量num等于目标值target,则执行break语句,跳出循环。

  1. continue语句

在for循环中,continue语句用于跳过当前循环迭代,即立即开始下一次循环迭代。一旦执行到continue语句,程序将跳过当前循环迭代,继续执行下一次循环迭代。例如,下面的代码用于输出数组中的所有奇数:

int[] nums = {1, 2, 3, 4, 5};
for (int num : nums) {if (num % 2 == 0) {continue;}System.out.println(num);
}

在上面的代码中,如果循环变量num是偶数,则执行continue语句,跳过当前循环迭代,继续执行下一次循环迭代。

总的来说,break和continue都可以用于控制for循环的执行流程,但是它们的作用方式略有不同。break用于立即停止循环的执行,而continue用于跳过当前循环迭代,立即开始下一次循环迭代。在实际编程中,根据具体需求选择合适的控制流语句,可以使程序更加简洁、高效。

四、总结

for循环是Java中常用的循环结构之一,用于重复执行一段代码,直到指定的条件不再成立。除了基本的for循环语法之外,Java还提供了增强型for循环和for-each循环,用于遍历数组和集合中的元素。在实际编程中,for循环是非常有用的工具,可以大大简化代码的编写和阅读,提高程序的效率和可读性。


http://www.ppmy.cn/news/441180.html

相关文章

芯片组c236服务器主板,至强E3-1230 v5完美座驾,微星推出全功能C236工作站主板

拼 命 加 载 中 ... 相比高价的Core i7-6700K处理器&#xff0c;同为Skylake架构的至强E3-1230 v5处理器要实惠多了&#xff0c;但是今年Intel改变了策略&#xff0c;消费级主板不能再支持至强处理器&#xff0c;所以技嘉、华硕推出了服务器芯片组的X150-Plus WS、E3 Pro Gamin…

无盘服务器e5e3,Intel 的酷睿系列和至强E3有什么不同?哪个性能好?

i7处理器型号最好的&#xff1a; Intel 酷睿 i7-4960X 3.60GHz &#xff0c;CPU Mark数值14176分 &#xff0c;此为2014年的参考数值&#xff0c;2015年新一代加强的i7还在研发中。 2014天梯排名 CPU 型号大全&#xff0c;共1799款 天梯综合得分 天梯1名 Intel 至强 E5-2687W …

Intellij IDEA设置“选中变量或方法”的背景颜色、字体颜色(Mark Occurrences)

背景 IDEA 中选中一个变量就会将所有的变量相关变量标出来&#xff0c;这样就很方便知道这个变量出现的地方。Eclipse里头把这个功能叫做 Mark Occurrences&#xff0c;IDEA 里不知道怎么称呼。 我们要解决的痛点就是提示不明显&#xff0c;如下图所示&#xff0c;Macbook这么…

解决输入法遮挡布局和华为手机底部虚拟按键遮挡底部界面的方法

先上最终的代码&#xff1a; public class AndroidWorkaround {public static void assistActivity(View content) {new AndroidWorkaround(content);}private View mChildOfContent;private int usableHeightPrevious;private ViewGroup.LayoutParams frameLayoutParams;priva…

台湾源码学习1

D:\git\dialog\6.0.10.511\projects\target_apps\ble_examples\mCube_mc36xx_data_notifcation\src\config\user_callback_config.h 和node的这个对比 右边台湾基本一样&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;只是多了下面的3个回调函数 修改代码编译 …

全球充电最快手机:5分钟回血50%;华为未发布新手机 | MWC 2022

金磊 假装发自 巴塞罗那量子位 | 公众号 QbitAI 一年一度的全球手机行业盛宴——世界移动通信大会 &#xff08;MWC&#xff09;&#xff0c;已经在巴塞罗那正式拉开序幕&#xff08;2月28日-3月3日&#xff09;。 MWC是手机通讯行业最重要的展会&#xff0c;每年国内外手机厂商…

Android报错:Using WebView from more than one process at once with the same data directory is not...

安卓项目中加载网页使用腾讯的TBS&#xff0c;X5内核一直还好用&#xff0c;发现部分用户手机出现了偶尔闪退的情况。 研究后发现报错信息&#xff1a; Using WebView from more than one process at once with the same data directory is not supported. 完整信息&#xff…

华为手机版本互刷

[前言] 1、互刷是指的官方ROM&#xff0c;比如国行刷成国际版享受全面的Google服务&#xff0c;或者国际版刷成国行更适合国内使用 2、菊花的服务站是拒绝的&#xff0c;3月的时候我去售后&#xff0c;攻城狮直言硬刷会成砖&#xff0c;成功吓退了我 3、刷机难免有失手&#xf…