Java For 循环

Java For 循环用于重复执行一段语句,直到给定的条件为假。for 循环是任何编程语言中最常用的循环之一,让我们来看看它的语法。

在 Java for 循环中,有三个由分号 (;) 分隔的表达式,这些表达式的执行过程如下:

  • 初始化:它以初始化语句开始。因此,计数器变量首先被初始化(例如 counter = 1 或 i = 1)。初始化部分仅在开始时执行一次。
  • 测试条件:计数器变量的值将被测试以匹配测试条件。如果结果为 True,编译器将执行 for 循环体内的语句。如果条件为 false,则循环将终止。
  • 增量和减量运算符:此表达式将在每次迭代结束时运行。此运算符根据我们的要求帮助增加或减少 for 循环的计数器变量。

Java For 循环语法

此编程语言中 For 循环的语法如下:

for (initialization; test condition; increment/decrement operator)  {
       Statement 1
       Statement 2
       ………
       Statement n
}

Java For 循环初始化

For 循环可以灵活地省略声明中的一个或多个部分。虽然我们可以跳过声明中的一个或多个部分,但我们必须将分号 (;) 放在原处;否则,它将导致编译错误。

可以从 for 循环中跳过计数器变量的初始化,如下所示:

int i = 1;

for( ; i <= 20; i++)

如果观察上面的代码片段,计数器变量在上一行声明。就像初始化条件一样,我们也可以跳过 For 循环的增量部分。

int i = 1;

for( ; i <= 10; )  {
    //statements     
    i++;
}

如果观察上面的 Java for 循环代码片段,增量部分在循环体内声明。它还允许我们使用逗号分隔一次初始化多个计数器变量。

for(i = 1,j = 10; i < j; i++)

For 循环还允许使用多个条件。我们必须使用逻辑运算符来分隔两个条件,而不是使用逗号。

for(i=1,j=20; i <= 10 && j >= 20; i++) {
   //statements
   j++;
}

与测试条件一样,Java for 循环允许我们如下使用多个增量运算符。

for(i = 1, j = 1; i <= 10 && j <= 10; i++, j++)

无限 For 循环

for( ; ; )

增量和减量运算符部分初始化使用逗号分隔多个声明。要分隔测试条件,必须使用逻辑运算符连接条件。

For 循环流程图

下面的屏幕截图将显示 Java 编程语言中 For 循环的流程图。

For Loop FLOW CHART

for 循环的执行过程是:

  1. 初始化:我们在这里初始化计数器变量。
  2. 测试条件:它将针对计数器变量检查条件。如果条件为 True,编译器将执行内部的语句。如果条件为 False,则它将退出。
  3. 完成迭代后,它将执行 for 循环内部的增量和减量运算符,以增加或减少值。
  4. 值增加后,它将再次检查表达式。只要条件为真,内部的语句就会执行。

Java For 循环示例

程序允许用户输入任何整数值。然后,它将使用 for 循环计算到用户输入的数字为止的所有自然数的总和。

package Loops;

import java.util.Scanner;

public class ForLoop {
	private static Scanner sc;
	
	public static void main(String[] args) {
		int i, number, sum = 1;
		sc = new Scanner(System.in);	
		
		System.out.println("\n Please Enter the any integer Value: ");
		number = sc.nextInt();
		
		for (i = 1; i <= number; i++)  {
			sum = sum * i;
		}
		System.out.format(" Sum of the Numbers From the is: %d ", sum);
	}
}
Java For Loop 1

此程序中的第一个语句将要求用户输入小于 10 的任何整数值。接下来,我们将用户输入的值赋给整数变量(number)。

下一行,我们使用 For 循环,其中的条件将确保 i 的值小于或等于用户指定的 Number。

for(i = 1; i <= number; i++)  {
	sum = sum * i;
}

在此示例中,用户输入的值:Number = 5,我们初始化 sum = 0。

第一次迭代:在此,我们将 i 的值初始化为 1。请记住,初始化只发生一次。接下来,编译器将检查表达式(i <= number),该表达式为 TRUE。因此,内部的语句或代码块将执行。

sum = sum * i

sum = 1 * 1 ==> 1

接下来,i 的值将增加 1(i++)。要理解 ++ 符号,请参阅增量和减量运算符文章。

Java for 循环第二次迭代:在第一次迭代中,i 的值变为 i = 2。接下来,它将评估条件(i <= number),该条件为 TRUE。因此,内部的语句将执行。

sum= 1 * 2 = 2

接下来,number 将增加 1(number ++)。

第三次迭代:在第二次迭代中,i 和 sum 的值都变为 i = 3 和 sum = 2。接下来,编译器将检查条件(i <= number),该条件为 TRUE。

sum = 2 * 3 = 6

第四次迭代:在第三次迭代中,i = 4 和 sum = 6。接下来,编译器将检查条件(i <= number),该条件为 TRUE。因此,内部的语句将执行。

sum = 6 * 4 = 24

第五次迭代:在第四次迭代中,i = 5 和 sum = 24。

sum = 24 * 5 = 120

I = 6。因此,代码中的条件(6 <= 5)评估为 false。

最后的 System 语句将打印给定数字中的位数作为输出。