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?


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;

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


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

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.


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;
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.