[ Pobierz całość w formacie PDF ]
wych nawiasów wokół , ponieważ operator ma wyższy priorytet niż operator .
Bliższe spojrzenie na literały
W rozdziale 2. pokrótce wspomniałem o literałach. Ponieważ omówiłem już podsta-
wowe typy danych, warto dokładniej się im przyjrzeć.
Literały będące liczbami całkowitymi
Liczby całkowite są zapewne najczęściej stosowanym typem danych w każdym pro-
gramie komputerowym. Każda liczba całkowita wpisana na stałe w programie jest lite-
rałem liczbowym. Kilka przykładów: , , i . Są to wartości dziesiętne, czyli liczby
o podstawie 10. W Javie w literałach całkowitych można stosować jeszcze dwie inne
podstawy: ósemkową (podstawa 8) i szesnastkową (podstawa 16). Wartości ósem-
kowe muszą zaczynać się od 0. Liczby dziesiętne nie mogą mieć na początku cyfry 0.
Z tego powodu napisanie spowoduje zgłoszenie błędu kompilatora, ponieważ 9 wy-
kracza poza zakres liczb ósemkowych (od 0 do 7). Liczby szesnastkowe są stosowane
przez programistów znacznie częściej niż ósemkowe, gdyż ułatwiają rozróżnienie po-
szczególnych bajtów liczby. Wartości szesnastkowe muszą zaczynać się od konstrukcji
lub . Zakres dla liczb szesnastkowych wynosi od 0 do 15, przy czym litery od A do
F (lub od a do f) zastępują wartości od 10 do 15.
Rozdział 3. f& Typy danych, zmienne i tablice 71
Literały całkowite tworzą wartość typu , czyli 32-bitową liczbę całkowitą. Ponie-
waż Java jest językiem o ścisłej kontroli typów, niektóre osoby dziwią się, że można
przypisać literał całkowity do innego typu, takiego jako lub , bez powodo-
wania błędu kompilatora. Po prostu kompilator potrafi sobie poradzić z takimi sytu-
acjami. Gdy literał przypisuje się do typu lub , błąd nie jest generowany, jeśli
literał reprezentuje wartość z przedziału docelowego typu. Literał zawsze zostanie po-
prawnie przypisany do typu . Aby jednak określić literał typu , trzeba jawnie
wskazać kompilatorowi, że dana wartość jest typu . W tym celu należy dodać literę
lub na końcu literału, na przykład lub
w celu przypisania największej dopuszczalnej wartości typu .
Literały zmiennoprzecinkowe
Liczby zmiennoprzecinkowe to wartości dziesiętne wraz z częścią ułamkową. Mogą
zostać podane w notacji standardowej lub naukowej. Notacja standardowa wymaga
podania części całkowitej liczby i po kropce części ułamkowej, na przykład 2.0, 3.14150
lub 0.6667. Notacja naukowa używa notacji standardowej, czyli liczby zmiennoprze-
cinkowej, ale dodatkowo zawiera informację o potędze liczby 10, przez której wartość
trzeba pomnożyć wcześniej podaną liczbę. Eksponentę wskazuje się za pomocą znaku
lub , po którym występuje dodatnia lub ujemna liczba całkowita oznaczająca potęgę.
Oto przykłady notacji naukowej: , i .
Domyślnie literały zmiennoprzecinkowe traktowane są jako wartości podwójnej precyzji
(typ ). Aby wymusić pojedynczą precyzję (typ ), trzeba do stałej dodać
literę lub . Można też jawnie określić typ double, dodając na końcu literę lub .
Domyślna podwójna precyzja zajmuje 64 bity pamięci, natomiast mniej dokładna poje-
dyncza precyzja wymaga tylko 32 bitów.
Literały logiczne
Literały logiczne są proste, ponieważ istnieją tylko dwie wartości logiczne: i .
Wartości te nie konwertują się na żadną reprezentację numeryczną. Innymi słowy,
w Javie literał nie jest równy 1, a literał nie jest równy 0. Literały mogą
być przypisane tylko do zmiennych typu lub zostać użyte w operatorach
logicznych.
Literały znakowe
Znaki w Javie są niejako indeksami ze zbioru znaków Unicode. Są 16-bitowymi warto-
ściami, które można konwertować do typu całkowitego lub wykonywać na nich działa-
nia arytmetyczne takie jak dodawanie i odejmowanie. Literał znakowy zawsze znajduje się
wewnątrz apostrofów. Wszystkie znaki ASCII można wpisać bezpośrednio w cudzysło-
wach, na przykład , lub . Dla znaków, których nie można wpisać bezpośrednio,
istnieją specjalne sekwencje sterujące. Na przykład wpisanie znaku apostrofu wymaga
użycia konstrukcji , a wpisanie znaku nowego wiersza konstrukcji . Istnieje
także mechanizm bezpośredniego wpisania znaku jako wartości ósemkowej lub szes-
nastkowej. Dla notacji ósemkowej trzeba najpierw wpisać lewy ukośnik, a następnie
72 Część I f& Język Java
podać trzycyfrową liczbę, na przykład dla litery . Dla notacji szesnastkowej
najpierw trzeba wpisać konstrukcję , a następnie podać cztery cyfry szesnastkowe, na
przykład oznacza literę , natomiast to jeden ze znaków japoń-
skiego języka Katakana. Tabela 3.3 przedstawia dostępne sekwencje sterujące.
Tabela 3.3. Sekwencje sterujące dla znaków
Sekwencja ster jąca Opis
Znak jako liczba ósemkowa (ddd)
Znak Unicode jako liczba szesnastkowa (xxxx)
Apostrof
Cudzysłów
Lewy ukośnik
Powrót karetki
Nowy wiersz (nazywany również przesunięciem papieru)
Wysunięcie kartki
Znak tabulacji
Cofnięcie
Literały tekstowe
Ciągi znaków w Javie określa się tak samo, jak w większości innych języków umiesz-
czając tekst między cudzysłowami. Oto kilka przykładów ciągów znaków.
W literałach tekstowych działają dokładnie te same sekwencje sterujące co w przy-
padku znaków. Java wymaga, aby ciąg znaków zaczynał się i kończył w tym samym
wierszu. Nie istnieje coś takiego jak znak sterujący kontynuacji wiersza, jak w niektó-
rych innych językach programowania.
W niektórych językach, na przykład C lub C++, ciągi znaków są zaimplementowane
jako tablice znaków. W Javie jest inaczej. Ciągi znaków (typ ) są tak naprawdę
obiektami. Ponieważ w Javie zaimplementowano teksty jako obiekty, ich wykorzy-
[ Pobierz całość w formacie PDF ]
Podstrony
- Indeks
- Ekspresjonizm. Teksty programowe
- Java XML Tutorial 1_1
- Java_Kompendium_programisty_Wydanie_VIII_javkp8(1)
- Jeffrey Lord Blade 36 Return to Kaldak
- PS39 Pan Samochodzik i Wynalazek Inśźyniera Rychnowskiego Olszakowski Tomasz
- Jordan Penny Skrywana namićÂtnośÂćÂ
- Fred Saberhagen The Book of the Gods 03 The Arms of Hercules
- Deaver Jeffery Lekcja jej śÂmierci
- 12. Aleksander Carrie W ogniu namietnosci
- Hamlet
- zanotowane.pl
- doc.pisz.pl
- pdf.pisz.pl
- aircar.opx.pl