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).