Betingede operatører bruges til at evaluere en tilstand, der gælder for en eller to boolean udtryk. Resultatet af evalueringen er enten sandt eller falsk.
Der er tre betingede operatører:
&& den logiske AND-operatør.
|| den logiske OR-operatør.
?: den ternære operatør.
Betingede operatører
De logiske OG og logiske OR-operatører har begge to operander. Hver operand er et boolskt udtryk (dvs. det evalueres til enten sandt eller falskt). Den logiske OG-tilstand returnerer sand, hvis begge operander er rigtige, ellers returnerer den falsk. Den logiske OR-tilstand returnerer falsk, hvis begge operander er falske, ellers returnerer den sand.
Både de logiske AND og logiske ELLER-operatører anvender en kortslutningsmetode til evaluering. Med andre ord, hvis den første operand bestemmer den samlede værdi for betingelsen, evalueres den anden operand ikke. For eksempel, hvis den logiske OR-operatør evaluerer sin første operand for at være sand, behøver den ikke at evaluere den anden, fordi den allerede ved, at den logiske OR-tilstand skal være sand. Tilsvarende, hvis den logiske AND-operatør vurderer sin første operand for at være falsk, kan den springe den anden operand over, fordi den allerede ved, at den logiske OG-tilstand vil være falsk.
Det ternary operator tager tre operander. Den første er et boolesk udtryk; det andet og det tredje er værdier. Hvis det boolske udtryk er sandt, returnerer den ternære operator værdien af den anden operand, ellers returnerer den værdien af den tredje operand.
Et eksempel på betingede operatører
For at teste, om et tal kan deles med to og fire:
int-tal = 16;
if (tal% 2 == 0 && tal% 4 == 0)
{
System.out.println ("Det kan deles med to og fire!");
}
andet
{
System.out.println ("Det kan ikke deles med to og fire!");
}
Den betingede operator "&&" evaluerer først, om dens første operand (dvs. nummer% 2 == 0) er sand, og evaluerer derefter, om dens anden operand (dvs. nummer% 4 == 0) er sand. Da begge er sandt, er den logiske OG betingelse sand.