Hoe een methode in Java uitbreken of afsluiten?

Het sleutelwoord breakin Java kan worden gebruikt om uit een lus- of switch-instructie te breken. Is er iets dat kan worden gebruikt om een methode te doorbreken?


Antwoord 1, autoriteit 100%

Gebruik de returntrefwoord om een methode te verlaten.

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

Uit de Java-zelfstudie waarnaar ik hierboven heb gelinkt:

Elke methode die ongeldig wordt verklaard, retourneert geen waarde. Het hoeft geen return-statement te bevatten, maar het mag wel. In een dergelijk geval kan een return-statement worden gebruikt om uit een regelstroomblok te vertakken en de methode te verlaten, en wordt eenvoudig als volgt gebruikt:

return;

Antwoord 2, autoriteit 17%

Om aan de andere antwoorden toe te voegen, kun je een methode ook verlaten door een uitzondering te makenhandmatig:

throw new Exception();


Antwoord 3, autoriteit 7%

Hoe uitbreken in Java??

Antwoord: Beste manier: System.exit(0);

Java-taal biedt drie spronginstructies waarmee u de normale programmastroom kunt onderbreken.

Deze omvatten break, continue,return,gelabelde break-statement
voor bijvoorbeeld

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

Uitgang: 1

NOG NOTE HIERONDER PROGRAMMA:

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

Uitgang:

1
11
111
1111
and so on upto
1111111111

Evenzo kunt u de voortschrijdende verklaring gebruiken, vervang gewoon de pauze met doorgaan met het bovenstaande voorbeeld.

Dingen om te onthouden:

Een case-label kan geen runtime-uitdrukkingen bevatten met variabele of methode-oproepen

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

Antwoord 4, autoriteit 2%

Als je diep in de recursieve methode zit met recursie, kan het gooien en vangen van een exception een optie zijn.

In tegenstelling tot Return dat slechts één niveau hoger retourneert, zou de uitzondering ook uit de recursieve methode breken in de code die het aanvankelijk aanriep, waar het kan worden opgevangen.


Antwoord 5

gebruik returnom een methode te verlaten.

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

Hier is nog een voorbeeld

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

Antwoord 6

Gebruik het returntrefwoord om een methode af te sluiten .

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

Let op:
We kunnen break-statements gebruiken die alleen worden gebruikt om een lus te verbreken/af te sluiten, en niet het hele programma.

Om het programma af te sluiten: System.exit() Methode:
System.exitheeft een statuscode, die vertelt over de beëindiging, zoals:
exit(0) : Geeft een succesvolle beëindiging aan.
exit(1) of exit(-1) of een andere waarde dan nul – geeft een mislukte beëindiging aan.


Antwoord 7

if (true) return;is de beste oplossing die ik gebruik. je kunt if(condition) testen gebruiken die waar of onwaar oplevert.

Waarom?

  • gebruik alleen return;: geeft Error:(105, 9) java: unreachable statement
public class Main
{
    public static void main(String[] args) {
        System.out.println("Hello World 1st code ");
        return;
        System.out.println("Hello World  2nd code ");
    }
}

Compilatie mislukt vanwege de volgende fout(en).

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

u kunt het online testen met: https://www.onlinegdb.com/online_java_compiler

  • gebruik exit(int status)voorbeeld exit(0);: zoals u weet beëindigt u het hele programma (de methode java.lang.System.exit() beëindigt de momenteel draaiende Java Virtual Machine. Zie referentie) ; Dus afsluiten, staat niet toe om alleen de methode te breken en de uitvoering van de aanroeper voort te zetten

Je kunt de 3 technieken testen met de volgende code:

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

Het resultaat:

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

Other episodes