Šajā apmācībā mēs uzzināsim par Java Type Casting un tā veidiem, izmantojot piemērus.
Pirms uzzināt par Java tipa apraidi , pārliecinieties, vai zināt par Java datu tipiem.
Tips Casting
Konvertētu vērtību viena datu tips (process int
, float
, double
, utt) uz citu datu tips ir pazīstams kā Typecasting.
Java valodā ir 13 veidu pārveidošanas veidi. Tomēr šajā apmācībā mēs koncentrēsimies tikai uz galvenajiem 2 veidiem.
1. Paplašināšanas tipa liešana
2. Šaura veida liešana
Lai uzzinātu vairāk par cita veida pārveidošanu, apmeklējiet Java tipa pārveidošanu (oficiālā Java dokumentācija).
Paplašināšanas tipa liešana
Veicot paplašināšanu Type Casting , Java automātiski pārveido vienu datu tipu citam.
Piemērs: Int konvertēšana uz dubultu
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); ) )
Rezultāts
Vesels skaitlis: 10 Divkāršā vērtība: 10,0
Iepriekš minētajā piemērā int
tipa mainīgajam ar nosaukumu num piešķiram double
tipa mainīgo ar nosaukumu.
Šeit Java vispirms pārveido int
tipa datus par double
tipu. Un pēc tam piešķiriet to double
mainīgajam.
Gadījumā, ja paplašināšana Type liešana , zemākā datu tips (ņemot mazāku izmēru) tiek pārveidots par augstāku datu tipa (kam lielāka izmēra). Tādējādi dati nezaudē. Tāpēc šāda veida pārveidošana notiek automātiski.
Piezīme . To sauc arī par netiešā tipa apraidi .
Šaura veida liešana
Sarakstā Sašaurināta tipa apraide mēs manuāli pārveidojam vienu datu tipu citā, izmantojot iekavas.
Piemērs: Double konvertēšana par 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); ) )
Rezultāts
Divkāršā vērtība: 10,99. Vesels skaitlis: 10
Iepriekš minētajā piemērā double
tipa mainīgajam ar nosaukumu num piešķiram int
tipa mainīgo ar nosaukumu.
Ievērojiet līniju,
int data = (int)num;
Šeit int
atslēgvārds iekavās norāda, ka mainīgais skaitlis tiek pārveidots par int
tipu.
Gadījumā, ja sašaurināsit Type liešana , augstākas datu tipiem (kam lielāka izmēra) tiek pārvērsti zemāku datu tipiem (no kurām mazāku izmēru). Tādējādi tiek zaudēti dati. Tāpēc šāda veida pārveidošana nenotiek automātiski.
Piezīme . To sauc arī par nepārprotama veida apraidi .
Apskatīsim dažus cita veida Java pārveidojumu piemērus.
1. piemērs: ierakstiet konvertēšanu no int uz virkni
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); ) )
Rezultāts
Vesels skaitlis ir: 10 Virknes vērtība ir: 10
Iepriekš minētajā programmā ievērojiet līniju
String data = String.valueOf(num);
Šeit mēs izmantojām valueOf()
Java String klases metodi, lai pārveidotu int tipa mainīgo virknē.
2. piemērs: Veiciet konvertēšanu no virknes uz 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); ) )
Rezultāts
Virknes vērtība ir: 10 vesels skaitlis ir: 10
Iepriekš minētajā piemērā ievērojiet līniju
int num = Integer.parseInt(data);
Šeit mēs izmantojām parseInt()
Java Integer
klases metodi, lai virknes tipa mainīgo pārveidotu par int
mainīgo.
Piezīme : Ja virknes mainīgo nevar pārveidot par veselā skaitļa mainīgo, NumberFormatException
rodas nosaukts izņēmums .