Java 教程
- Java - 首页
- Java - 概述
- Java - 历史
- Java - 特性
- Java 与 C++
- JVM - Java 虚拟机
- Java - JDK 与 JRE 与 JVM
- Java - Hello World 程序
- Java - 环境搭建
- Java - 基本语法
- Java - 变量类型
- Java - 数据类型
- Java - 类型转换
- Java - Unicode 系统
- Java - 基本运算符
- Java - 注释
- Java - 用户输入
- Java - 日期与时间
Java 控制语句
- Java - 循环控制
- Java - 决策
- Java - If-else
- Java - Switch
- Java - For 循环
- Java - For-Each 循环
- Java - While 循环
- Java - do-while 循环
- Java - Break
- Java - Continue
面向对象编程
- Java - OOPs 概念
- Java - 对象与类
- Java - 类属性
- Java - 类方法
- Java - 方法
- Java - 变量作用域
- Java - 构造函数
- Java - 访问修饰符
- Java - 继承
- Java - 聚合
- Java - 多态
- Java - 重写
- Java - 方法重载
- Java - 动态绑定
- Java - 静态绑定
- Java - 实例初始化块
- Java - 抽象
- Java - 封装
- Java - 接口
- Java - 包
- Java - 内部类
- Java - 静态类
- Java - 匿名类
- Java - 单例类
- Java - 包装类
- Java - 枚举
- Java - 枚举构造函数
- Java - 枚举字符串
Java 内置类
Java 文件处理
Java 错误与异常
- Java - 异常
- Java - try-catch 块
- Java - try-with-resources
- Java - 多重捕获块
- Java - 嵌套 try 块
- Java - Finally 块
- Java - throw 异常
- Java - 异常传播
- Java - 内置异常
- Java - 自定义异常
Java 多线程
- Java - 多线程
- Java - 线程生命周期
- Java - 创建线程
- Java - 启动线程
- Java - 线程连接
- Java - 线程命名
- Java - 线程调度器
- Java - 线程池
- Java - 主线程
- Java - 线程优先级
- Java - 守护线程
- Java - 线程组
- Java - 关闭钩子
Java 同步
Java 网络编程
- Java - 网络编程
- Java - Socket 编程
- Java - URL 处理
- Java - URL 类
- Java - URLConnection 类
- Java - HttpURLConnection 类
- Java - Socket 类
- Java - 泛型
Java 集合
Java 接口
Java 数据结构
Java 集合算法
高级 Java
- Java - 命令行参数
- Java - Lambda 表达式
- Java - 发送电子邮件
- Java - Applet 基础
- Java - Javadoc 注释
- Java - 自动装箱和拆箱
- Java - 文件不匹配方法
- Java - REPL (JShell)
- Java - 多版本 Jar 文件
- Java - 私有接口方法
- Java - 内部类菱形运算符
- Java - 多分辨率图像 API
- Java - 集合工厂方法
- Java - 模块系统
- Java - Nashorn JavaScript
- Java - Optional 类
- Java - 方法引用
- Java - 函数式接口
- Java - 默认方法
- Java - Base64 编码解码
- Java - Switch 表达式
- Java - Teeing 收集器
- Java - 微基准测试
- Java - 文本块
- Java - 动态 CDS 归档
- Java - Z 垃圾回收器 (ZGC)
- Java - 空指针异常
- Java - 打包工具
- Java - 密封类
- Java - 记录类
- Java - 隐藏类
- Java - 模式匹配
- Java - 紧凑数字格式化
- Java - 垃圾回收
- Java - JIT 编译器
Java 杂项
- Java - 递归
- Java - 正则表达式
- Java - 序列化
- Java - 字符串
- Java - 进程 API 改进
- Java - 流 API 改进
- Java - 增强的 @Deprecated 注解
- Java - CompletableFuture API 改进
- Java - 流
- Java - 日期时间 API
- Java 8 - 新特性
- Java 9 - 新特性
- Java 10 - 新特性
- Java 11 - 新特性
- Java 12 - 新特性
- Java 13 - 新特性
- Java 14 - 新特性
- Java 15 - 新特性
- Java 16 - 新特性
Java API 与框架
Java 类参考
- Java - Scanner
- Java - 数组
- Java - 字符串
- Java - Date
- Java - ArrayList
- Java - Vector
- Java - Stack
- Java - PriorityQueue
- Java - LinkedList
- Java - ArrayDeque
- Java - HashMap
- Java - LinkedHashMap
- Java - WeakHashMap
- Java - EnumMap
- Java - TreeMap
- Java - IdentityHashMap
- Java - HashSet
- Java - EnumSet
- Java - LinkedHashSet
- Java - TreeSet
- Java - BitSet
- Java - Dictionary
- Java - Hashtable
- Java - Properties
- Java - Collection
- Java - Array
Java 有用资源
Java - for循环
Java for循环
一个for循环是一种重复控制结构,允许您有效地编写需要执行特定次数的循环。
当您知道任务需要重复多少次时,for循环很有用。就像while循环一样,for循环也是一个入口控制循环,其中给定的条件首先执行。
for循环的语法
for循环的语法如下:
for(initialization; Boolean_expression; update) { // Statements }
Java For循环的组成部分
在 Java 中,for 循环是使用三个部分构建(实现)的。以下是 Java 中 for 循环的组成部分:
- 初始化 - 包含循环计数器的初始化语句。
- 布尔表达式 - 包含要测试的条件。
- 主体 - 包含要迭代的语句,直到给定的布尔表达式为真,以及更新循环计数器。
for循环的执行过程
以下是for循环中的控制流程:
初始化步骤首先执行,并且只执行一次。此步骤允许您声明和初始化任何循环控制变量,此步骤以分号 (;) 结束。
接下来,布尔表达式将被评估。如果为真,则执行循环体。如果为假,则不会执行循环体,控制权跳转到 for 循环后面的下一条语句。
主体for循环执行完成后,控制权将跳回更新语句。此语句允许您更新任何循环控制变量。此语句可以留空,并在末尾添加分号。
现在再次评估布尔表达式。如果为真,则循环执行并重复该过程(循环体,然后更新步骤,然后布尔表达式)。布尔表达式为假后,for循环终止。
流程图
下图显示了 Java 中 for 循环的流程图(执行过程):
Java for循环示例
示例 1:使用 for 循环打印指定范围内的数字
在此示例中,我们展示了如何使用 for 循环打印从 10 到 19 的数字。在这里,我们在 for 循环的初始化块中初始化了一个 int 变量 x,值为 10。然后在表达式块中,我们检查 x 是否小于 20,最后在更新块中,我们将 x 加 1。在 for 循环体中,我们打印 x 的值。for 循环将运行直到 x 变成 20。一旦 x 为 20,循环将停止执行,程序退出。
public class Test { public static void main(String args[]) { for(int x = 10; x < 20; x = x + 1) { System.out.print("value of x : " + x ); System.out.print("\n"); } } }
输出
value of x : 10 value of x : 11 value of x : 12 value of x : 13 value of x : 14 value of x : 15 value of x : 16 value of x : 17 value of x : 18 value of x : 19
示例 2:使用 for 循环打印数组元素
在此示例中,我们展示了如何使用 for 循环打印数组的内容。这里我们创建了一个整数数组 numbers 并初始化了一些值。我们在 for 循环中创建了一个名为 index 的变量来表示数组的索引,将其与数组的大小进行比较并将其加 1。在 for 循环体中,我们使用索引表示法打印数组的元素。一旦 index 变成与数组大小相同,for 循环退出,程序退出。
public class Test { public static void main(String args[]) { int [] numbers = {10, 20, 30, 40, 50}; for(int index = 0; index < numbers.length; index++) { System.out.print("value of item : " + numbers[index] ); System.out.print("\n"); } } }
输出
value of item : 10 value of item : 20 value of item : 30 value of item : 40 value of item : 50
Java无限for循环
无限循环永远不会结束,除非您通过按CTRL + C手动停止。要实现无限 for 循环,可以使用始终为真的条件,或者直接使用true作为条件。
示例:实现无限for循环
在此示例中,我们展示了使用 for 循环的无限循环。它将继续打印数字,直到您按 ctrl+c 终止程序。
public class Test { public static void main(String args[]) { int x = 10; for( ;; ) { System.out.print("value of x : " + x ); x++; System.out.print("\n"); } } }
输出
value of item : 10 value of item : 11 value of item : 12 value of item : 13 value of item : 14 ... ctrl+c
Java中的嵌套for循环
嵌套 for 循环是指包含另一个 for 循环的 for 循环。
示例:使用嵌套 for 循环打印 1 到 10 的乘法表
在此示例中,我们打印了从 1 到 10 的数字的乘法表。
public class Main { public static void main(String[] args) { // Implementing nested for loop // Initializing loop counters int num = 1; int i = 1; // outer for loop for (num = 1; num <= 10; num++) { //inner for loop System.out.print("Table of " + num + " is : "); for (i = 1; i <= 10; i++) { // printing table System.out.print(num * i + " "); } // printing a new line System.out.println(); } } }
输出
Table of 1 is : 1 2 3 4 5 6 7 8 9 10 Table of 2 is : 2 4 6 8 10 12 14 16 18 20 Table of 3 is : 3 6 9 12 15 18 21 24 27 30 Table of 4 is : 4 8 12 16 20 24 28 32 36 40 Table of 5 is : 5 10 15 20 25 30 35 40 45 50 Table of 6 is : 6 12 18 24 30 36 42 48 54 60 Table of 7 is : 7 14 21 28 35 42 49 56 63 70 Table of 8 is : 8 16 24 32 40 48 56 64 72 80 Table of 9 is : 9 18 27 36 45 54 63 72 81 90 Table of 10 is : 10 20 30 40 50 60 70 80 90 100