Treść książki
Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
•Każdyliterałznakowy(znakwapostrofach)jesttypuchar.
•Każdynapistruelubfalsejestliterałemlogicznym(typboolean);słowatrue
ifalsesąsłowamizarezerwowanymijęzyka.
Wniektórychprzypadkachprogramistamożezmienićinterpretacjęliterałówliczbowych,
stosującspecjalnemodyfikatory:
•użycieliteryLlubljakoprzyrostkaliczbycałkowitejsprawia,żeliczbatabędzie
traktowanajakotypulong(np.3Lbędzieliterałemtypulong),
•
użycieflubFspowoduje,żeliczbarzeczywistabędzietraktowanajakotypufloat
(np.0i3f).
Liczbycałkowitemogąbyćzapisywane
•wsystemiedziesiętnym–wnaturalnysposób(np.3lub121),
•
wsystemiebinarnym–przezpoprzedzenieliczbyznakami0blub0B(np.0b1110101),
•wsystemieósemkowym–przezpoprzedzenieliczbyznakiem0(np.03),
•
wsystemieszesnastkowym–przezpoprzedzenieliczbyznakami0xlub0X(np.0x1a,
0X11,0xFF–zwróćmyuwagę,żecyfryszesnastkowepowyżej9mogąbyćzapisywane
dużymilubmałymiliterami).
Liczbyrzeczywistymogąbyćzapisywanewnotacjinaukowej(inżynierskiej)zwyko-
rzystaniemliteryelubE,np.2e+9oznacza2pomnożoneprzez10dopotęgi9,3e-11
oznacza3pomnożoneprzez10dopotęgi-11.Przyzapisieliczbmożnapomiędzycyframi
umieszczaćznakpodkreślenia.Wtensposóbzapisdużychliczbstajesiębardziejczytelny,
np.zamiast1000000000możnapisać1_000_000_000.
Apocosątewszystkiedodatkowenapisy(przyrostki,modyfikatory)?Sprawajest
oczywistawprzypadkuzmianypodstawysystemuliczbowego.Literał10jesttraktowany
jakozapiswsytemiedziesiętnym(imawartość10).Jeżelichcemyzaznaczyć,żechodzi
namoliczbę10zapisanąwsystemieszesnastkowym(ajejwartośćdziesiętniejestjuż
zupełnieinna–16),tomusimyużyćjakiejśkonwencji(wprzypadkuJavyprzedrostka
0xlub0X).
AlemodyfikatoryLczyF–poco?Otóż,niestetykompilatorJavy,przypisująctypli-
terałomliczbowym,niekierujesięwartościązapisanychliteralnieliczb.Jakpowiedziano,
wszystkieliterałycałkowitoliczbowetraktujejakotypuint,arzeczywiste(czylizkropką
dziesiętnąlubzapisanewnotacjinaukowej)–jakodouble.Zwróćmyjednakuwagę,żedane
typuintzajmujątylko4bajtywpamięciinajwiększaliczba,którąmożnazapisaćwtych
czterechbajtach,to2147483647
.Jeślizatemzapiszemywprogramieliterał2147483649,to
będzieonpotraktowanyjakoliczbatypuint,tylkoniestetyniezmieścisięonawobszarze
przeznaczonymnaprzechowywanietakichliczb.Kompilatorrozpoznatęsytuacjęizgłosi
błąd.Powinniśmyzatemzapisaćliterałjako2147483649L.
Gorszyprzypadek.Jeślizapiszemyoperacjędodawaniadwóchliterałów2147483647
+10,toobieliczbybędątypuint(ifaktyczniezmieszcząsięwobszarach4-bajtowych).
36
2.Typyioperacje