V tej vadnici bomo s pomočjo primerov spoznali Java Type Casting in njegove tipe.
Preden se naučite Java Type Casting , se prepričajte, da poznate Java Data Types.
Tip Casting
Postopek pretvarjanja vrednost ene vrste podatkov ( int
, float
, double
, itd) v drugo vrsto podatkov je znan kot Typecasting.
V Javi obstaja 13 vrst pretvorbe vrst. V tej vadnici pa se bomo osredotočili le na glavni dve vrsti.
1. Širjenje vlivanja
2. Ožičenje vrste litja
Če želite izvedeti več o drugih vrstah pretvorbe tipov, obiščite Pretvorbo tipov Java (uradna dokumentacija Java).
Širjenje vlivanja
Pri razširjanju vrst razširitve Java samodejno pretvori en podatkovni tip v drugega.
Primer: pretvorba int v dvojno
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); ) )
Izhod
Celoštevilska vrednost: 10 Dvojna vrednost: 10,0
V zgornjem primeru int
spremenljivki tipa num dodelimo spremenljivko double
tipa z imenom data.
Tu Java najprej pretvori int
podatke o double
tipu v tip. In jo nato dodelite double
spremenljivki.
V primeru vlivanja razširitvenega tipa se nižji podatkovni tip (z manjšo velikostjo) pretvori v višji podatkovni tip (z večjo velikostjo). Zato ni izgube podatkov. Zato se ta vrsta pretvorbe zgodi samodejno.
Opomba : To je znano tudi pod imenom implicitno ulivanje .
Ožičenje vrste litja
V načinu Omejitev vlivanja vrst z oklepaji ročno pretvorimo en tip podatkov v drugega.
Primer: pretvorba double v 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); ) )
Izhod
Dvojna vrednost: 10,99 Celoštevilska vrednost: 10
V zgornjem primeru double
spremenljivki tipa z imenom num dodelimo spremenljivko int
tipa z imenom data.
Opazite vrstico,
int data = (int)num;
Tu int
ključna beseda v oklepaju označuje, da se spremenljivka num pretvori v int
tip.
V primeru ožjega vlivanja vrst se višji tipi podatkov (z večjo velikostjo) pretvorijo v nižje vrste podatkov (z manjšo velikostjo). Zato pride do izgube podatkov. Zato se ta vrsta pretvorbe ne zgodi samodejno.
Opomba : To je znano tudi kot eksplicitno ulivanje vrst .
Oglejmo si nekaj primerov pretvorb drugih vrst v Javi.
Primer 1: Pretvorba tipa iz int v niz
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); ) )
Izhod
Celoštevilska vrednost je: 10 Vrednost niza je: 10
V zgornjem programu opazite vrstico
String data = String.valueOf(num);
Tu smo uporabili valueOf()
metodo razreda Java String za pretvorbo spremenljivke tipa int v niz.
Primer 2: Pretvorba tipa iz String v 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); ) )
Izhod
Vrednost niza je: 10 Celoštevilska vrednost je: 10
V zgornjem primeru opazite vrstico
int num = Integer.parseInt(data);
Tu smo uporabili parseInt()
metodo Integer
razreda Java za pretvorbo spremenljivke tipa string v int
spremenljivko.
Opomba : Če spremenljivke niza ni mogoče pretvoriti v celoštevilčno spremenljivko, NumberFormatException
pride do izjeme z imenom .