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); } } }
输出:
例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!"); } }
上面的代码生成以下结果。