java基础面试题:java中有没有goto? 在JAVA中如何跳出当前的多重嵌套循环?
goto是Java的保留关键字,但是从来没有直接使用到goto,goto的跳转作用在Java中受到了限制,只有在特定场合下才能使用,如while for等循环中用continue、break或结合标签一起使用,来进行跳转
package com.swift; import java.util.Random; public class GoTo_Test { public static void main(String[] args) { /* * java中有goto吗? */ outer: for (int i = 0; i < 10; i++) { System.out.println("\nouter_loop:" + i); inner: for (int k = 0; i < 10; k++) { System.out.print(k + " "); int x = new Random().nextInt(10); if (x > 7) { System.out.print(" >>x == " + x + ",结束inner循环,继续迭代执行outer循环了!"); continue outer; } if (x == 1) { System.out.print(" >>x == 1,跳出并结束整个outer和inner循环!"); break outer; } } } System.out.println("------>>>所有循环执行完毕!"); } }
在JAVA中如何跳出当前的多重嵌套循环?
ok: for(inti=0;i<10;i++) { for(intj=0;j<10;j++) { System.out.println(“i=”+ i + “,j=” + j); if(j == 5) break ok; } }
也可以让外层的循环条件的结果受到里层循环体的控制
int arr[][] = {{1,2,3},{4,5,6,7},{9}}; boolean found = false; for(int i=0;i<arr.length &&!found;i++) { for(intj=0;j<arr[i].length;j++){ System.out.println(“i=”+ i + “,j=” + j); if(arr[i][j] == 5) { found= true; break; } } }
Never waste time any more, Never old man be a yong man