Dalam artikel ini, anda akan belajar menggunakan pengendali bersyarat atau terner untuk mengubah aliran kawalan program.
Pengendali bersyarat terner "? :"
adalah singkatan dari pernyataan if-else.
Sintaks untuk pengendali bersyarat ternary adalah:
keadaan? nilai1: nilai2
Bagaimana pengendali bersyarat ternary berfungsi?
Begini cara ini berfungsi
- Sekiranya keadaan itu benar, ia mengembalikan nilai1.
- Sekiranya keadaan itu salah, ia mengembalikan nilai2.
Kod setara di atas menggunakan if - lain adalah:
jika keadaan (nilai1) lain (nilai2)
Mengapa menggunakan Operator Bersyarat ternary?
Anda mungkin tertanya-tanya mengapa kita harus menggunakan operator bersyarat jika melakukan pekerjaan yang sama seperti pernyataan if-else. Tujuan utama menggunakannya adalah untuk menjadikan kod lebih pendek dan lebih mudah dibaca.
Untuk keadaan sederhana, anda boleh menilai dalam satu baris dengan kod yang lebih sedikit daripada jika-lain.
Contoh 1: Contoh mudah menggunakan operator bersyarat ternary
print(true && false ? "The condition is true": "The condition is false")
Kod setara di atas menggunakan if - lain adalah:
if true && false ( print("The condition is true") ) else ( print("The condition is false") )
Apabila anda menjalankan program di atas, outputnya adalah:
Syaratnya tidak betul
Dalam program di atas, ekspresi true && false
menilai untuk false
, oleh itu pernyataan mengembalikan rentetan Kondisi itu salah dan pernyataan cetak mengeluarkan rentetan di konsol.
Sekiranya anda mengubah ungkapan sebagai true || false
pernyataan menilai true
dan mengembalikan rentetan Syaratnya adalah benar dan pernyataan cetak mengeluarkan rentetan di konsol.
Perkara yang perlu diingat
Pengendali bersyarat Ternary juga boleh digunakan sebagai alternatif if-else-if
penyataan.
Dengan penggunaan operator bersyarat ternary, anda boleh mengganti beberapa baris if-else-if
kod dengan satu baris.
Namun, itu mungkin bukan idea yang baik.
Contoh 2: Bersarang jika menggunakan operator bersyarat ternary
if true && false ( print("Result is (true && false)") ) else if true || false ( print("Result is (true || false)") ) else if false || false ( print("Result is (false || false)") ) else ( print("Default else statement") )
Kod setara di atas menggunakan pengendali bersyarat ternary adalah:
print(true && false ? "Result is (true && false)" : true || false ? "Result is (true || false)" : false || false ? "Result is (false || false)" : "The condition is unknown")
Apabila anda menjalankan program di atas, kedua-dua output akan menjadi:
Hasilnya benar
Dalam program di atas, walaupun pernyataan if-else-if
diganti dengan satu baris dengan penggunaan operator bersyarat. Ungkapan yang digunakan dalam pengendali bersyarat terner sangat sukar difahami.
Oleh itu, patuhi penggunaan operator bersyarat terner sebagai alternatif if-else
penyataan sahaja.