Casting typu Java (z przykładami)

W tym samouczku dowiemy się o rzutowaniu typu Java i jego typach na przykładach.

Zanim dowiesz się o rzutowaniu typu Java , upewnij się, że znasz typy danych Java.

Typ Casting

Proces konwersji wartości jednego typu danych ( int, float, double, etc.) dla innego typu danych są znane jako rzutowania.

W Javie istnieje 13 typów konwersji typów. Jednak w tym samouczku skupimy się tylko na dwóch głównych typach.

1. Odlewanie typu poszerzenia

2. Rzutowanie typu zawężającego

Aby dowiedzieć się więcej o innych typach konwersji typów, odwiedź witrynę Java Type Conversion (oficjalna dokumentacja języka Java).

Odlewanie typu poszerzenia

W rzutowaniu typu poszerzania Java automatycznie konwertuje jeden typ danych na inny typ danych.

Przykład: Konwersja int na double

 class Main ( public static void main(String() args) ( // create int type variable int num = 10; System.out.println("The integer value: " + num); // convert into double type double data = num; System.out.println("The double value: " + data); ) ) 

Wynik

 Wartość całkowita: 10 Wartość podwójna: 10,0 

W powyższym przykładzie przypisujemy intzmienną typu o nazwie num do doublezmiennej typu o nazwie data.

Tutaj Java najpierw konwertuje intdane typu na doubletyp. A następnie przypisz go do doublezmiennej.

W przypadku rzutowania typu poszerzającego niższy typ danych (mający mniejszy rozmiar) jest konwertowany na wyższy typ danych (mający większy rozmiar). W związku z tym nie ma utraty danych. Dlatego ten typ konwersji następuje automatycznie.

Uwaga : jest to również znane jako rzutowanie typu niejawnego .

Rzutowanie typu zawężającego

W zawężającym rzutowaniu typów ręcznie konwertujemy jeden typ danych na inny, używając nawiasów.

Przykład: zamiana double na int

 class Main ( public static void main(String() args) ( // create double type variable double num = 10.99; System.out.println("The double value: " + num); // convert into int type int data = (int)num; System.out.println("The integer value: " + data); ) ) 

Wynik

 Wartość podwójna: 10,99 Wartość całkowita: 10 

W powyższym przykładzie przypisujemy doublezmienną typu o nazwie num do intzmiennej typu o nazwie data.

Zwróć uwagę na linię,

 int data = (int)num; 

Tutaj intsłowo kluczowe w nawiasie wskazuje, że zmienna num jest konwertowana na inttyp.

W przypadku zawężającego rzutowania typów , wyższe typy danych (mające większy rozmiar) są konwertowane na niższe typy danych (mające mniejszy rozmiar). Stąd utrata danych. Dlatego ten rodzaj konwersji nie następuje automatycznie.

Uwaga : jest to również znane jako rzutowanie typu jawnego .

Zobaczmy kilka przykładów konwersji innych typów w Javie.

Przykład 1: Konwersja typu z int na String

 class Main ( public static void main(String() args) ( // create int type variable int num = 10; System.out.println("The integer value is: " + num); // converts int to string type String data = String.valueOf(num); System.out.println("The string value is: " + data); ) ) 

Wynik

 Wartość całkowita to: 10 Wartość ciągu to: 10 

W powyższym programie zwróć uwagę na linię

 String data = String.valueOf(num); 

Tutaj użyliśmy valueOf()metody klasy String Java do konwersji zmiennej typu int na łańcuch.

Przykład 2: Konwersja typu z String na int

 class Main ( public static void main(String() args) ( // create string type variable String data = "10"; System.out.println("The string value is: " + data); // convert string variable to int int num = Integer.parseInt(data); System.out.println("The integer value is: " + num); ) ) 

Wynik

 Wartość ciągu to: 10 Wartość całkowita to: 10 

W powyższym przykładzie zwróć uwagę na linię

 int num = Integer.parseInt(data); 

Tutaj użyliśmy parseInt()metody Integerklasy Java do konwersji zmiennej typu łańcuchowego na intzmienną.

Uwaga : Jeśli zmienna łańcuchowa nie może zostać przekonwertowana na zmienną całkowitą, NumberFormatExceptionwystępuje wyjątek o nazwie .

Interesujące artykuły...