web-dev-qa-db-fra.com

Comment sortir ou sortir d'une méthode en Java?

Le mot clé break en Java peut être utilisé pour rompre une instruction en boucle ou un commutateur. Y at-il quelque chose qui peut être utilisé pour rompre avec une méthode?

106
Ali

Utilisez le mot clé return pour quitter une méthode.

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

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

Toute méthode déclarée vide ne renvoie pas de valeur. Il n'est pas nécessaire qu'il contienne une instruction return, mais cela peut être le cas. Dans ce cas, une instruction return peut être utilisée pour sortir d'un bloc de flux de contrôle et quitter la méthode. Elle est simplement utilisée comme ceci:

return;
218
Mark Peters

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

throw new Exception();

enter image description here

38
Jops

Comment sortir en java?

Ans: Meilleure façon: System.exit(0);

Le langage Java fournit trois statistiques de saut qui vous permettent d’interrompre le flux normal du programme.

Ceux-ci incluent break, continue, return, une déclaration de rupture étiquetée

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

Sortie: 1

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

sortie:

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
17
Isabella Engineer

Si vous êtes profondément en récursion dans une méthode récursive, une exception de projection et de capture peut être une option. 

Contrairement à Return qui renvoie uniquement un niveau, l’exception s’échappera de la méthode récursive dans le code qui l’appelait initialement, où elle peut être interceptée.

3
h22

utilisez return pour 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;
0
user9576863