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 循环,你可以让代码更加高效、可读、可维护!💪

相关推荐
脚本自动化开发7 小时前
存储涨价后,磐镭WO5迷你主机值得买吗
后端
一只爱撸猫的程序猿9 小时前
我看着一个 AI 引擎在 14 天里,从"记忆"走进了"搜索"
人工智能·后端·架构
LucianaiB10 小时前
【元宝搜索开发者征文大赛】AI时代,学得慢就不用学?用元宝搜索打造一个教程保质期,确保每一个教程符合你的现状
前端·人工智能·ai编程
excel10 小时前
JavaScript 对象池:减少高频对象创建与 GC 压力
前端
陈随易12 小时前
纯 Go 写的 JS 引擎,跑分超过了 C 语言的 QuickJS
前端·后端·程序员
卷无止境12 小时前
RAGFlow 项目全景报告:从文档解析引擎到 Agent 原生数据库
后端·python
小Z先生13 小时前
我用 Go + 系统 WebView 写了个纯本地 Postman:不装 Electron、不连云端
后端·github
子兮曰13 小时前
Chrome 权限元素实战:144 与 151 的渐进增强写法
前端·javascript·chrome
IT_陈寒13 小时前
Redis连接池泄漏那次,我差点把生产环境搞崩了
前端·人工智能·后端
强尼银手13 小时前
我花一天做了个格斗游戏原型,判定全对,然后被「美术」劝退了
前端·javascript