Ekspresi bersyarat (conditional expression) adalah ekspresi untuk memberikan nilai ke sebuah variabel yang dibatasi oleh kondisi yang jelas. Ekspresi bersyarat juga disebut dengan ternary operator karena menggunakan tiga operand. Berikut ini adalah sintaksis untuk penulisan ekspresi bersyarat:

   ekspresiboolean ? ekspresi1 : ekspresi2;

Apabila ekspresiboolean bernilai boolean true, maka nilai dari ekspresi bersyarat adalah ekspresi1. Sebaliknya, bila nilai dari ekspresiboolean adalah false, maka nilai dari ekspresi bersyarat adalah ekspresi2.

Anda dapat memberikan nilai yang dihasilkan dari ekspresi bersyarat tersebut ke sebuah variabel. Variabel penerima nilai dari ekspresi bersyarat harus bersesuaian serta mampu menampung nilai hasil dari ekspresi bersyarat, baik dalam tipe data maupun rentangnya. Di bawah ini adalah penggalan kode program pernyataan penyeleksian if else untuk menentukan apakah suatu nilai integer yang diinput oleh pengguna aplikasi adalah bilangan genap atau bilangan ganjil.

   if (nilai % 2 == 0)
      strGenapGanjil = "Bilangan genap";
   else
      strGenapGanjil = "Bilangan ganjil";

Penggalan kode program tersebut dapat dirubah menjadi sebuah pernyataan sederhana dengan menggunakan ekspresi bersyarat sebagai berikut:

   strGenapGanjil = (nilai % 2 == 0) ? “Bilangan genap” : “Bilangan ganjil”;

Apabila sisa pembagian dari variabel nilai dengan integer 2 adalah 0, maka variabel string strGenapGanjil akan berisi nilai string “Bilangan genap”. Sebaliknya, apabila sisa bagi tidak sama dengan integer 0, maka variabel string strGenapGanjil akan berisi nilai string “Bilangan ganjil”.