În acest tutorial, vom afla despre Java Type Casting și tipurile sale cu ajutorul exemplelor.
Înainte de a afla despre Java Type Casting , asigurați-vă că știți despre Java Data Types.
Tastați Casting
Procesul de conversie a valorii unui tip de date ( int
, float
, double
etc.) la un alt tip de date este cunoscut sub numele de typecasting.
În Java, există 13 tipuri de conversie de tip. Cu toate acestea, în acest tutorial, ne vom concentra doar pe cele 2 tipuri majore.
1. Turnare tip lărgire
2. Turnare tip îngustare
Pentru a afla despre alte tipuri de conversie de tip, vizitați Conversia de tip Java (documentație oficială Java).
Lărgire tip turnare
În Casting Type Castening , Java convertește automat un tip de date în alt tip de date.
Exemplu: Conversia int în dublu
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); ) )
Ieșire
Valoarea întregului: 10 Valoarea dublă: 10,0
În exemplul de mai sus, atribuim int
variabila de tip numită num unei double
variabile de tip numite date.
Aici, Java convertește mai întâi int
datele de tip în double
tip. Și apoi atribuiți-o double
variabilei.
În cazul turnării tipului de lărgire , tipul de date inferior (având o dimensiune mai mică) este convertit în tipul de date mai mare (având o dimensiune mai mare). Prin urmare, nu există pierderi de date. Acesta este motivul pentru care acest tip de conversie are loc automat.
Notă : Acest lucru este, de asemenea, cunoscut sub numele de Distribuție tip implicită .
Distribuție de tip îngust
În Narrowing Type Casting , convertim manual un tip de date în altul folosind paranteze.
Exemplu: Conversia dublului într-un 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); ) )
Ieșire
Valoarea dublă: 10,99 Valoarea întregului: 10
În exemplul de mai sus, atribuim double
variabila de tip numită num unei int
variabile de tip numite date.
Observați linia,
int data = (int)num;
Aici, int
cuvântul cheie din paranteză indică faptul că variabila num este convertită în int
tip.
În cazul proiectării tipului de îngustare , tipurile de date mai mari (având dimensiuni mai mari) sunt convertite în tipuri de date mai mici (având dimensiuni mai mici). Prin urmare, există pierderea de date. Acesta este motivul pentru care acest tip de conversie nu are loc automat.
Notă : Acest lucru este, de asemenea, cunoscut sub numele de Distribuție de tip explicit .
Să vedem câteva exemple de conversii de alt tip în Java.
Exemplul 1: introduceți conversia de la int la șir
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); ) )
Ieșire
Valoarea întregului este: 10 Valoarea șirului este: 10
În programul de mai sus, observați linia
String data = String.valueOf(num);
Aici, am folosit valueOf()
metoda clasei Java String pentru a converti variabila de tip int într-un șir.
Exemplul 2: Tastați conversia de la String la 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); ) )
Ieșire
Valoarea șirului este: 10 Valoarea întregului este: 10
În exemplul de mai sus, observați linia
int num = Integer.parseInt(data);
Aici, am folosit parseInt()
metoda Integer
clasei Java pentru a converti o variabilă de tip șir într-o int
variabilă.
Notă : Dacă variabila șir nu poate fi convertită în variabila întreagă, atunci NumberFormatException
apare o excepție numită .