Datové typy Javy
- Javovské typy se dělí na dvě skupiny:
- Primitivní (neobjektový přístup)
- Celočíselné
- Reálné
- Znakové
- Logické
- Referenční (objektový přístup)
Primitivní datové typy
Celočíselné typy
Datový typ | Rozsah | Rozsah |
---|
byte | 1 bajt | -128 až 127 |
short | 2 bajty | -32,768 až 32,767 |
int | 4 bajty | -2,147,483,648 až 2,147,483,647 |
long | 8 bajtů | -9,223,372,036,854,775,808 až 9,223,372,036,854,775,807 |
Reálné datové typy
- Jako desetinný separátor se vždy používá tečka!
- Při použití typu
float
musíme ve zdrojovém kódu psát sufix F
Datový typ | Rozsah | Přesnost |
---|
float | 4 bajty | 7 decimálních číslic |
double | 8 bajtů | 15 decimálních číslic |
Znakový typ
- Je pouze jeden –
char
- Má velikost 16 bitů
- Využívání kódování UNICODE
- Na znaky se díváme jako na celá čísla → využíváme stejné operátory jako u celočíselného datového typu
- Znakové konstanty se zapisují několika způsoby:
- Jeden znak, který se píše do apostrofů
- Escape sekvence (tj. speciální znaky)
- Posloupnost znaků \‘uXXXX, kde XXXX představuje kód znaku v kódování UNICODE
- Př.
'\u000A' (=nový řádek), '\u0159' (= ř)
Logický typ
- Používá se typ
boolean
o velikosti 1 bit
- Může nabývat dvou hodnot
- logická konstanta
true
(= pravda, logická 1)
false
(= nepravda, logická 0)
- Používá se hodně u podmínek
Referenční datové typy
- Referenční datové typy jsou složitější než primitivní a nemají omezenou délku
- Identifikátor tohoto typu začíná vždy velkým písmenem!
- Typickým zástupce je datový typ
String
- Slouží pro ukládání řetězců → musí být ohraničeny uvozovkami
- Lze používat diakritika
- Spojení dvou a více řetězců do jednoho
- pomocí spojovacího operátoru
+
- Řetězce lze spojovat i s hodnotami jiného typu
Přetypování
- Proměnné Javy lze přiřadit pouze hodnotu stejného typu
- Chceme-li přiřadit jiný typ, je nutné přetypování (typová konverze)
- Jméno datového typu zapisujeme do kulatých závorek před proměnnou, kterou chceme přetypovat
- Pozor!
- Přetypování má nejvyšší prioritu → celý výraz je třeba dát do závorek
- Implicitní – proběhne automaticky
- Je to konverze z typů s nižším rozsahem na typy s vyšším rozsahem
byte
→ short
→ int
→ long
→ float
→ double
- Explicitní – je nutno zapsat do programu
- Opačný směr, tj. z vyššího rozsahu na nižší → může dojít ke ztrátě nebo změně původní hodnoty → musí se zapsat operátor přetypování!
double
→ float
→ long
→ int
→ short
→ byte