– Cześć, Amigo!
– Cześć, Basiu!
– Mam dzisiaj świetny nastrój, więc opowiem Ci coś fajnego. Zacznę od tego, jak system typów w Javie radzi sobie z typami prostymi.
– W Javie każdy obiekt i każda zmienna mają swój własny, domyślnie ustawiony, niezmienny typ. Typ prosty zmiennej jest określany, kiedy program jest kompilowany, a typ obiektu wtedy, kiedy się ten obiekt tworzy. Typ nowo utworzonego obiektu i/lub zmiennej pozostaje niezmienny przez cały czas ich życia. Oto przykład:
Kod Java | Opis |
---|---|
|
a / b – przedstawia dzielenie liczb całkowitych. Wynik to dwa. Reszta z dzielenia jest ignorowana. |
|
d będzie przechowywać resztę z dzielenia liczb całkowitych a przez b . Reszta to 3. |
– Musisz jednak pamiętać o kilku ważnych aspektach.
– Po pierwsze, zmienna referencyjna nie zawsze wskazuje wartość, która jest tego samego typu, co ona sama.
– Po drugie, jeśli oddziaływają na siebie zmienne dwóch różnych typów, muszą one wpierw zostać skonwertowane do tego samego typu.
– A co z dzieleniem? Jeśli podzielimy 1 przez 3, otrzymamy wynik: 0.333(3). Tak?
– Nie, to nie jest prawidłowy wynik. Jeśli dzielimy przez siebie dwie liczby całkowite, wynik także jest liczbą całkowitą. Jeśli podzielisz 5 przez 3, wynikiem będzie 1 i dwa jako reszta. Reszta zostanie pominięta.
– Jeśli podzielimy 1 przez 3, otrzymamy 0 (oraz resztę 1, którą pomijamy).
– Ale co zrobić, jeśli chcemy otrzymać 0.333?
– Przed przeprowadzeniem dzielenia w Javie najlepiej jest zamienić liczbę na liczbę typu zmiennoprzecinkowego (dziesiętnego), mnożąc ją przez zmiennoprzecinkową liczbę jeden (1.0).
Kod Java | Opis |
---|---|
|
a wynosi 0 |
|
d wynosi 0.0 |
|
d wynosi 0.333(3) |
|
d wynosi 0.333(3) |
|
d wynosi 0.7142857142857143 |
– Kumam.
GO TO FULL VERSION