0Pricing
Java Academy · Pelajaran

Kasus dengan Banyak Label

Kelompokkan beberapa label

Kasus dengan Banyak Label adalah pelajaran Java Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Java Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Java Academy mencakup 4 pelajaran total.

Mengelompokkan Label

Sering kali beberapa nilai harus memicu tindakan yang sama. switch modern memungkinkan Anda mencantumkan beberapa label dalam satu kasus, dipisahkan dengan koma, untuk menggunakan satu cabang bersama.

Label yang Dipisahkan dengan Koma

Tuliskan nilai-nilai tersebut secara berurutan dan pisahkan dengan koma sebelum ->. Jika salah satunya cocok, cabang tersebut dijalankan.

public class Main {
    public static void main(String[] args) {
        int day = 7;
        switch (day) {
            case 1, 2, 3, 4, 5 -> System.out.println("Weekday");
            case 6, 7 -> System.out.println("Weekend");
        }
    }
}

Mendeteksi Vokal

Salah satu penggunaan klasiknya adalah mengelompokkan semua vokal ke dalam satu cabang, alih-alih menulis lima kasus terpisah.

public class Main {
    public static void main(String[] args) {
        char c = 'o';
        switch (c) {
            case 'a', 'e', 'i', 'o', 'u' -> System.out.println("Vowel");
            default -> System.out.println("Consonant");
        }
    }
}

Banyak Label dalam Ekspresi

Kasus dengan banyak label juga dapat digunakan dalam ekspresi switch, dengan mengembalikan nilai yang sama untuk setiap label yang tercantum.

public class Main {
    public static void main(String[] args) {
        int month = 7;
        String season = switch (month) {
            case 12, 1, 2 -> "Winter";
            case 3, 4, 5 -> "Spring";
            case 6, 7, 8 -> "Summer";
            default -> "Autumn";
        };
        System.out.println(season);
    }
}

Mengelompokkan Label String

Nilai String juga dapat dikelompokkan. Di sini, beberapa penulisan perintah dipetakan ke satu tindakan.

public class Main {
    public static void main(String[] args) {
        String cmd = "quit";
        switch (cmd) {
            case "quit", "exit", "q" -> System.out.println("Closing");
            case "help", "h" -> System.out.println("Showing help");
            default -> System.out.println("Unknown command");
        }
    }
}

Mengelompokkan Label Enumerasi

Konstanta enumerasi juga dapat menggunakan satu cabang bersama, sehingga logika kategori tetap ringkas.

public class Main {
    enum Day { MON, TUE, WED, THU, FRI, SAT, SUN }
    public static void main(String[] args) {
        Day d = Day.SAT;
        String kind = switch (d) {
            case SAT, SUN -> "Rest";
            default -> "Work";
        };
        System.out.println(kind);
    }
}

Tidak Ada Label Duplikat

Setiap label hanya boleh muncul satu kali di seluruh switch. Mencantumkan nilai yang sama dalam dua cabang merupakan galat kompilasi, karena kompiler tidak dapat menentukan cabang mana yang harus dijalankan.

public class Main {
    public static void main(String[] args) {
        int n = 2;
        switch (n) {
            case 1, 2 -> System.out.println("Low");
            case 3, 4 -> System.out.println("High");
            default -> System.out.println("Other");
        }
    }
}

Dibandingkan Eksekusi Berlanjut Gaya Lama

Pada gaya lama dengan titik dua, pengelompokan memerlukan kasus-kasus kosong yang terus berlanjut dan ditumpuk di atas satu isi bersama. Sintaks koma jauh lebih jelas dan mencegah eksekusi berlanjut secara tidak sengaja.

public class Main {
    public static void main(String[] args) {
        int code = 3;
        switch (code) {
            case 1, 3, 5, 7, 9 -> System.out.println("Odd");
            case 0, 2, 4, 6, 8 -> System.out.println("Even");
        }
    }
}

Mengelompokkan dengan Blok

Kasus yang dikelompokkan juga dapat menggunakan isi berbentuk blok. Label mana pun yang cocok akan menjalankan seluruh blok.

public class Main {
    public static void main(String[] args) {
        char grade = 'B';
        switch (grade) {
            case 'A', 'B' -> {
                System.out.println("Pass");
                System.out.println("Well done");
            }
            default -> System.out.println("Try again");
        }
    }
}

Menggabungkan dengan yield

Label yang dikelompokkan dan yield dapat digunakan bersama saat sebuah cabang bersama memerlukan perhitungan.

public class Main {
    public static void main(String[] args) {
        int n = 4;
        int points = switch (n) {
            case 1, 2, 3 -> 10;
            case 4, 5, 6 -> {
                int bonus = n * 2;
                yield 20 + bonus;
            }
            default -> 0;
        };
        System.out.println(points);
    }
}

Keterbacaan yang Lebih Baik

Kasus dengan banyak label memadatkan daftar panjang cabang berulang menjadi beberapa kelompok yang jelas, sehingga maksudnya langsung terlihat.

public class Main {
    public static void main(String[] args) {
        int http = 204;
        String group = switch (http / 100) {
            case 1, 2, 3 -> "OK-ish";
            case 4, 5 -> "Error";
            default -> "Unknown";
        };
        System.out.println(group);
    }
}

Pemeriksaan Singkat

Bagaimana cara membuat beberapa nilai menjalankan cabang switch yang sama dalam Java modern?

Ringkasan

Anda telah mempelajari kasus dengan banyak label:

  • Daftarkan nilai dan pisahkan dengan koma sebelum ->
  • Dapat digunakan untuk int, karakter, String, dan enumerasi
  • Tidak ada eksekusi berlanjut secara tidak sengaja, tidak seperti gaya lama
  • Setiap label hanya boleh muncul satu kali
  • Gabungkan dengan blok dan yield jika diperlukan

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Kasus dengan Banyak Label” gratis?

Ya — teks lengkap “Kasus dengan Banyak Label” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Java Academy, upgrade ke CoddyKit PRO. Kursus Java Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Kasus dengan Banyak Label”?

Kelompokkan beberapa label Kamu berlatih Java Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Java Academy?

Tidak diperlukan pengalaman sebelumnya. Java Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Kasus dengan Banyak Label” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Java Academy ini?

Ya. Setiap pelajaran Java Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. switch Gaya Panah
  2. switch sebagai Ekspresi
  3. Kata Kunci yield
  4. Kasus dengan Banyak Label
← Kembali ke Java Academy