Rumah > Java > javaTutorial > teks badan

Memahami Fall-Through dalam Pernyataan Kes Suis Java

王林
Lepaskan: 2024-07-19 17:37:06
asal
443 orang telah melayarinya

Understanding Fall-Through in Java Switch-Case Statements

Dalam pengaturcaraan Java, pernyataan kes suis ialah struktur kawalan yang digunakan untuk melaksanakan satu blok kod di kalangan banyak berdasarkan nilai pembolehubah. Ia boleh menjadi lebih cekap dan boleh dibaca daripada menggunakan berbilang pernyataan if-else. Satu konsep penting untuk difahami apabila menggunakan pernyataan kes suis ialah "jatuh".

Apakah Fall-Through?

Fall-through berlaku apabila pelaksanaan kod diteruskan dari satu kes ke yang seterusnya tanpa menemui pernyataan putus. Secara lalai, selepas blok kes yang sepadan dilaksanakan, aliran kawalan akan jatuh ke blok kes berikutnya sehingga pernyataan putus ditemui atau pernyataan suis tamat.

Sintaks Pernyataan Kes Suis

Berikut ialah sintaks asas pernyataan kes suis dalam Java:

switch (expression) {
    case value1:
        // code block
        break;
    case value2:
        // code block
        break;
    default:
        // default code block
}
Salin selepas log masuk

Contoh Fall-Through

Mari kita lihat contoh untuk memahami cara kerja gagal:

int day = 2;
switch (day) {
    case 1:
        System.out.println("Monday");
    case 2:
        System.out.println("Tuesday");
    case 3:
        System.out.println("Wednesday");
    default:
        System.out.println("Other day");
}
Salin selepas log masuk

Dalam contoh ini, outputnya ialah:

Tuesday
Wednesday
Other day
Salin selepas log masuk

Penjelasan

Apabila hari bersamaan dengan 2, blok kes 2 dilaksanakan, mencetak "Selasa." Memandangkan tiada pernyataan putus selepas kes 2, pelaksanaan diteruskan ke kes 3 dan kemudian ke kes lalai, masing-masing mencetak "Rabu" dan "Hari lain". Ini ialah contoh klasik tingkah laku terputus-putus.

Mencegah Kejatuhan

Untuk mengelakkan kegagalan, anda harus mengakhiri setiap kes dengan pernyataan putus:

int day = 2;
switch (day) {
    case 1:
        System.out.println("Monday");
        break;
    case 2:
        System.out.println("Tuesday");
        break;
    case 3:
        System.out.println("Wednesday");
        break;
    default:
        System.out.println("Other day");
        break;
}
Salin selepas log masuk

Kini, outputnya ialah:

Tuesday
Salin selepas log masuk

Kejatuhan Sengaja

Kadangkala, fall-through boleh digunakan secara sengaja untuk melaksanakan berbilang kes dengan blok kod yang sama:

int day = 2;
switch (day) {
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
        System.out.println("It's a weekday");
        break;
    case 6:
    case 7:
        System.out.println("It's a weekend");
        break;
    default:
        System.out.println("Invalid day");
}
Salin selepas log masuk

Dalam contoh ini, nilai hari 1 hingga 5 semuanya akan menghasilkan "Hari bekerja" dicetak.

Kesimpulan

Memahami kegagalan dalam pernyataan kes suis adalah penting untuk menulis kod Java yang jelas dan bebas pepijat. Walaupun kegagalan boleh berguna dalam senario tertentu, secara amnya adalah amalan yang baik untuk menggunakan pernyataan putus untuk mengelakkan tingkah laku yang tidak diingini.

Nota: Tidak seperti Java, binaan kes apabila dalam Ruby tidak mempamerkan gelagat gagal. Setiap klausa adalah bebas dan pelaksanaan tidak akan diteruskan secara automatik apabila klausa tanpa arahan yang jelas.

Atas ialah kandungan terperinci Memahami Fall-Through dalam Pernyataan Kes Suis Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!