0Pricing
Java Academy · Pelajaran

Ternary vs if/else

Kapan masing-masing digunakan

Ternary vs if/else adalah pelajaran Java Academy gratis di CoddyKit. Ini adalah pelajaran 3 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.

Dua Alat, Satu Tugas

Baik operator ternari maupun if/else memungkinkan Anda membuat percabangan berdasarkan suatu kondisi.

Perbedaan utamanya: operator ternari adalah sebuah ekspresi yang menghasilkan nilai, sedangkan if/else adalah sebuah pernyataan yang menjalankan tindakan.

Memilih yang tepat membuat kode tetap jelas.

Logika yang Sama, Dua Cara

Percabangan if/else ini menetapkan keterangan berdasarkan usia.

Cara ini berfungsi, tetapi memerlukan lima baris untuk pilihan sederhana.

int age = 16;
String status;
if (age >= 18) {
    status = "adult";
} else {
    status = "minor";
}

Versi Operator Ternari

Penetapan yang sama sebagai operator ternari dapat ditulis dalam satu baris.

Operator ini mendeklarasikan dan menginisialisasi variabel dalam satu langkah, tanpa pengulangan.

int age = 16;
String status = age >= 18 ? "adult" : "minor";

Operator Ternari Menghasilkan Nilai

Karena operator ternari merupakan sebuah ekspresi, Anda dapat menempatkannya di mana pun nilai diharapkan: dalam penetapan, pengembalian, atau argumen.

if tidak dapat digunakan sebagai nilai; kode tersebut hanya mengendalikan aliran eksekusi.

public class Main {
    public static void main(String[] args) {
        int n = 5;
        System.out.println(n > 0 ? "positive" : "non-positive");
    }
}

Percabangan Bersyarat Dapat Melakukan Lebih Banyak

Percabangan if/else dapat menjalankan beberapa pernyataan di setiap cabang: mencatat informasi, memperbarui beberapa variabel, dan memanggil metode.

Operator ternari terbatas pada menghasilkan satu nilai, sehingga tidak dapat memuat blok tindakan.

int balance = -10;
if (balance < 0) {
    System.out.println("Overdrawn!");
    balance = 0;
} else {
    System.out.println("OK");
}

Efek Samping Ditempatkan dalam Percabangan Bersyarat

Jika setiap cabang perlu melakukan sesuatu (mencetak, menyimpan, atau melempar pengecualian), gunakan if/else.

Operator ternari digunakan untuk memilih nilai, bukan menjalankan tindakan. Memaksakan efek samping ke dalam operator ternari mengurangi keterbacaan.

// Prefer if/else when branches act
boolean error = true;
if (error) {
    System.out.println("Logging error");
}

Gunakan Operator Ternari untuk Penetapan Nilai

Jika kedua cabang hanya menetapkan nilai ke variabel yang sama, operator ternari menghilangkan pengulangan.

Percabangan if/else mengulang nama variabel dua kali; operator ternari hanya menyebutnya satu kali.

public class Main {
    public static void main(String[] args) {
        int hour = 14;
        String shift = hour < 12 ? "morning" : "afternoon";
        System.out.println(shift);
    }
}

Aturan Tipe Berbeda

Operator ternari mengharuskan kedua cabang memiliki tipe yang kompatibel agar ekspresinya memiliki satu tipe.

Percabangan if/else tidak memiliki aturan tersebut karena setiap cabang berdiri sendiri dan tidak menghasilkan nilai gabungan.

// ternary: branches must be compatible types
boolean ok = true;
String msg = ok ? "yes" : "no";

Kompromi Keterbacaan

Untuk satu pilihan singkat, operator ternari lebih rapi.

Untuk kondisi yang rumit atau banyak cabang, if/else if lebih mudah dibaca daripada operator ternari bersarang yang panjang.

Pilih bentuk yang paling cepat dipahami oleh pembaca berikutnya.

Menggabungkan Keduanya

Anda dapat menggabungkan keduanya: gunakan percabangan bersyarat untuk alur kontrol dan operator ternari di dalam sebuah cabang untuk pilihan nilai yang sederhana.

Dengan demikian, tindakan dan pemilihan nilai tetap berada di tempatnya masing-masing.

public class Main {
    public static void main(String[] args) {
        int qty = 3;
        if (qty > 0) {
            String word = qty == 1 ? "item" : "items";
            System.out.println(qty + " " + word);
        }
    }
}

Panduan Singkat

Pilih operator ternari ketika Anda menetapkan atau mengembalikan salah satu dari dua nilai sederhana.

Pilih percabangan bersyarat ketika cabang menjalankan pernyataan, memiliki efek samping, atau logikanya mencakup beberapa kondisi.

Pemeriksaan Singkat

Kapan sebaiknya Anda memilih percabangan bersyarat daripada operator ternari?

Ringkasan

Operator ternari adalah ekspresi yang memilih nilai; percabangan bersyarat adalah pernyataan yang menjalankan tindakan.

Gunakan operator ternari untuk penetapan dan pengembalian satu nilai secara ringkas; gunakan percabangan bersyarat untuk efek samping, beberapa pernyataan, atau percabangan yang rumit.

Keduanya dapat digabungkan untuk mendapatkan hasil yang paling jelas.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Ternary vs if/else” gratis?

Ya — teks lengkap “Ternary vs if/else” 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 “Ternary vs if/else”?

Kapan masing-masing digunakan 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 3 dari 4.

Berapa lama pelajaran “Ternary vs if/else” 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. Operator Ternary
  2. Ternary Bertingkat
  3. Ternary vs if/else
  4. Jebakan Keterbacaan
← Kembali ke Java Academy