Typy proste – Grupa ośmiu typów, których pomimo swej nazwy nie wolno lekceważyć. Dobra ich znajomość pozwoli Ci uniknąć przykrych niespodzianek, które mogą Cię spotkać podczas pisania kodu.
W tym materiale chcę Ci powiedzieć – czym są typy proste, jakie mają zakresy i jak z nimi pracować.
Spis treści
- 1 Java – typy proste – wprowadzenie
- 2 Java – typy danych
- 3 Java – typy proste
- 4 Liczby całkowite – byte, short, int i long
- 5 Liczby zmiennoprzecinkowe – float i double
- 6 char – typ znakowy
- 7 boolean – typ logiczny
- 8 Java – Typy proste – Konwersja i rzutowanie typów
- 9 Java – Typy proste – podsumowanie
- 10 Kierunek Java
- 11 20+ BONUSOWYCH materiałów z programowania
Java – typy proste – wprowadzenie
Z tego materiału dowiesz się:
- Czym są typy proste?
- Jakie istnieją typy liczb całkowitych oraz zmiennoprzecinkowych?
- Czym jest „char”?
- Jakim typem jest „boolean”?
Java – typy danych
W Javie typy danych możemy podzielić na dwie główne kategorie: typy obiektowe oraz typy proste.
Typy obiektowe przechowują dane oraz zachowanie. Jeżeli chcesz poznać bardziej szczegółowo temat typów obiektowych, zapraszam Cię do zapoznania się z poniższym materiałem.
➡ ZOBACZ 👉: Typy obiektowe
Java – typy proste
Typy proste, inaczej mówiąc prymitywne, przechowują tylko „surowe” dane, takie jak:
- liczby stałe, np. 1, 10, 200;
- liczby zmiennoprzecinkowe, np. 1.0, 10.5, 200.1;
- znaki, np. ’a’, 'z’, '1′;
- typ logiczny – czyli prawdę (true) lub fałsz (false);
Liczby całkowite – byte, short, int i long
Liczby całkowite, czyli stałoprzecinkowe, dodatkowo podzielone są na 4 rodzaje ze względu na rozmiar liczby, jaki mogą przechowywać:
- byte – 1 bajt – zakres od -128 do 127;
- short – 2 bajty – zakres od -32 768 do 32 767;
- int – 4 bajty – zakres od -2 147 483 648 do 2 147 483 647;
- long – 8 bajtów – zakres od -263 do 263-1;
W dzisiejszych czasach programista zazwyczaj ma do dyspozycji bardzo dużo taniej pamięci, dlatego głównie wykorzystywany jest uniwersalny typ: int nawet do przechowania stosunkowo niewielkich liczb.
Jeżeli nie przypiszesz wartości do powyższych typów liczb całkowitych to zmienna przyjmie domyślną wartość „0”.
⚠️W Javie, w przeciwieństwie np. do C/C++, nie ma osobnego typu dla liczb bez znaku (Unsigned), dlatego trzeba szczególnie uważać, żeby nie przekroczyć zakresu danych zmiennej, bo możemy otrzymać np. liczbę ujemną.⚠️
byte byteNum = 10; short shortNum = 100; int intNum = 65; long longNum = 234211346675433L;
Liczby zmiennoprzecinkowe – float i double
Liczby zmiennoprzecinkowe, czyli takie, w których możemy przechować np. ułamki, zostały dodatkowo podzielone na dwa typy:
- float – 4 bajty
- double – 8 bajtów
W liczbach zmiennoprzecinkowych część całkowita od ułamkowej oddzielona jest kropką.
Należy również pamiętać, że taki rodzaj przechowywania zmiennych niesie ze sobą pewne ograniczenia, a właściwie zaokrąglenia. Przykładowo przechowując wynik dzielenia 1 przez 3, dostajemy ułamek nieskończony 0.(3), który w przypadku typu float zostanie zaokrąglony do 0.33333334.
Jeżeli nie możemy pozwolić sobie na takie zaokrąglenia, należy skorzystać np. z klasy pomocniczej BigDecimal do przechowywania zmiennych, która między innymi pozwala, na precyzyjne określenie, jak ma zachowywać się wynik obliczeń w przypadku zaokrągleń.
Jeżeli nie przypiszesz wartości do powyższych typów liczb zmiennoprzecinkowych to zmienna przyjmie domyślną wartość „0.0”.
⚠️Aby powiedzieć kompilatorowi, aby traktował liczbę zmiennoprzecinkową jako float, a nie double, należy użyć użyć f lub F⚠️
double doubleNumber = -43.1; float floatNumber = 33.2f;
char – typ znakowy
Java udostępnia również typ znakowy: char, który wykorzystywany jest do przechowywania kodu znaku z systemu kodowania Unicode, pozwalającego na przedstawienie znaków niemal ze wszystkich języków.
W pamięci komputera nie jest przechowywany tak naprawdę sam znak, np. litera ’a’, a jego kod, w tym wypadku będzie to: liczba 97.
Dlatego jest to specyficzny typ liczbowy, przechowujący nieujemne całkowite liczby z zakresu: 0 do 65535.
// = 97 System.out.println((int)'a'); // = a; dlatego, że: (16^0 * 1) + (16^1 * 6) = 1+96 = 97 System.out.println('\u0061'); // = a System.out.println((char)97);
Domyślną wartością typu char jest \u0000.
boolean – typ logiczny
Typ logiczny boolean przeznaczony jest do przechowywania tylko dwóch wartości:
- true – prawa
- false – fałsz
Domyślną wartością typu boolean jest false.
Java – Typy proste – Konwersja i rzutowanie typów
W ramach tego materiału zajęliśmy się przede wszystkim typami prostymi. Nieodłącznym zagadnieniem typów prostych jest zamiana jednego typu w innych – kompletny materiał dotyczący konwersji i rzutowania typów znajdziesz poniżej.
➡ ZOBACZ 👉: Konwersja i rzutowanie typów
Java – Typy proste – podsumowanie
W ramach tego materiału dowiedzieliśmy się, czym są typy proste w Javie. Bliżej zapoznaliśmy się z poszczególnymi rodzajami typów prostych jak np. int, float, char czy boolean oraz ich zakresem. Jeżeli chcesz kontynuować swoją przygodę z Javą i poznać inne struktury, które oferuję ten język programowania – to zapraszam do kolejnego tematu z serii o Javie. Temat będzie rozszerzeniem zagadnienia typów, ponieważ pomówimy o typach obiektowych.
➡ ZOBACZ 👉: Typy obiektowe
Kierunek Java
W serii o Javie zapoznajesz się z podstawowymi tematami o Javie. Jeżeli chcesz bardziej kompleksowo zagłębić się w temat Javy, poczytać, posłuchać o Javie, to zachęcam Cię do zapoznania się z moim kursem „Kierunek Java”:
➡ ZOBACZ 👉: Kierunek Java
20+ BONUSOWYCH materiałów z programowania
e-book – „8 rzeczy, które musisz wiedzieć, żeby dostać pracę jako programista”,
e-book – „Java Cheat Sheet”,
checklista – „Pytania rekrutacyjne”
i wiele, wiele wiecej!