Java to język programowania, który oferuje różnorodne typy danych do reprezentowania i manipulowania liczbami. Typy liczbowe w Java dzielą się na dwa główne rodzaje: typy pierwotne (prymitywne) i typy opakowujące. W tej lekcji omówimy oba rodzaje, ich zakresy, jak są przechowywane w pamięci i jak mogą być wykorzystane w programowaniu.
Typy liczbowe pierwotne
Java definiuje cztery główne typy liczbowe całkowite (byte
, short
, int
, long
) i dwa typy liczbowe zmiennoprzecinkowe (float
, double
). Każdy z tych typów ma określony zakres wartości i zajmuje określoną ilość miejsca w pamięci.
byte
: 8-bitowa wartość całkowita, zakres od -128 do 127.short
: 16-bitowa wartość całkowita, zakres od -32,768 do 32,767.int
: 32-bitowa wartość całkowita, zakres od -2^31 do 2^31-1.long
: 64-bitowa wartość całkowita, zakres od -2^63 do 2^63-1.float
: 32-bitowa wartość zmiennoprzecinkowa, zgodna ze standardem IEEE 754.double
: 64-bitowa wartość zmiennoprzecinkowa, zgodna ze standardem IEEE 754.
Typy opakowujące
Dla każdego typu pierwotnego, Java oferuje odpowiadający mu typ opakowujący, który pozwala na użycie typów pierwotnych jako obiektów. Typy opakowujące to: Byte
, Short
, Integer
, Long
, Float
i Double
. Typy te są szczególnie użyteczne, gdy potrzebujemy przechowywać wartości liczbowe w strukturach danych typu kolekcje, które wymagają obiektów, a nie typów pierwotnych.
Przykład użycia typów liczbowych w Java
W tym przykładzie pokażemy klasę NumberOperations
, która ilustruje operacje na różnych typach liczbowych, w tym konwersję między typami pierwotnymi a opakowującymi.
public class NumberOperations {
public static void main(String[] args) {
// Deklaracja i inicjalizacja zmiennych liczbowych
byte aByte = 100;
short aShort = 5000;
int anInt = 100000;
long aLong = 100000L; // L na końcu oznacza literał typu long
float aFloat = 10.99f; // f na końcu oznacza literał typu float
double aDouble = 99.99d; // d jest opcjonalne,
// oznacza literał typu double
// Konwersja między typami pierwotnymi a opakowującymi
Integer wrappedInt = Integer.valueOf(anInt);
int unwrappedInt = wrappedInt.intValue();
// Wyświetlanie wartości
System.out.println("Wartości liczbowe:");
System.out.println("Byte: " + aByte);
System.out.println("Short: " + aShort);
System.out.println("Int: " + anInt);
System.out.println("Long: " + aLong);
System.out.println("Float: " + aFloat);
System.out.println("Double: " + aDouble);
System.out.println("Opakowany int: " + wrappedInt);
System.out.println("Rozpakowany int: " + unwrappedInt);
}
}
Podsumowanie
Typy liczbowe w Java pozwalają na efektywne reprezentowanie i manipulowanie danymi liczbowymi w różnych zakresach i precyzjach. Wybór odpowiedniego typu liczbowego zależy od wymagań aplikacji, takich jak zakres potrzeb
Jeżeli chcesz przyśpieszyć swoją naukę tworzenia stron chciałbym polecić mój kurs video Java w którym nauczysz się tego języka od podstaw do zaawansowanych jego aspektów.