U ovom ćemo uputstvu uz primjere naučiti o Java Type Castingu i njegovim vrstama.
Prije nego što naučite o lijevanju Java tipova , provjerite znate li tipove Java podataka.
Tip Casting
Postupak pretvaranja vrijednost jednog tipa podataka ( int
, float
, double
, i slično) u drugi tip podataka kao što je poznato typecasting.
U Javi postoji 13 vrsta pretvorbe tipova. Međutim, u ovom uputstvu usredotočit ćemo se samo na glavne dvije vrste.
1. Lijevanje tipa proširenja
2. Lijevanje sužavajućeg tipa
Da biste saznali više o drugim vrstama pretvorbe tipova, posjetite Java pretvorbu tipova (službena Java dokumentacija).
Lijevanje tipa proširenja
U lijevanju tipa proširenja , Java automatski pretvara jedan tip podataka u drugi tip podataka.
Primjer: Pretvaranje int u 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); ) )
Izlaz
Cijela vrijednost: 10 Dvostruka vrijednost: 10,0
U gornjem primjeru int
dodijeljujemo varijablu tipa koja se naziva num double
varijabli tipa koja se zove podaci.
Ovdje Java prvo pretvara int
podatke tipa u double
tip. A zatim ga dodijelite double
varijabli.
U slučaju lijevanja tipa proširenja , niži tip podataka (koji ima manju veličinu) pretvara se u viši tip podataka (koji ima veću veličinu). Stoga nema gubitka podataka. Zbog toga se ova vrsta pretvorbe događa automatski.
Napomena : Ovo je također poznato kao implicitno lijevanje tipa .
Sužavanje lijevanja tipa
U sužavanju lijevanja tipova ručno pretvaramo jedan tip podataka u drugi pomoću zagrade.
Primjer: Pretvaranje doublea u 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); ) )
Izlaz
Dvostruka vrijednost: 10,99 Cijela vrijednost: 10
U gornjem primjeru double
dodijeljujemo varijablu tipa koja se naziva num int
varijabli tipa koja se zove podaci.
Primijetite crtu,
int data = (int)num;
Ovdje int
ključna riječ unutar zagrade označava da se num varijabla pretvara u int
tip.
U slučaju lijevanja suženih tipova , viši tipovi podataka (koji imaju veću veličinu) pretvaraju se u niže tipove podataka (koji imaju manju veličinu). Stoga dolazi do gubitka podataka. Zbog toga se ova vrsta pretvorbe ne događa automatski.
Napomena : Ovo je također poznato kao eksplicitno lijevanje tipa .
Pogledajmo neke primjere pretvorbe drugih tipova u Javi.
Primjer 1: Pretvorba tipa iz int u 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); ) )
Izlaz
Vrijednost cijelog broja je: 10 Vrijednost niza je: 10
U gornjem programu primijetite redak
String data = String.valueOf(num);
Ovdje smo koristili valueOf()
metodu klase Java String za pretvorbu varijable tipa int u niz.
Primjer 2: Pretvorba tipa iz Stringa u 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); ) )
Izlaz
Vrijednost niza je: 10 Cijela vrijednost je: 10
U gornjem primjeru primijetite redak
int num = Integer.parseInt(data);
Ovdje smo koristili parseInt()
metodu Integer
klase Java za pretvorbu varijable tipa string u int
varijablu.
Napomena : Ako se varijabla niza ne može pretvoriti u cjelobrojnu varijablu, tada se pojavljuje izuzetak imenovan NumberFormatException
.