Java menyediakan operator ternary khas (juga dipanggil operator ternary) yang sering digunakan untuk menggantikan jenis pernyataan if-then-else tertentu. Simbol pengendali bersyarat ialah "?:". Apabila menggunakan operator ini, tiga operan diperlukan, jadi ia dipanggil operator ternary. Struktur sintaks umum untuk menggunakan operator bersyarat ialah:
result=
Di mana, ungkapan ialah ungkapan Boolean. Apabila ungkapan benar, pernyataan1 dilaksanakan, sebaliknya pernyataan3 dilaksanakan. Operator ternary ini memerlukan keputusan untuk dikembalikan, jadi untuk melaksanakan program binari yang mudah, anda boleh menggunakan operator bersyarat ini.
intx,y,z;
x=6,y=2;
z=x>y untuk mengira nilai z di sini, anda mesti menentukan dahulu nilai yang dinyatakan oleh x>y Jika benar, nilai z ialah x-y, sebaliknya nilai z ialah x+y. Jelas sekali ungkapan x>y dinilai kepada benar, jadi nilai z ialah 4.
Petua: Pengendali bersyarat boleh difahami sebagai bentuk ringkas pernyataan if-else Apabila menggunakan ungkapan yang lebih mudah, menggunakan operator ini boleh memudahkan kod program dan menjadikan atur cara lebih mudah dibaca.
Apabila menggunakan pengendali bersyarat, anda juga harus memberi perhatian kepada isu keutamaan
x>y?x-=y:x+=y ;
Ralat sintaks akan berlaku semasa penyusunan kerana operator bersyarat diutamakan daripada operator tugasan sebenarnya bersamaan dengan:
(x>y?x-=y:x. ) +=y;
Dan operator "+=" ialah pengendali tugasan, yang memerlukan operan kiri hendaklah pembolehubah, jadi ralat berlaku. Untuk mengelakkan ralat tersebut, kurungan "0" boleh digunakan untuk membezakannya. Sebagai contoh, berikut adalah ungkapan yang betul.
(x>y)?(x-=y):(x+=y);
Contoh 1
Nyatakan tiga pembolehubah x, y, z dan pengguna memasukkan nilai x dari papan kekunci, dan kemudian menggunakan operator bersyarat untuk memberikan nilai kepada pembolehubah y dan pembolehubah z. Kod pelaksanaan adalah seperti berikut:
publicclassTest9{
publicstaticvoidmain(String[]args){
intx,y,z;//Isytiharkan tiga pembolehubah
System.out.print("Sila masukkan nombor:");
Scannerinput=newScanner(System.in);
x=input.nextInt();//Input x oleh pengguna Nilai 🎜> // Tentukan sama ada nilai y lebih besar daripada x, jika z=y, jika tidak z=5
z=y>x?y:5;
System.out.printf( "x=%dn",x);
System.out.printf("y=%dn",y);
System.out. printf("z=%dn" ,z);
}
}
Dalam atur cara ini, mula-mula masukkan nilai x sebagai 58, dan kemudian tentukan sama ada nilai x lebih besar daripada 5. Jelas sekali keadaan itu benar , maka nilai y ialah x, iaitu y=58. Kemudian tentukan sama ada nilai y lebih besar daripada x Kerana nilai y dan nilai x adalah kedua-duanya 58, keadaan ini tidak benar, maka z=5. Masukkan nilai x sekali lagi sebagai 4, dan kemudian nilai sama ada nilai x lebih besar daripada 5, dan jika ia tidak benar, maka y=-4 kemudian nilai sama ada nilai y lebih besar daripada x, dan jika ia adalah tidak benar, maka z=5.
Atas ialah kandungan terperinci Apakah pengendali ternary Java dan cara menggunakannya. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!