了解嵌套循环如何工作以确保应用 break 将输出所需的结果非常重要。
如果您是嵌套循环的新手,我将尽可能让您理解这个概念。
当您在内循环中应用 break 时,它会在满足特定条件时中断循环,但外循环会继续执行。
下面的嵌套循环输出两个循环相乘的结果,直到外循环到达位置3。
3
循环将跳过位置 3 并继续执行其余位置。
public static void main(String[] args){ //using break for (int i=1; i<=5; i++){ for (int j=1; j<=5; j++){ if (i == 3) break;{ System.out.println(i +" * " +j+" = "+(i*j)); } } } }
输出:
1 * 1 = 1 1 * 2 = 2 1 * 3 = 3 1 * 4 = 4 2 * 1 = 2 2 * 2 = 4 2 * 3 = 6 2 * 4 = 8 4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16
在我们讨论的第一个例子中,嵌套循环在中断位置后继续执行外循环3。
为了防止外循环继续执行,我们可以使用一个命名循环,它只是一个loop with a label.
loop with a label
当条件满足时,我们希望将命名循环添加到break 语句中,)以确保它中断外层循环,而不是仅仅中断嵌套循环。
对于这种方法,嵌套循环将打印出两个循环的乘积,直到外循环到达位置3。
该break语句将打破外环防止它进一步迭代。
//using named loop public static void main(String[] args){ firstLoop: for (int i=1; i<=4; i++){ for (int j = 1; j <= 4; j++) { if (i == 3) break firstLoop;{ System.out.println(i + " * " + j + " = " + (i * j)); } } } }
1 * 1 = 1 1 * 2 = 2 1 * 3 = 3 1 * 4 = 4 2 * 1 = 2 2 * 2 = 4 2 * 3 = 6 2 * 4 = 8
块是包含在大括号内的局部类和变量的语句序列,可用于打破嵌套循环。
该块逐个执行语句,直到最后一行代码。如果代码执行成功,则块成功终止,如果代码异常终止,同样的情况也适用。
为了使用这种方法打破嵌套循环,我们将打印出嵌套循环的乘积,直到满足条件。
一旦满足条件,我们将中断块的执行,这实际上将中断嵌套循环的执行。
当乘积等于 时,块将中断嵌套循环4,您还可以在块的右大括号之前添加一些条件无效时要执行的语句。
4
public static void main(String[] args){ block: { for (int i = 1; i < 5; i++) { for (int j = 1; j < 5; j++) { if ((i * j) == 4) break block;{ System.out.println(i+" * "+j+" = "+(i*j)); } } } System.out.println("The nested loop failed"); } }
1 * 1 = 1 1 * 2 = 2 1 * 3 = 3
该return关键字的工作方式与 break 关键字相同,在满足条件后终止嵌套循环,但返回一个值以供循环中断。
return
要使用 return 方法打破嵌套循环,请创建一个方法并初始化一个值,一旦满足条件,该方法将返回该值。
下面的示例初始化名为multiplywith的变量1并跟踪嵌套循环的乘法,直到乘法的结果为8。
multiply
1
8
当乘积为 8 时,该方法将返回值,嵌套循环将立即中断。
for 循环还将打印出嵌套循环的乘积,直到满足条件。
//using return public static int usingReturn(){ int multiply = 1; for (int i=1; i<=5; i++){ for (int j=1; j<=5; j++){ multiply = (i*j); if (multiply == 8)return multiply;{ System.out.println(i +" * "+j+" = "+multiply); } } } return multiply; } public static void main(String[] args){ System.out.println(usingReturn()); }
1 * 1 = 1 1 * 2 = 2 1 * 3 = 3 1 * 4 = 4 1 * 5 = 5 2 * 1 = 2 2 * 2 = 4 2 * 3 = 6 8
在本教程中,您学习了四种可用于跳出 Java 嵌套循环的方法。你所涵盖的方法包括使用break,return,named loop,和named block。
break
named loop
named block
原文链接:https://codingdict.com/