web-dev-qa-db-de.com

Wie kann ich eine Methode in Java ausbrechen oder beenden?

Das Schlüsselwort break in Java kann verwendet werden, um eine Schleifen- oder Schalteranweisung zu unterbrechen. Gibt es etwas, was verwendet werden kann, um von einer Methode abzubrechen?

106
Ali

Verwenden Sie das Schlüsselwort return , um eine Methode zu verlassen.

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

Aus dem Java-Tutorial, das ich oben verlinkt habe:

Jede als void deklarierte Methode gibt keinen Wert zurück. Es muss keine return-Anweisung enthalten, dies kann jedoch der Fall sein. In einem solchen Fall kann mit einer return-Anweisung aus einem Steuerungsflussblock verzweigt und die Methode beendet werden. Sie wird einfach wie folgt verwendet:

return;
218
Mark Peters

Um zu den anderen Antworten hinzuzufügen, können Sie eine Methode auch beenden, indem Sie eine Ausnahme auslösen manuell:

throw new Exception();

enter image description here

38
Jops

Wie in Java ausbrechen?

Ans: Beste Weise: System.exit(0);

Die Java-Sprache bietet drei Sprungstatistiken, mit denen Sie den normalen Programmfluss unterbrechen können.

Dazu gehören break , continue , return , als break-Anweisung .__ 

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

Ausgabe: 1

Jetzt Hinweis unter Programm:

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

ausgabe:

1
11
111
1111

and so on upto

1111111111

In ähnlicher Weise können Sie continue-Anweisungen verwenden, indem Sie break im obigen Beispiel durch continue ersetzen.

Dinge zu beachten:

Eine Fallbezeichnung darf keine Laufzeitausdrücke enthalten, die Variablen- oder Methodenaufrufe beinhalten

outerLoop:
Scanner s1=new Scanner(System.in);
int ans=s1.nextInt();
// Error s1 cannot be resolved
17

Wenn Sie sich rekursiv in rekursiven Methoden befinden, können Ausnahmen geworfen und abgefangen werden. 

Im Gegensatz zu Return, das nur eine Ebene zurückgibt, bricht eine Ausnahme aus der rekursiven Methode sowie aus dem Code, der sie ursprünglich aufgerufen hat, und kann dort abgefangen werden.

3
h22

verwenden Sie return, um eine Methode zu verlassen.

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

Hier ist ein anderes Beispiel

int price = quantity * 5;
        if (hasCream) {
            price=price + 1;
        }
        if (haschocolat) {
            price=price + 2;
        }
        return price;
0
user9576863