Java Academy · Pelajaran

switch sebagai Ekspresi

Kembalikan nilai dari switch

Pelajaran 2 dari 413 langkah

switch sebagai Ekspresi adalah pelajaran Java Academy gratis di CoddyKit. Ini adalah pelajaran 2 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.

Pernyataan dan Ekspresi

Sebuah pernyataan menjalankan tindakan. Sebuah ekspresi menghasilkan nilai. Java modern memungkinkan switch menjadi ekspresi, sehingga Anda dapat langsung menetapkan hasilnya ke variabel.

Menetapkan Hasil Pernyataan Pemilihan

Saat switch muncul di sisi kanan =, setiap cabang menyediakan nilainya. Bentuk panah secara otomatis mengembalikan nilai setelah ->.

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

Titik Koma Setelah Blok

Karena ekspresi switch merupakan bagian dari sebuah pernyataan, ekspresi tersebut diakhiri dengan titik koma setelah kurung kurawal penutup. Lupa menuliskannya merupakan galat kompilasi yang umum.

public class Main {
    public static void main(String[] args) {
        int n = 2;
        int doubled = switch (n) {
            case 1 -> 2;
            case 2 -> 4;
            default -> 0;
        };
        System.out.println(doubled);
    }
}

Kelengkapan Nilai

Sebuah ekspresi switch harus mencakup setiap nilai yang mungkin. Untuk sebagian besar tipe, ini berarti menyertakan cabang default; jika tidak, kode tidak akan dikompilasi.

public class Main {
    public static void main(String[] args) {
        int score = 85;
        char grade = switch (score / 10) {
            case 10, 9 -> 'A';
            case 8 -> 'B';
            case 7 -> 'C';
            default -> 'F';
        };
        System.out.println(grade);
    }
}

Enumerasi Tidak Memerlukan default

Saat Anda menggunakan switch pada sebuah enum dan mencakup setiap konstanta, kompiler mengetahui bahwa semua kemungkinan telah ditangani. Cabang default menjadi opsional.

public class Main {
    enum Dir { NORTH, SOUTH, EAST, WEST }
    public static void main(String[] args) {
        Dir d = Dir.EAST;
        String label = switch (d) {
            case NORTH -> "Up";
            case SOUTH -> "Down";
            case EAST -> "Right";
            case WEST -> "Left";
        };
        System.out.println(label);
    }
}

Mengembalikan Nilai Secara Langsung

Sebuah metode dapat langsung melakukan return terhadap ekspresi switch, sehingga metode pencarian menjadi ringkas.

public class Main {
    static int sides(String shape) {
        return switch (shape) {
            case "triangle" -> 3;
            case "square" -> 4;
            case "pentagon" -> 5;
            default -> 0;
        };
    }
    public static void main(String[] args) {
        System.out.println(sides("square"));
    }
}

Hasil Numerik

Cabang dapat mengembalikan angka, melakukan operasi aritmetika, atau memanggil metode. Setiap cabang harus menghasilkan nilai dengan tipe yang sama seperti variabel yang diberi nilai.

public class Main {
    public static void main(String[] args) {
        int month = 2;
        int days = switch (month) {
            case 2 -> 28;
            case 4, 6, 9, 11 -> 30;
            default -> 31;
        };
        System.out.println("Days: " + days);
    }
}

Menggunakan Hasil Secara Langsung

Nilai dari ekspresi switch dapat langsung digunakan, misalnya di dalam pemanggilan println.

public class Main {
    public static void main(String[] args) {
        int code = 1;
        System.out.println("Status: " + switch (code) {
            case 0 -> "OK";
            case 1 -> "Warning";
            default -> "Error";
        });
    }
}

Konsistensi Tipe

Semua cabang harus memiliki tipe hasil yang sama. Jika satu cabang mengembalikan int dan cabang lain mengembalikan String, kode tidak akan dikompilasi. Pastikan tipe semua cabang konsisten.

public class Main {
    public static void main(String[] args) {
        int n = 3;
        double factor = switch (n) {
            case 1 -> 0.5;
            case 2 -> 1.0;
            default -> 1.5;
        };
        System.out.println(factor);
    }
}

Menggantikan Rangkaian Operator Ternary

Ekspresi switch sering kali lebih mudah dibaca daripada operator ternary bertingkat saat memetakan satu nilai ke banyak hasil.

public class Main {
    public static void main(String[] args) {
        int rating = 4;
        String stars = switch (rating) {
            case 1 -> "*";
            case 2 -> "**";
            case 3 -> "***";
            case 4 -> "****";
            default -> "*****";
        };
        System.out.println(stars);
    }
}

Menggabungkan dengan Variabel

Anda dapat menggunakan hasil ekspresi switch dalam perhitungan lanjutan, sama seperti nilai lainnya.

public class Main {
    public static void main(String[] args) {
        int tier = 2;
        int discount = switch (tier) {
            case 1 -> 5;
            case 2 -> 10;
            default -> 0;
        };
        int price = 100 - discount;
        System.out.println("Price: " + price);
    }
}

Pemeriksaan Singkat

Mengapa ekspresi switch biasanya harus menyertakan cabang default?

Ringkasan

Anda telah mempelajari cara menggunakan switch sebagai ekspresi:

  • Ekspresi ini menghasilkan nilai yang dapat Anda tetapkan atau kembalikan
  • Akhiri penetapan dengan titik koma
  • Ekspresi ini harus mencakup semua kemungkinan (biasanya memerlukan default)
  • Enumerasi yang mencakup semua konstanta tidak memerlukan default
  • Semua cabang harus menggunakan tipe hasil yang sama
Gratis untuk memulai

Belajar Java dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
104
Pelajaran
374

Pertanyaan yang Sering Diajukan

Apakah pelajaran “switch sebagai Ekspresi” gratis?

Ya — teks lengkap “switch sebagai Ekspresi” 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 “switch sebagai Ekspresi”?

Kembalikan nilai dari switch 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 2 dari 4.

Berapa lama pelajaran “switch sebagai Ekspresi” 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