int i = 1; System.out.println("variable i = " + i);
1.23
), proměnné nebo
funkční volání.
+ - * / %
(zbytek po celočíselném 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ý, vždy se vyhodnotí oba operandy),
&&
(podmíněný, líné vyhodnocování (lazy evaluation) — druhý operand se vyhodnotí, jen nelze-li o výsledku rozhodnout z hodnoty prvního)
|
(nepodmíněný, vždy se vyhodnotí oba operandy),
||
(podmíněný, 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)
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.
+
int i = 1; System.out.println("variable i = " + i);
o
:
o == null
: použije se řetězec "null"
o != null
: použije se hodnota vrácená metodou o.toString()
(tu lze překrýt a dosáhnout tak očekávaného řetězcového výstupu)
booleovskývýraz ? výraz, když true : výraz, když false