ตัวดำเนินการแบบมีเงื่อนไข (?:) คือ ตัวดำเนินการแบบไตรภาค สิ่งที่เรียกว่า "รายการ" หมายถึงจำนวนของออบเจ็กต์ที่ตัวดำเนินการนี้มีส่วนร่วมในการดำเนินการ กล่าวคือ ตัวดำเนินการแบบมีเงื่อนไขมีสามตัวถูกดำเนินการ
ตัวดำเนินการตามเงื่อนไขมีแบบฟอร์มต่อไปนี้:
นิพจน์1?นิพจน์2:นิพจน์3
ในระหว่างการดำเนินการ ขั้นแรกจะถูกตัดสินว่านิพจน์ 1 เป็นจริงหรือไม่ หากนิพจน์ 1 เป็นจริง ผลลัพธ์ของการดำเนินการทั้งหมดจะเป็นค่าของนิพจน์ 2 หากนิพจน์ 1 ไม่เป็นจริง จริง ดังนั้นผลลัพธ์ของการดำเนินการทั้งหมดคือ ผลลัพธ์คือค่าของนิพจน์ 3
ตัวอย่าง:
publicclassMain{publicstaticvoidmain(String[]args){inta,b;a=1;b=(a==1)?2:3;//หาก a เท่ากับ 1 ให้ตั้งค่า b เป็น 2 ไม่เช่นนั้นจะเป็น 3System .out.println(Valueofbis:+b);b=(a==10)?2:3;//หาก a เท่ากับ 10 ให้ตั้งค่า b เป็น 2 ไม่เช่นนั้นจะเป็น 3System.out.println(Valueofbis: +ข);}}
ผลการวิ่งมีดังนี้:
มูลค่าของบิส:2มูลค่าของบิส:3