Bagaimana cara keluar atau keluar dari metode di Java?

123

Kata kunci breakdi Java dapat digunakan untuk memecah pernyataan loop atau switch. Apakah ada sesuatu yang dapat digunakan untuk melepaskan diri dari suatu metode?

Ali
sumber
2
Pertanyaan ini mungkin juga layak untuk diperiksa: stackoverflow.com/q/18188123/2182237
Jangan

Jawaban:

256

Gunakan returnkata kunci untuk keluar dari suatu metode.

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

Dari Tutorial Java yang saya tautkan di atas:

Metode apa pun yang dideklarasikan void tidak mengembalikan nilai. Itu tidak perlu berisi pernyataan kembali, tetapi mungkin melakukannya. Dalam kasus seperti itu, pernyataan pengembalian dapat digunakan untuk bercabang dari blok aliran kontrol dan keluar dari metode dan hanya digunakan seperti ini:

return;
Mark Peters
sumber
Apakah ini akan berfungsi untuk keluar dari konstruktor? Saya tahu ini agak aneh tetapi saya membutuhkan retasan ini.
stillanoob
44

Untuk menambah jawaban lain, Anda juga dapat keluar dari metode dengan memberikan pengecualian secara manual:

throw new Exception();

masukkan deskripsi gambar di sini

Jops
sumber
18

Bagaimana cara keluar di java ??

Jawab: Cara terbaik: System.exit(0);

Bahasa Java menyediakan tiga status lompatan yang memungkinkan Anda untuk mengganggu aliran normal program.

Ini termasuk break , continue , return , pernyataan break berlabel misalnya

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

Keluaran: 1

Sekarang Perhatikan Program di bawah ini:

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

keluaran:

1
11
111
1111

and so on upto

1111111111

Demikian pula Anda dapat menggunakan pernyataan lanjutkan hanya mengganti putus dengan melanjutkan dalam contoh di atas.

Hal-hal untuk diingat :

Label kasus tidak boleh berisi ekspresi runtime yang melibatkan panggilan variabel atau metode

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

Jika Anda sangat dalam rekursi di dalam metode rekursif, pengecualian melempar dan menangkap mungkin menjadi pilihan.

Tidak seperti Return yang hanya mengembalikan satu level ke atas, pengecualian akan keluar dari metode rekursif juga menjadi kode yang awalnya memanggilnya, di mana ia bisa ditangkap.

Audrius Meskauskas
sumber
1

digunakan returnuntuk keluar dari suatu metode.

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

Berikut contoh lainnya

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