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);
}
}
}