Java For语句

Java教程 - Java For语句


Java for 循环语句提供了一种强大的写循环语句的方法。

for循环的最简单形式如下所示:

  for(initialization; condition; iteration) 
    statement; 

Java for循环语句有三个部分:

  • 初始化将循环控制变量设置为初始值。
  • condition 是测试循环控制变量的布尔表达式。 如果condition为true,for循环继续迭代。 如果condition为false,循环终止。
  • 迭代决定了每次循环迭代时循环控制变量的变化。

这里是一个简短的程序,说明了for循环。 i 是循环控制变量, i 被初始化为零初始化。在每次迭代的开始,条件测试 x 10 。如果该测试的结果为真,则执行 println()语句,然后执行循环的迭代部分。此过程继续,直到条件测试为 false

public class Main {
  public static void main(String args[]) {
    int i;

    for (i = 0; i < 10; i = i + 1)
      System.out.println("This is i: " + i);
  }
}

此程序生成以下输出:

例子

下面的代码再次从上面写入代码逻辑,但是循环反转:

 
public class Main {
  public static void main(String args[]) {
    for (int n = 10; n > 0; n--)
      System.out.println("n:" + n);
  }
}  ]]>

输出:

例2

这里是一个程序,使用 for 循环语句测试素数。

 
public class Main {
  public static void main(String args[]) {
    int num;
    boolean isPrime = true;
    num = 50;
    for (int i = 2; i <= num / 2; i++) {
      if ((num % i) == 0) {
        isPrime = false;
        break;
      }
    }
    if (isPrime)
      System.out.println("Prime");
    else
      System.out.println("Not Prime");

  }
}

输出:


例3

Java允许两个或多个变量控制 for 循环。并且可以在初始化和迭代部分中包含多个语句 for 循环。每个语句通过逗号与下一个语句分隔。这里是一个例子:

 
public class Main {
  public static void main(String args[]) {

    for (int a = 1, b = 4; a < b; a++, b--) {
      System.out.println("a = " + a);
      System.out.println("b = " + b);

    }
  }
}

程序生成以下输出:

例4

for 的三个部分可用于任何目的和部分 for loop可以为空。

 
public class Main {
  public static void main(String args[]) {
    int i = 0;
    boolean done = false;
    for (; !done;) {
      System.out.println("i is " + i);
      if (i == 10)
        done = true;
      i++;

    }
  }
}

输出:

例5

for 循环可以嵌套生成强大的逻辑,例如,我们可以使用嵌套 for 循环来迭代一个二维数组。例如,这里是一个嵌套for循环的程序:

 
public class Main {
  public static void main(String args[]) {
    for (int i = 0; i < 10; i++) {
      for (int j = i; j < 10; j++)
        System.out.print(".");
      System.out.println();
    }
  }
}

此程序产生的输出如下所示:

Java for each循环

for each循环对一个序列中的元素进行迭代,而不使用循环计数器。

for each循环的的语法是:

for (type variable_name:array){
       
}

类型必须与数组类型兼容。

以下代码显示了如何为每个循环使用。

public class Main {
  public static void main(String args[]) {
    String[] arr = new String[]{"www.voidme.com","a","b","c"};
    for(String s:arr){
      System.out.println(s);
    }
  }
}

输出:

Java for each循环输出

例6

下面的代码使用 for-each 样式循环来迭代一个二维数组。

public class Main {
  public static void main(String args[]) {
    int sum = 0;
    int nums[][] = new int[3][5];
    for (int i = 0; i < 3; i++){
      for (int j = 0; j < 5; j++){
        nums[i][j] = (i + 1) * (j + 1);
      }  
    }
    // use for-each for to display and sum the values
    for (int x[] : nums) {
      for (int y : x) {
        System.out.println("Value is: " + y);
        sum += y;
      }
    }
    System.out.println("Summation: " + sum);
  }
}

此程序的输出如下所示:

例7

for-each 样式循环在搜索数组中的元素时非常有用。

public class Main {
  public static void main(String args[]) {
    int nums[] = { 6, 8, 3, 7, 5, 6, 1, 4 };
    int val = 5;
    boolean found = false;
    // use for-each style for to search nums for val
    for (int x : nums) {
      if (x == val) {
        found = true;
        break;
      }
    }
    if (found)
      System.out.println("Value found!");
  }
}

上面的代码生成以下结果。