int i = 1;
System.out.println("variable i = " + i);
Operátor dle počtu parametrů (argumentů) bývá
Operandy jsou:
1.23
),+ - * / %
(zbytek po celočíselném dělení)
Operátor dělení /
je polymorfní
byte
, short
, int
a long
) jako celočíselnýfloat
, double
) jako obyčejné dělení.((double)a)/b
pro celočíselné proměnné a
, b
double d = 1.0/i
<
, >
, ==
, apod.&
nepodmíněný součin, vždy se vyhodnotí oba operandy,&&
podmíněný součin, líné vyhodnocování (lazy evaluation) — druhý operand se vyhodnotí, jen nelze-li o výsledku součinu rozhodnout z hodnoty prvního|
nepodmíněný součet, vždy se vyhodnotí oba operandy,||
podmíněný součet, líné vyhodnocování — druhý operand se vyhodnotí,
jen nelze-li o výsledku rozhodnout z hodnoty prvního!
vrátí znegovanou logickou hodnotu argumentu<
, ⇐
, >=
, >
lze použít na porovnávání primitivních číselných a znakových hodnot
==
, !=
test na rovnost/nerovnost lze navíc použít na porovnávání primitivních hodnot i objektů
==
vrací true
jen při rovnosti odkazů, tj. jsou-li objekty identické.o1.equals(o2)
.equals
se může podívat "dovnitř" objektů, je-li tak napsaná.abs(expected-actual) < delta
&
|
^
~
obrátí bity argumentu a výsledek vrátí<<
o stanovený počet bitů>>
o stanovený počet bitů s respektováním znaménka>>>
o stanovený počet bitů bez respektování znaménka? :
Formát: booleovskýVýraz ? hodnotaKdyžPlatí : hodnotaKdyžNeplatí
Příklad: x < 0 ? 0 : x
(vrátí x
pokud je nezáporné, jinak 0
)
Platí-li první operand (má hodnotu true
),
boolean
,
typy druhého a třetího musí být přiřaditelné do výsledku.(Person)o
,
kde o
byla proměnná deklarovaná jako Object
.Person
.int
přetypujeme na short
a ořeže se tím rozsah.+
Výsledkem je vždy řetězec, ale argumenty mohou být i jiných typů,
int i = 1;
System.out.println("variable i = " + i);
Pokud je argumentem zřetězení odkaz na objekt o
:
o == null
: použije se řetězec null
o != null
: použije se hodnota vrácená metodou o.toString()
,
kterou lze překrýt a dosáhnout tak očekávaného řetězcového výstupubooleovskýVýraz ? výrazProTrue : výrazProFalse
Pozn. Rozhodně NEZNEUŽÍVEJME přiřazení ve smyslu, že jej současně použijeme jako výraz, tzn. pracujeme s jeho hodnotu! Že to vůbec jde, je spíše reziduum převzaté do Javy z C.
/