35. Java 控制流语句 For 语句

35. Java 控制流语句 For 语句

For 语句

for 语句是 Java 中非常常见的循环结构,特别适合用于已知循环次数的场景。它有一个清晰且简洁的语法,帮助你有效地控制循环执行。🚀


1. 基本的 for 循环

for 循环的一般结构如下:

java 复制代码
for (initialization; termination; increment) {
    // 执行的语句
}
  • 初始化:在循环开始时执行一次,通常用来声明和初始化控制变量。
  • 终止条件 :每次进入循环时都会检查,如果条件为 true,继续执行循环;如果为 false,退出循环。
  • 增量:每次循环结束时执行,通常用来更新控制变量。
示例:打印 1 到 10 的值

我们来看一个打印 1 到 10 的基本例子:

java 复制代码
class ForDemo {
    public static void main(String[] args) {
        for (int i = 1; i < 11; i++) {
            System.out.println("Count is: " + i);
        }
    }
}
程序输出:
java 复制代码
Count is: 1
Count is: 2
Count is: 3
Count is: 4
Count is: 5
Count is: 6
Count is: 7
Count is: 8
Count is: 9
Count is: 10
解释:
  • 初始化int i = 1 初始化了控制变量 i 为 1。
  • 终止条件i < 11,当 i 小于 11 时,循环继续执行。
  • 增量i++,每次循环结束时,i 增加 1。

2. 无限循环

如果在 for 循环中省略了终止条件和增量部分,就可以创建一个无限循环。以下是一个没有条件和增量的 for 循环:

java 复制代码
for ( ; ; ) {
    // 永远执行
}

这个循环将无限执行,直到程序被强制中断或发生错误。⚠️


3. 增强型 for 循环

Java 提供了增强型 for 循环(也叫 "for-each" 循环),它特别适用于遍历数组或集合,语法更加简洁。✅

增强型 for 循环的语法:
java 复制代码
for (type item : collection) {
    // 执行的语句
}
  • type:数组或集合中元素的类型。
  • item :每次循环时,当前元素会赋值给 item
  • collection:要遍历的数组或集合。
示例:使用增强型 for 循环遍历数组

看一个简单的例子,我们用增强型 for 循环遍历数组:

java 复制代码
class EnhancedForDemo {
    public static void main(String[] args) {
        int[] numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
        for (int item : numbers) {
            System.out.println("Count is: " + item);
        }
    }
}
程序输出:
java 复制代码
Count is: 1
Count is: 2
Count is: 3
Count is: 4
Count is: 5
Count is: 6
Count is: 7
Count is: 8
Count is: 9
Count is: 10
解释:
  • 在增强型 for 循环中,我们遍历了 numbers 数组,每次循环中,当前的数组元素被赋值给 item
  • 这种方式不需要手动管理索引,代码更加简洁易懂。💡

📚 总结

  • for 循环:适用于已知循环次数或需要精确控制循环条件的场景。它提供了完整的循环控制结构,可以在每次迭代时进行初始化、条件判断和增量操作。
  • 增强型 for 循环:特别适用于遍历数组或集合,简化了代码,不需要显式的索引,代码更加简洁清晰,便于维护。

通过合理使用这两种 for 循环,你可以让代码更加高效、可读、可维护!💪

相关推荐
焗猪扒饭18 小时前
redis stream用作消息队列极速入门
redis·后端·go
树獭非懒19 小时前
AI大模型小白手册|Embedding 与向量数据库
后端·python·llm
小兵张健19 小时前
价值1000的 AI 工作流:Codex 通用前端协作模式
前端·aigc·ai编程
sunny_19 小时前
面试踩大坑!同一段 Node.js 代码,CJS 和 ESM 的执行顺序居然是反的?!99% 的人都答错了
前端·面试·node.js
拉不动的猪20 小时前
移动端调试工具VConsole初始化时的加载阻塞问题
前端·javascript·微信小程序
ayqy贾杰21 小时前
Agent First Engineering
前端·vue.js·面试
IT_陈寒21 小时前
SpringBoot实战:5个让你的API性能翻倍的隐藏技巧
前端·人工智能·后端
梦想很大很大1 天前
拒绝“盲猜式”调优:在 Go Gin 项目中落地 OpenTelemetry 链路追踪
运维·后端·go
iceiceiceice1 天前
iOS PDF阅读器段评实现:如何从 PDFSelection 精准还原一个自然段
前端·人工智能·ios