Znakový typ
Viz též heslo
Unicode
na Wikipedii.
Pro reprezentaci znaků má Java typ char.
Oborem hodnot typu char jsou znaky
z tabulky Unicode. Tato tabulka obsahuje znaky všech běžných
národních abeced. Kromě českých znaků máme k dispozici např.
azbuku či řeckou abecedu. Hodnotu typu char
lze chápat jako index (pořadí) znaku v tabulce Unicode. Protože je
tento index dvoubajtový, je každá hodnota typu
char uložena na 16 bitech. Hodnoty typu
char zapisujeme do apostrofů:
Při zápisu lze používat tzv. escape sekvence.
Escape sekvence má dva tvary. První tvar začíná znaky
\u, za nimiž následují čtyři šestnáctkové
číslice (jde o tzv. univerzální jméno znaku). Šestnáctkové číslice
jsou zápisem indexu daného znaku v tabulce Unicode. Např. znak
paragraf můžeme zapsat těmito dvěma způsoby:
char c1 = '§';
char c2 = '\u00a7';
Druhý tvar escape sekvence se skládá ze zpětného lomítka a jednoho
znaku. Např. \t je znak tabulátor,
\n je tzv.
line feed (doslovně přeloženo
posun řádku) a \r je tzv.
carriage return
(doslovně návrat vozíku). Znaky \r
a \n se používají pro přechod na nový
řádek. Z historických důvodů se na systémech MS Windows používá pro
přechod na nový řádek dvojice znaků \r\n
a na unixových systémech znak \n.
Z těchto důvodů je lepší znaky \r
a \n v programu nepoužívat, protože by
to mohlo vést ke svázání programu s některou platformou
(MS Windows či Unixem).
Řetězce
Pro práci s řetězci máme v Javě typ String.
Řetězcové konstanty zapisujeme do uvozovek.
Řetězce můžeme spojovat pomocí operátoru +.
String s1 = "jdk", s2 = "7.0";
String s3 = s1 + s2; // vytvoří řetězec "jdk7.0"
K řetězci lze přičíst i hodnotu jiného typu. V takovém případě se
hodnota nejprve převede na řetězec a poté se oba řetězce spojí.
int x = 42;
String s = "odpověď je " + x; // vytvoří řetězec "odpověď je 42"