如何打破或退出在Java中的方法?
Java中的关键字break
可以用于打破循环或switch语句。 有什么可以用来打破方法吗?
使用return
关键字从方法中退出。
public void someMethod() { //... a bunch of code ... if (someCondition()) { return; } //... otherwise do the following... }
从我上面链接到的Java教程:
任何声明为void的方法都不会返回一个值。 它不需要包含一个return语句,但可以这样做。 在这种情况下,可以使用return语句从控制stream程块分支并退出该方法,并简单地使用如下所示:
return;
要添加到其他答案,您也可以通过手动抛出exception来退出方法:
throw new Exception();
如何在java中突围?
Ans:最好的方法是: System.exit(0);
Java语言提供了三种跳转状态,可以让您中断正常的程序stream程。
这些包括中断 , 继续 , 返回 ,例如标记为break语句
import java.util.Scanner; class demo { public static void main(String args[]) { outerLoop://Label for(int i=1;i<=10;i++) { for(int j=1;j<=i;j++) { for(int k=1;k<=j;k++) { System.out.print(k+"\t"); break outerLoop; } System.out.println(); } System.out.println(); } } }
输出: 1
现在注意下面的程序:
import java.util.Scanner; class demo { public static void main(String args[]) { for(int i=1;i<=10;i++) { for(int j=1;j<=i;j++) { for(int k=1;k<=j;k++) { System.out.print(k+"\t"); break ; } } System.out.println(); } } }
输出:
1 11 111 1111 and so on upto 1111111111
同样你可以使用continue语句在上面的例子中用continue继续replacebreak。
要记住的事情:
案例标签不能包含涉及variables或方法调用的运行时expression式
outerLoop: Scanner s1=new Scanner(System.in); int ans=s1.nextInt(); // Error s1 cannot be resolved
如果你在recursion方法中深入recursion,抛出和捕获exception可能是一个选项。
与只返回一个级别的Return不同,exception将会从recursion方法中跳出来,并进入最初调用它的代码中,在那里它可以被捕获。