Typy proste
W języku Java dla każdej zadeklarowanej w programie wartości (zmiennej/obiektu) musi być zdefiniowany jej typ.
Proste typy danych określają formaty zapisu w określonej liczbie bajtów różnych informacji takich jak liczby stałoprzecinkowe (całkowite), liczby zmiennoprzecinkowe (...z ułamkiem), pojedyncze znaki, ciągi znaków.
Typy zmiennych stałoprzecinkowych
W Javie nie używamy typu bez znaku, czyli przekroczenie zakresu wartości danego typu powoduje uzyskanie wartości z zakresu o przeciwnym znaku - np. próba wprowadzenia wartości +128 w zmiennej typu byte zakończy się uzyskaniem wartości ujemnej zgodnie z systemem zapisu liczb ujemnych U2.
- byte - 1 bajt - zakres wartości od -128 do 127
- short - 2 bajty - zakres wartości od -32 768 do 32 767
- int - 4 bajty - zakres wartości od -2 147 483 648 do 2 147 483 647 ==> ok. 10^10
- long - 8 bajtów - zakres wartości od -2^63 do (2^63)-1 ==> ok. 10^19 --- (takie wartości używane są z przyrostkiem L, lub l)
Typy zmiennych zmiennoprzecinkowych
W Javie część całkowitą od ułamkowej oddzielamy kropką. Pamiętaj, że liczby zmiennoprzecinkowe nie nadają się do obliczeń wymagających bardzo wysokiej dokładności, ponieważ w systemie binarnym nie da się przedstawić wszystkich liczb dziesiętnych (np. 0.1). Takie obliczenia w Javie będziemy wykonywać przy użyciu specjalnych klas BigDecimal oraz BigInteger (patrz rozdział Klasy jako typy danych).
- float - 4 bajty - max ok 6-7 liczb po przecinku (posiadają przyrostek F, lub f)
- double - 8 bajtów - max ok 15 cyfr po przecinku (posiadają przyrostek D, lub d)
Typ zmiennych znakowych
Ten typ służy do przechowywania pojedynczych znaków kodu Unicode. Pojedynczy znak - np. litera a może być zapisany jako 'a' lub przy użyciu wartości szesnastkowej w formie \u0061.
- char - 1 bajt
Typ zmiennych logicznych
Ten typ służy do zapisania wartości logicznych true / false.
- boolean - logicznie dane tego typu mogłyby zmieścić się na jednym bicie, lecz w Javie liczba bajtów użytych do zapisania wartości typu boolean jest zależna od konkretnej implementacji wirtualnej maszyny Javy - czyli nie jest jednoznacznie określona.
UWAGA
Ciągi znaków nie są zapisywane przy użyciu typów prostych, lecz przy użyciu obiektów klasy String (patrz rozdział Klasy jako typy danych).