Java Academy · Pelajaran

Menyarang Ternari

Rantaikan keputusan dengan teliti.

Pelajaran 2 daripada 413 langkah

Menyarang Ternari ialah pelajaran Java Academy percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Java Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Java Academy merangkumi sejumlah 4 pelajaran.

Apakah Ternari Bersarang?

Ternari bersarang meletakkan ternari lain di dalam salah satu cabangnya.

Ini membolehkan anda memilih antara tiga atau lebih hasil, bukan hanya dua.

Hasilnya ialah rantaian syarat yang dinilai dari kiri ke kanan.

int score = 75;
String grade = score >= 90 ? "A" : score >= 80 ? "B" : "C";

Cara Ia Dikelompokkan

Ternari bersifat bersekutu ke kanan. Ini bermakna cabang palsu menelan baki rantaian.

Jadi a ? x : b ? y : z dibaca sebagai a ? x : (b ? y : z).

Setiap : menyerahkan kawalan kepada syarat seterusnya.

// reads as: a ? x : (b ? y : z)
String r = false ? "x" : true ? "y" : "z"; // r = "y"

Pilihan Tiga Hala

Di sini, suatu nombor dikategorikan sebagai negatif, sifar atau positif.

Syarat pertama menyemak nilai negatif; cabang palsunya menyemak sama ada nilai itu sifar atau positif.

public class Main {
    public static void main(String[] args) {
        int n = 0;
        String sign = n < 0 ? "negative" : n == 0 ? "zero" : "positive";
        System.out.println(sign);
    }
}

Contoh Pemberian Gred

Salah satu penggunaan klasik ialah memetakan markah kepada gred huruf.

Setiap syarat disemak mengikut turutan sehingga satu syarat benar, lalu huruf yang sepadan dipulangkan.

public class Main {
    public static void main(String[] args) {
        int score = 83;
        String grade = score >= 90 ? "A"
            : score >= 80 ? "B"
            : score >= 70 ? "C" : "F";
        System.out.println(grade);
    }
}

Susunan Penting

Syarat diuji dari atas ke bawah, jadi letakkan julat yang paling khusus atau paling tinggi terlebih dahulu.

Jika anda menyemak score >= 70 sebelum score >= 90, markah 95 akan tersilap berhenti pada padanan pertama.

// wrong order: 95 would match >= 70 first
int score = 95;
String g = score >= 70 ? "C" : score >= 90 ? "A" : "F"; // g = "C"!

Menambahkan Kurungan untuk Kejelasan

Java tidak mewajibkan kurungan, tetapi kurungan menjadikan struktur bersarang jelas kepada pembaca.

Membungkus setiap ternari dalaman menunjukkan dengan tepat cara cabang-cabang tersebut dipasangkan.

int n = 5;
String s = n < 0 ? "neg" : (n == 0 ? "zero" : "pos");

Memformatkan Merentas Baris

Rantaian panjang lebih mudah dibaca apabila setiap syarat berada pada barisnya sendiri.

Sejajarkan ? dan : supaya strukturnya kelihatan seperti tangga.

public class Main {
    public static void main(String[] args) {
        int temp = 22;
        String label = temp >= 30 ? "hot"
            : temp >= 20 ? "warm"
            : temp >= 10 ? "cool"
            : "cold";
        System.out.println(label);
    }
}

Bersarang dalam Cabang Benar

Anda juga boleh bersarang dalam cabang benar, walaupun cara ini kurang biasa dan lebih sukar dibaca.

Jika anda berbuat demikian, kurungan amat disyorkan untuk mengelakkan kekeliruan.

boolean a = true, b = false;
String r = a ? (b ? "both" : "only a") : "neither";

Memulangkan Ternari Bersarang

Satu kaedah boleh memulangkan hasil berbilang pilihan dengan satu ternari bersarang.

Cara ini masih mudah dibaca untuk tiga atau empat kes, tetapi menjadi berserabut jika melebihi jumlah tersebut.

public class Main {
    static String size(int len) {
        return len < 5 ? "short" : len < 10 ? "medium" : "long";
    }
    public static void main(String[] args) {
        System.out.println(size(7));
    }
}

Ketahui Masa untuk Berhenti

Dua tahap sarang biasanya tidak menjadi masalah. Tiga tahap atau lebih sering menjadi sukar untuk diikuti.

Apabila rantaian menjadi panjang, tangga if/else if atau switch lebih jelas dan lebih mudah dinyahpepijat.

Menjejaki Rantaian

Ikuti rantaian ini secara manual: dengan day = 6, syarat pertama adalah palsu dan syarat kedua adalah benar.

Jadi hasilnya ialah "Saturday" tanpa menyemak bahagian yang selebihnya.

public class Main {
    public static void main(String[] args) {
        int day = 6;
        String name = day == 7 ? "Sunday"
            : day == 6 ? "Saturday" : "Weekday";
        System.out.println(name);
    }
}

Semakan Pantas

Uji cara ternari bersarang dikelompokkan.

Imbas Kembali

Ternari bersarang merantaikan syarat untuk memilih antara tiga atau lebih nilai.

Ternari ini bersekutu ke kanan, jadi cabang palsu menyerap bahagian selebihnya; susun syarat anda dengan teliti.

Tambahkan kurungan dan pemisah baris untuk kejelasan, dan beralih kepada if/else apabila rantaian menjadi panjang.

Percuma untuk bermula

Pelajari Java dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
104
Pelajaran
374

Soalan Lazim

Adakah pelajaran “Menyarang Ternari” percuma?

Ya — teks penuh “Menyarang Ternari” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Java Academy, tingkat taraf kepada CoddyKit PRO. Kursus Java Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Menyarang Ternari”?

Rantaikan keputusan dengan teliti. Anda berlatih Java Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Java Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Java Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.

Berapa lamakah pelajaran “Menyarang Ternari” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Java Academy ini?

Ya. Setiap pelajaran Java Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Operator Ternari
  2. Menyarang Ternari
  3. Ternari berbanding if/else
  4. Perangkap Keterbacaan
← Kembali ke Java Academy