Wie kann man eine Methode in Java ausbrechen oder beenden?

Lesezeit: 4 Minuten

Benutzer-Avatar
Ali

Das Schlüsselwort break in Java kann zum Aufbrechen einer Schleife oder Schalteranweisung verwendet werden. Gibt es irgendetwas, das verwendet werden kann, um von einer Methode abzubrechen?

  • Diese Frage könnte auch eine Überprüfung wert sein: stackoverflow.com/q/18188123/2182237

    – Anziehen

    12. August 2013 um 20:03 Uhr

Benutzer-Avatar
Markus Peters

Verwenden Sie die return Schlüsselwort zum Verlassen einer Methode.

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

Aus dem oben verlinkten Java-Tutorial:

Jede für void deklarierte Methode gibt keinen Wert zurück. Es muss keine return-Anweisung enthalten, kann es aber. In einem solchen Fall kann eine return-Anweisung verwendet werden, um aus einem Kontrollflussblock zu verzweigen und die Methode zu verlassen, und wird einfach so verwendet:

return;

  • Wird dies funktionieren, um einen Konstruktor zu verlassen? Ich weiß, es ist ein bisschen seltsam, aber ich brauche diesen Hack.

    – stillanoob

    21. Oktober 2016 um 12:35 Uhr

  • Ich erhalte eine Fehlermeldung beim Beenden der Funktion mit dem Rückgabetyp int[] Rückgabe verwenden; im if-Zustand. Kannst du erklären warum?

    – Vocado_

    9. Oktober 2021 um 7:25 Uhr

  • @Vocado_xiix: Dieses Beispiel ist für die Rückkehr von a void Methode. Wenn Ihre Methode einen Wert zurückgeben muss, dann wäre es so etwas wie return array; wo array ist etwas, das Sie in der Methode erstellt haben.

    – Markus Peters

    9. Oktober 2021 um 15:01 Uhr

  • @Vocado_ , Es sollte ein Rückgabeobjekt geben (es könnte sein return null)

    – Smiley

    10. März um 14:03 Uhr

Um die anderen Antworten zu ergänzen, können Sie eine Methode auch verlassen, indem Sie eine Ausnahme werfen manuell:

throw new Exception();

Geben Sie hier die Bildbeschreibung ein

Benutzer-Avatar
Isabella Ingenieur

Wie kann man in Java ausbrechen?

Antwort: Am besten: System.exit(0);

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

Diese beinhalten Unterbrechung , fortsetzen ,Rückkehr ,beschriftete break-Anweisung
für zB

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

Beachten Sie jetzt das folgende 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();
            }
    }   
}

Ausgang:

1
11
111
1111

and so on upto

1111111111

In ähnlicher Weise können Sie die Continue-Anweisung verwenden, indem Sie im obigen Beispiel einfach break durch Continue ersetzen.

Dinge, an die Sie sich erinnern sollten:

Eine Fallbezeichnung darf keine Laufzeitausdrücke mit Variablen- oder Methodenaufrufen enthalten

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

Wenn Sie tief in der Rekursion innerhalb der rekursiven Methode sind, kann das Auslösen und Abfangen von Ausnahmen eine Option sein.

Im Gegensatz zu Return, das nur eine Ebene höher zurückgibt, würde eine Ausnahme auch aus der rekursiven Methode in den Code ausbrechen, der sie ursprünglich aufgerufen hat, wo sie abgefangen werden kann.

verwenden return um eine Methode zu verlassen.

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

Hier ist ein weiteres Beispiel

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

Benutzer-Avatar
ibra

if (true) return; ist die beste Lösung, die ich verwende. Sie können if(condition)-Tests verwenden, die wahr oder falsch ergeben.

Wieso den?

  • verwenden return; allein: gibt Fehler: (105, 9) Java: nicht erreichbare Anweisung
public class Main
{
    public static void main(String[] args) {
        System.out.println("Hello World 1st code ");
        return;
        System.out.println("Hello World  2nd code ");
    }
}

Die Kompilierung ist aufgrund folgender Fehler fehlgeschlagen.

Main.java:14: error: unreachable statement
        System.out.println("Hello World  2nd code ");
        ^
1 error

Sie können es online testen mit: https://www.onlinegdb.com/online_java_compiler

  • verwenden exit (int-Status) Beispiel exit(0); : Wie Sie wissen, beenden Sie das gesamte Programm (Die Methode java.lang.System.exit() beendet die derzeit ausgeführte Java Virtual Machine. Siehe Ref.) ; Exit erlaubt es also nicht, nur die Methode zu unterbrechen und die Ausführung des Aufrufers fortzusetzen

Sie können die 3 Techniken mit dem folgenden Code testen:

public class Main
{
    public static void do_something(int i)
    {
        System.out.println(" i : "+i);
        
        // break the method 
        /// System.exit(0); // stop all the program
        /// return;        // Main.java:20: error: unreachable statemen
        if(true) return;
        
        // do some computing 
        int res = i*i;
        
        System.out.println(" res : "+res);
        
    }
    public static void main(String[] args) {
        
        for (int i = 0; i <5; i++)
        {
            do_something(i);
        }
        
        System.out.println("Ouiiiii ,  work finished ");
    }
}

Das Ergebnis:

 i : 0                                                                                                                                          
 i : 1                                                                                                                                          
 i : 2                                                                                                                                          
 i : 3                                                                                                                                          
 i : 4                                                                                                                                          
Ouiiiii ,  work finished 

Benutzer-Avatar
Atharva

Verwenden Sie die Rückkehr Schlüsselwort zum Verlassen einer Methode.

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

Bitte beachten Sie: Wir können Break-Anweisungen verwenden, die nur zum Unterbrechen/Beenden einer Schleife und nicht des gesamten Programms verwendet werden.

So verlassen Sie das Programm: System.exit() Methode:
System.exit hat einen Statuscode, der über die Beendigung informiert, wie zum Beispiel:
exit(0) : Zeigt eine erfolgreiche Beendigung an.
exit(1) oder exit(-1) oder ein beliebiger Wert ungleich Null – zeigt eine erfolglose Beendigung an.

1344860cookie-checkWie kann man eine Methode in Java ausbrechen oder beenden?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy