Obsah

Logický typ

Pro reprezentaci logických (pravdivostních) hodnot je v Javě typ boolean. Oborem hodnot tohoto typu jsou pouze dvě hodnoty: false (nepravda) a true (pravda).

  boolean b1 = false;
  boolean b2 = true; 
Hodnota false je vnitřně reprezentována jako 0, hodnota true jako 1.

Otázky a odpovědi

Studentka: Mistře, proč je v Javě typ boolean? Vždyť lze přece použít typ int a např. hodnotu 0 pro false a hodnotu 1 pro true. Nebo se mýlím?
Java guru: Nemýlíš. Některé jazyky, např. C, nemají logický typ a pro reprezentaci logických hodnot používají typ int. Používání typu boolean má však své výhody: 1) proměnná typu boolean vždy reprezentuje pravdivostní hodnotu, protože může nabývat pouze hodnot true nebo false, 2) s proměnnou typu boolean lze provádět jen operace, které jsou pro tento typ zavedeny. Naproti tomu s proměnnou typu int lze provádět všechny operace nad typem int a to i tehdy, když tato proměnná reprezentuje pravdivostní hodnotu.
Studentka: Proč je důležité, jaké operace mohu s proměnnou provádět, mistře?
Java guru: Java je navržena tak, aby pokud možno nepovolovala zápis příkazů, které nedávají smysl. Pokud bychom např. proměnnou, která reprezentuje pravdivostní hodnotu, násobili třemi, jde zřejmě o chybný příkaz. Zatímco v C je toto možné, v Javě takový příkaz nelze zapsat, protože operace násobení není pro typ boolean zavedena.