JavaRush /Blog Jawa /Random-JV /Operator ternary ing Jawa

Operator ternary ing Jawa

Diterbitake ing grup
Hello! Kuliah dina iki ora bakal dawa banget, nanging mesthi migunani :) Kita bakal ngomong babagan sing diarani operator ternary . Operator Ternary - 1"Ternary" tegese "tiga". Iki minangka alternatif kanggo operator kondisional if-else, sing wis sampeyan kenal. Ayo menehi conto. Contone, yen ana wong sing arep menyang bioskop kanggo ndeleng film kanthi rating 18+. Pengawal mriksa umure ing lawang: yen wis ketemu wates umur, dheweke ngidini dheweke mlebu bale, yen ora, dheweke dikirim menyang omah. Ayo nggawe kelas Manlan mriksa karo if-else:
public class Man {

   private int age;

   public Man(int age) {
       this.age = age;
   }

   public int getAge() {
       return age;
   }

   public void setAge(int age) {
       this.age = age;
   }

   public static void main(String[] args) {

       Man man = new Man(22);

       String securityAnswer;

       if (man.getAge() >= 18) {
           securityAnswer = "It's all right, come in!";
       } else {
           securityAnswer = "This movie is not suitable for your age!";
       }

       System.out.println(securityAnswer);

   }
}
Output konsol:

"Все в порядке, проходите!"
Yen kita mbusak output menyang console, tes kita katon kaya iki:
if (man.getAge() >= 18) {
           securityAnswer = "It's all right, come in!";
       } else {
           securityAnswer = "This movie is not suitable for your age!";
       }
Ing kene, nyatane, logika prasaja bisa digunakake: siji kondisi dicenthang (umur> = 18). Gumantung iki, securityAnswersalah siji saka rong baris karo respon pengawal diutus kanggo variabel. Kahanan kaya mengkono, "siji kondisi - loro asil sing bisa ditindakake," asring banget ing program. Mulane, operator ternary padha digawe kanggo wong-wong mau. Kanthi iku, kita bisa nyederhanakake verifikasi dadi siji baris kode:
public static void main(String[] args) {

   Man man = new Man(22);

   String securityAnswer = (man.getAge() >= 18) ? "It's all right, come in!" : "This movie is not suitable for your age!";

   System.out.println(securityAnswer);

}
Iki minangka karya operator iki. Iki diarani ternary (triple) amarga 3 komponen njupuk bagian ing karya:
  • Siji syarat ( man.getAge() >= 18)
  • Rong asil sing bisa ditindakake ( "Ora apa-apa, maju!" lan "Film iki ora cocog karo umur sampeyan!" )
Kaping pisanan, kahanan ditulis ing kode, banjur tandha pitakon.
man.getAge() >= 18 ?
"Apa umur wong luwih saka utawa padha karo 18?" Ing ngisor iki minangka asil pisanan. Iku murub yen kondisi bali true, sing bener:
String securityAnswer = man.getAge() >= 18 ? "It's all right, come in!"
Apa umur wong luwih saka utawa padha karo 18? Yen ya, wenehake variabel securityAnswer nilai "Kabeh apik, mlebu!" . Iki diterusake karo :operator "", sawise asil kapindho ditulis. Iku murub yen kondisi bali false, sing, iku palsu:
String securityAnswer = man.getAge() >= 18 ? "It's all right, come in!" : "This movie is not suitable for your age!";
Apa umur wong luwih saka utawa padha karo 18? Yen ya, wenehake variabel securityAnswer nilai "Kabeh apik, mlebu!" . Yen ora, wenehake securityAnswer nilai variabel "Film iki ora cocok kanggo umur sampeyan!" Iki minangka logika umum operator ternary. syarate? asil 1: asil 2 Operator Ternary - 2Miturut cara, iku ora perlu kanggo sijine kurung sak kondisi: kita nindakake iki kanggo readability luwih. Iku bakal bisa tanpa wong-wong mau:
public static void main(String[] args) {

   Man man = new Man(22);

   String securityAnswer = man.getAge() >= 18 ? "It's all right, come in!" : "This movie is not suitable for your age!";

   System.out.println(securityAnswer);

}
Apa sampeyan kudu nggunakake: if-else, utawa operator ternary? Ing babagan kinerja ora ana bedane. Luwih tepate, bisa uga ana, nanging ora pati penting. Ing kene pitakonan kasebut luwih cocog karo keterbacaan kode sampeyan. Penting banget ing program: kode sing sampeyan tulis kudu ora mung bisa digunakake kanthi bener, nanging uga gampang diwaca. Sawise kabeh, bisa "diwarisake" kanggo programer liyane, kanca-kanca! Lan yen angel dimangerteni, bakal nggawe rumit kerjane lan sampeyan - dheweke bakal njaluk penjelasan saben 5 menit. Rekomendasi umum bisa uga kaya mangkene: yen kondhisi kasebut gampang lan gampang dipriksa, sampeyan bisa nggunakake operator ternary tanpa gawe piala. Kanthi cara iki sampeyan bakal nyuda jumlah kode lan jumlah mriksa if-else, sing bisa uga wis akeh. Nanging yen kondhisi kasebut rumit lan multi-tahap, luwih becik nggunakake if-else. Contone, ing kasus iki, ora becik nggunakake operator ternary:
String securityAnswer = (man.getAge() >= 18 && (man.hasTicket() || man.hasCoupon()) && !man.hasChild())  ? "Come in!" : "You can not pass!";
Dadi sampeyan ora bakal langsung ngerti apa sing kedadeyan ing kene! Kode wis dadi angel banget diwaca. Lan kabeh amarga kahanan sing angel:
  • Yen wong wis liwat utawa padha karo 18 taun + duwe tiket (utawa duwe kupon kanggo free diakoni) + ora duwe anak cilik karo wong - banjur padha bisa pass.
  • Yen paling ora siji bagean saka kondisi ngasilake palsu, mula ora bisa.
Iki ngendi iku bakal luwih apik kanggo nggunakake if-else. Ya, kode kita bakal luwih gedhe ukurane, nanging bakal luwih gampang diwaca. Lan ora ana kolega sampeyan bakal nyekel sirahe yen dheweke duwe kode kasebut :) Akhire, aku bisa menehi rekomendasi buku kasebut. Ing kuliah kita ndemek topik maca kode. Buku klasik "Kode Bersih" dening Robert Martin darmabakti kanggo dheweke. Operator Ternary - 3Isine praktik paling apik lan rekomendasi kanggo programer sing ngidini sampeyan nulis ora mung bisa digunakake, nanging uga kode sing gampang diwaca. Ana review buku iki ing JavaRush.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION