Comment sortir ou quitter une méthode en Java?

123

Le mot-clé breaken Java peut être utilisé pour sortir d'une boucle ou d'une instruction switch. Y a-t-il quelque chose qui puisse être utilisé pour rompre avec une méthode?

Ali
la source
2
Cette question peut également valoir la peine d'être vérifiée
Don

Réponses:

256

Utilisez le returnmot - clé pour quitter une méthode.

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

À partir du tutoriel Java auquel j'ai lié ci-dessus:

Toute méthode déclarée void ne renvoie pas de valeur. Il n'a pas besoin de contenir une instruction return, mais il peut le faire. Dans un tel cas, une instruction return peut être utilisée pour sortir d'un bloc de flux de contrôle et quitter la méthode et est simplement utilisée comme ceci:

return;
Mark Peters
la source
Cela fonctionnera-t-il pour quitter un constructeur? Je sais que c'est un peu étrange mais j'ai besoin de ce hack.
stillanoob
44

Pour ajouter aux autres réponses, vous pouvez également quitter une méthode en lançant une exception manuellement:

throw new Exception();

entrez la description de l'image ici

Jops
la source
18

Comment éclater en java ??

Ans: Meilleur moyen: System.exit(0);

Le langage Java fournit trois états de saut qui vous permettent d'interrompre le déroulement normal du programme.

Ceux-ci incluent break , continue , return , instruction break étiquetée pour par exemple

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

Production: 1

Notez maintenant ci-dessous le programme:

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

production:

1
11
111
1111

and so on upto

1111111111

De même, vous pouvez utiliser l'instruction continue en remplaçant simplement break par continue dans l'exemple ci-dessus.

Choses à retenir :

Une étiquette de cas ne peut pas contenir d'expressions d'exécution impliquant des appels de variable ou de méthode

outerLoop:
Scanner s1=new Scanner(System.in);
int ans=s1.nextInt();
// Error s1 cannot be resolved
Ingénieur Isabella
la source
4

Si vous êtes profondément dans la récursivité à l'intérieur de la méthode récursive, lancer et intercepter une exception peut être une option.

Contrairement à Return qui ne retourne qu'un niveau supérieur, l'exception éclaterait également de la méthode récursive dans le code qui l'a initialement appelée, où elle peut être interceptée.

Audrius Meskauskas
la source
1

utilisez returnpour quitter une méthode.

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

Voici un autre exemple

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