如何在Java中中断或退出方法?

Ali*_*Ali 114 java break

breakJava中的关键字可用于断开循环或switch语句.有没有什么可以用来打破方法?

Mar*_*ers 240

使用return关键字退出方法.

public void someMethod() {
    //... a bunch of code ...
    if (someCondition()) {
        return;
    }
    //... otherwise do the following...
}
Run Code Online (Sandbox Code Playgroud)

从我上面链接的Java教程:

声明为void的任何方法都不返回值.它不需要包含return语句,但它可以这样做.在这种情况下,可以使用return语句分支出控制流程块并退出该方法,并且可以像这样使用:

return;
Run Code Online (Sandbox Code Playgroud)


Jop*_*ops 39

要添加到其他答案,您还可以通过手动抛出异常来退出方法:

throw new Exception();
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


小智 17

如何突破java?

答:最好的方式: System.exit(0);

Java语言提供了三种跳转状态,允许您中断正常的程序流.

这些包括break,continue,return,标签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();
            }
    }   
}
Run Code Online (Sandbox Code Playgroud)

输出: 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();
            }
    }   
}
Run Code Online (Sandbox Code Playgroud)

输出:

1
11
111
1111

and so on upto

1111111111
Run Code Online (Sandbox Code Playgroud)

同样,您可以在上面的示例中使用continue语句将continue替换为continue.

要记住的事情:

案例标签不能包含涉及变量或方法调用的运行时表达式

outerLoop:
Scanner s1=new Scanner(System.in);
int ans=s1.nextInt();
// Error s1 cannot be resolved
Run Code Online (Sandbox Code Playgroud)


h22*_*h22 6

如果您在递归方法中深入递归,则抛出和捕获异常可能是一种选择。

与仅返回上一级的 Return 不同,异常也会从递归方法中跳出并进入最初调用它的代码,在那里可以捕获它。