Programovßnφ v jazyce JavaKurz programovßnφ v Jav∞ - 6. dφl |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
┌vodem | Kurz programovßnφ v Jav∞ | Soubory ke sta₧enφ | Otßzky a odpov∞di |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
┌vod Vφtejte u ÜestΘho pokraΦovßnφ kurzu pro zaΦßteΦnφky, dnes probereme literßly a klφΦovß slova. Literßly Literßl je hodnota zapsanß do zdrojovΘho k≤du, kterß se p°i°adφ prom∞nnΘ. Hodnota m∙₧e b²t jednoduchΘho datovΘho typu, objektovΘho typu String, nebo typu null.
CeloΦφselnΘ literßly CeloΦφselnΘ literßly mohou b²t zapsßny t°emi zp∙soby a to bu∩ v desφtkovΘ soustav∞ (decimßlnφ), nebo ÜestnßctkovΘ (hexadecimßlnφ), nebo osmiΦkovΘ (oktalovΘ). Nesmφ obsahovat desetinnou teΦku, proto₧e by to byl literßl reßln²ch Φφsel. TakΘ nesmφ obsahovat ₧ßdnΘ mezery, pouze Φφsla. M∙₧ou obsahovat znamΘnko + nebo - p°ed literßlem (unßrnφ plus nebo mφnus).
CeloΦφseln² literßl je automaticky typu int, pokud chcete typ long musφte za literßl napsat l nebo L, ale velkΘ L je lepÜφ, kv∙li tomu, ₧e si ho nelze splΘst s 1 (jedniΦkou, zßle₧φ na fontu). V desφtkovΘm zßpisu literßl∙ lze pou₧φt znak 0 a vÜechny znaky Φφslic od 1 do 9, nap°.: 1803. èestnßctkov² zaΦφnß znaky 0x nebo 0X (nula a x) za kter²mi nßsleduje Üestnßckovß Φφslice. èestnßctkovß Φφslice m∙₧e obsahovat znay Φφslic 0 a₧ 9, Φφslice 10 a₧ 15 jsou reprezentovßn² znaky a/A a₧ f/F, na velikosti pφsmen nezßle₧φ, ale je lepÜφ pou₧φvat bu∩ velkß, nebo malß pφsmena, proto₧e to bude p°ehledn∞jÜφ. Poslednφ zßpis je zßpis osmiΦkov², pro ten m∙₧ete pou₧φt jen Φφsla 0 a₧ 7. OsmiΦkov² zßpis musφ zaΦφnat nulou. Te∩ nßsleduje pßr p°φklad∙ zßpis∙:
U t∞chto p°φpad∙ deklarace prom∞nn²ch typu long se nemusel pou₧φt literßl typu long, proto₧e by se automaticky p°etypoval z typu int (stejn∞ jako na vÜechny "menÜφ", pokud se rozsahem vejdou), zde to bylo pou₧ito pouze jako ukßzka (ale zßpis je to sprßvn²). Literßly reßln²ch Φφsel Literßly reßln²ch Φφsel reprezentujφ hodnoty Φφsel s desetinnou Φßtφ. OdliÜφme je od celoΦφseln²ch literßlu, tφm, ₧e obsahujφ bu∩ destinnou teΦku, nebo exponent. Implicitn∞ jsou literßly reßln²ch Φφsel typu double, pokud chcete literßl typu float musφte za literßl napsat znak f (malΘ nebo velkΘ, je to jedno). Pro p°ehlednost m∙₧ete literßly typu double psßt s d/D.
Pokud by vßm nebylo n∞co jasnΘ na Φφslech s exponentem, je to jednoduchΘ, napφÜeme Φφslo, za Φφslo malΘ, nebo velkΘ E a pak u₧ jen kladn², nebo zßporn² exponent. Nap°.: 1000 se napφÜe 10e3.
VÜechny tyto mo₧nosti jsou mo₧nΘ, ale jak jsem ji₧ n∞kolikrßt °ekl, vyberte si jednu mo₧nost, a tΘ se dr₧te. Nemusφte stßle pou₧φvat jednu mo₧nost, ale v jednom programu urΦit∞ ano, nap°. piÜte vÜechny "dopl≥kovΘ" znaky (neΦφselnΘ) malΘ, nebo velkΘ. Zßpis .4 nelze napsat bez desetinnΘ teΦky, proto₧e by to byl celoΦφseln² literßl. LogickΘ literßly LogickΘ literßly jsou dva: true a false. T∞chto hodnot m∙₧e nab²vat pouze prom∞nnß typu boolean. Sice true a false nepat°φ mezi klφΦovß slova, ani by nem∞li, proto₧e to jsou literßly, nelze je, stejn∞ jako ostatnφ literßly pou₧φt jako identifikßtory.
ZnakovΘ literßly ZnakovΘ literßly vyu₧ijeme vÜude tam, kde je oΦekßvßna prom∞nnß typu char. Java pou₧φvß znakovou sadu Unicode, to znamenß, ₧e ka₧d² znak mß p°id∞leno 16 bit∙ pam∞ti, to dohromady dßvß 65536 znak∙. Kdy₧ chceme prom∞nnΘ typu char p°i°adit n∞jak² znak uzav°eme ho do jednoduch²ch uvozovek. Mimo znak∙ existujφ specißlnφ znaky, kterΘ se vyjad°ujφ pomocφ escape sekvencφ. Escape sekvence obsahuje jako prvnφ znak v₧dy zp∞tnΘ lomφtko a jeden dalÜφ znak, nap°.: '\n' pro nov² °ßdek. Unicode znaky lze psßt p°φmo pomocφ Φφsel, kterΘ jednotlivΘ znaky reprezentujφ, zaΦφnßjφcφ zp∞tn²m lomφtkem, nßsledujφcφm znakem u a Φty°mφstn²m hexadecimßlnφm Φφslem reprezentujφcφm znak, nap°.: '\u06AE'.
╪et∞zcovΘ literßly Pou₧φvajφ se tam, kde pot°ebujeme textov² °et∞zec. Uvozujφ se do normßlnφch uvozovek ". ╪et∞zec se m∙₧e sklßdat ze ₧ßdnΘho, jednoho nebo vφce znak∙. Proto₧e se °et∞zec sklßdß z jednotliv²ch znak∙, platφ pro °et∞zce stejnΘ zßpisy jako pro znaky. Mezi uvozovkami m∙₧ete psßt znaky a escape sekvence dohromady.
Nullov² literßl Tento literßl mß pouze tvar null. Jeho pou₧φtφ uvidφte a₧ s objekty. Pro p°edstavu jak se pou₧φvß, zde uvßdφm p°φklad obkjektu typu String.
Nezapome≥te, ₧e null je literßl, nelze jej tedy pou₧φt jako identifikßtor. Escape sekvence Escape sekvence se pou₧φvajφ ve znakov²ch a °et∞zcov²ch literßlech. Je to vφce znak∙ reprezentujφcφ jeden znak. Pokud t°eba pot°ebuje prom∞nnou typu char a v nφ mφt ulo₧en² znak tabulßtor, prßv∞ nap°φklad na takovΘ v∞ci jsou escape sekvence. V nßsledujφcφ tabulce najdete vÜechny escape sekvence specißlnφch znak∙, kterΘ lze pou₧φt.
KlφΦovß slova KlφΦovß slova jsou slova rezervovanß v jazyce Java, kterΘ nelze pou₧φt jako identifikßtory. ZezaΦßtku byly rezervovßny i n∞kterß jinß slova.
Slova const, goto, zatφm nejsou pou₧ita v Jav∞, ale jsou rezervovßna, tak je nelze pou₧φt. Zßv∞r Dostali jsme se na konec 6. dφlu o programovßnφ v Jav∞. Probrali jsme literßly, kterΘ mo₧nß moc zßbavnΘ nebyli :-), ale je dobrΘ znßt jejich mo₧nΘ zßpisy, proto₧e p°i programovßnφ u₧ nebude Φas na to, abyste stßle hledali r∙znΘ mo₧nosti zßpis∙. KlφΦovß slova je takΘ dobrΘ znßt, proto₧e chyba v programu, kde jste jako nßzev prom∞nnΘ pou₧ili klφΦovΘ slovo, m∙₧e b²t zßke°nß. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||