Villkorliga operatörer

Villkorade operatörer används för att utvärdera ett tillstånd som tillämpas på ett eller två booleska uttryck. Resultatet av utvärderingen är antingen sant eller falskt.

Det finns tre villkorade operatörer:

 && den logiska OCH-operatören.
|| den logiska ELLER-operatören.
?: Den ternära operatören.

Villkorliga operatörer

De logiska OCH och logiska ELLER-operatörerna har båda två operander. Varje operand är ett booleskt uttryck (dvs utvärderar det till antingen sant eller falskt). Det logiska OCH villkoret returnerar sant om båda operanderna är sanna, annars returnerar det falskt. Det logiska ELLER-villkoret returnerar falskt om båda operandena är falska, annars returnerar det sant.

Både de logiska OCH och logiska ELLER-operatörerna använder en kortslutningsmetod för utvärdering. Med andra ord, om den första operanden bestämmer det totala värdet för villkoret utvärderas inte den andra operanden. Om till exempel den logiska OR-operatören utvärderar sin första operand för att vara sant, behöver den inte utvärdera den andra eftersom den redan vet att det logiska ELLER-villkoret måste vara sant. På samma sätt, om den logiska OCH-operatören utvärderar sin första operand som falsk, kan den hoppa över den andra operanden eftersom den redan vet att det logiska OCH villkoret kommer att vara falskt.

Den ternära operatören tar tre operander. Det första är ett booleskt uttryck; den andra och den tredje är värden. Om det booleska uttrycket är sant, returnerar den ternära operatören värdet på den andra operanden, annars returnerar det värdet för den tredje operanden.

Ett exempel på villkorade operatörer

För att testa om ett tal kan delas med två och fyra:

 int-nummer = 16;
if (nummer% 2 == 0 && nummer% 4 == 0)

  System.out.println ("Det är delbart med två och fyra!");

annan

  System.out.println ("Det är inte delbart med två och fyra!");

Den villkorade operatören "&&" utvärderar först om dess första operand (dvs nummer% 2 == 0) är sann och utvärderar sedan om dess andra operand (dvs nummer% 4 == 0) är sann. Eftersom båda är sanna, är det logiska OCH villkoret sant.