1、Java for 循环
当确切地知道要遍历代码块的次数时,使用for
循环更方便而不是while
循环,如果没有更新表达式或者条件表达式总是为 true
,可能导致程序陷入死循环。
语法
for (statement 1; statement 2; statement 3) { // 要执行的代码块 }
statement 1
在执行代码块之前执行(一次)。
statement 2
定义了执行代码块的条件。
在执行代码块后(每次)都会执行statement 3
。
下面的示例将打印输出数字0
到4
:
例如:
for (int i = 0; i < 5; i++) { System.out.println(i); }
2、for循环示例代码
此示例将只输出0
到10
之间的偶数:
例如:
for (int i = 0; i <= 10; i = i + 2) { System.out.println(i); }
3、for-each 循环
Java 中的 for-each 循环(也称增强型 for
循环)是一种简洁的循环形式,通常用于遍历数组或集合。它的主要优点是易于书写和阅读,不需要处理下标索引或迭代器。
语法
for (type variableName : arrayName) { // 要执行的代码块 }
以下示例使用for-each
循环输出angs
数组中的所有元素:
例如:
String[] langs = {"c", "java", "python", "cjavapy"}; for (String i : langs) { System.out.println(i); }
4、break 关键字
break
主要用在循环语句或者 switch
语句中,用来跳出整个语句块。
break
跳出最里层的循环,并且继续执行该循环下面的语句。
例如,
for (int i = 0; i < 10; i++) { if (i == 4) { break; } System.out.println(i); }
5、continue 关键字
continue
适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环的迭代。
在 for
循环中,continue
语句使程序立即跳转到更新语句。
for (int i = 0; i < 10; i++) { if (i == 4) { continue; } System.out.println(i); }
6、嵌套 for 循环
Java 中的嵌套 for
循环是指在一个 for
循环的循环体内又嵌套了一个或多个 for
循环。每个嵌套循环都有自己的控制变量和循环条件,嵌套循环的执行遵循外层循环控制内层循环的原则。
public class Main { public static void main(String[] args) { for (int i = 1; i <= 9; i++) { // 外层控制乘数 for (int j = 1; j <= i; j++) { // 内层控制被乘数 System.out.print(j + " * " + i + " = " + (i * j) + "\t"); } System.out.println(); // 换行 } } }
7、 for 循环的灵活使用
Java 中,for
循环非常灵活,可以通过调整初始化、条件和更新表达式实现各种复杂的逻辑。
1)省略初始化表达式
public class Main { public static void main(String[] args) { int i = 1; // 初始化在外部 for (; i <= 5; i++) { System.out.println("当前值: " + i); } } }
2)省略更新表达式
public class Main { public static void main(String[] args) { for (int i = 1; i <= 5;) { System.out.println("当前值: " + i); i++; // 手动更新 } } }
3)省略条件表达式
public class Main { public static void main(String[] args) { for (int i = 1;; i++) { // 无条件表达式 if (i > 5) { break; // 手动退出 } System.out.println("当前值: " + i); } } }
4)完全省略所有表达式
public class Main { public static void main(String[] args) { int i = 1; for (;;) { // 无限循环 if (i > 5) { break; // 终止循环 } System.out.println("当前值: " + i); i++; } } }
5)多变量控制
public class Main { public static void main(String[] args) { for (int i = 1, j = 10; i <= 5; i++, j--) { // 两个变量 System.out.println("i: " + i + ", j: " + j); } } }