I denne vejledning lærer vi om Java Type Casting og dens typer ved hjælp af eksempler.
Før du lærer om Java Type Casting , skal du sørge for at kende til Java-datatyper.
Type støbning
Processen med omdannelse af værdien af en datatype ( int
, float
, double
, etc.) til en anden datatype er kendt som typecasting.
I Java er der 13 typer typekonvertering. I denne vejledning vil vi dog kun fokusere på de 2 største typer.
1. Udvidelse af type støbning
2. Støbning af indsnævringstype
For at lære om andre typer typekonvertering, besøg Java Type Conversion (officiel Java-dokumentation).
Udvidelse af støbning
I Udvidelse af Type Casting konverterer Java automatisk en datatype til en anden datatype.
Eksempel: Konvertering af int til dobbelt
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); ) )
Produktion
Heltalsværdien: 10 Den dobbelte værdi: 10,0
I ovenstående eksempel tildeler vi typevariablen int
navngivet num til en double
typevariabel med navnet data.
Her konverterer Java først typedataene int
til double
typen. Og tildel det derefter til double
variablen.
I tilfælde af udvidelse af type casting konverteres den lavere datatype (med mindre størrelse) til den højere datatype (med større størrelse). Derfor er der intet tab af data. Dette er grunden til, at denne type konvertering sker automatisk.
Bemærk : Dette er også kendt som Implicit Type Casting .
Smalningstype støbning
I Narrowing Type Casting konverterer vi manuelt en datatype til en anden ved hjælp af parentesen.
Eksempel: Konvertering af dobbelt til et 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); ) )
Produktion
Den dobbelte værdi: 10,99 Heltalsværdien: 10
I ovenstående eksempel tildeler vi typevariablen double
navngivet num til en int
typevariabel med navnet data.
Bemærk linjen,
int data = (int)num;
Her angiver int
nøgleordet inden for parentesen, at variablen num konverteres til int
typen.
I tilfælde af indsnævrende type casting konverteres de højere datatyper (med større størrelse) til lavere datatyper (med mindre størrelse). Derfor er der tab af data. Dette er grunden til, at denne type konvertering ikke sker automatisk.
Bemærk : Dette er også kendt som Explicit Type Casting .
Lad os se nogle af eksemplerne på andre typer konverteringer i Java.
Eksempel 1: Skriv konvertering fra int til streng
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); ) )
Produktion
Heltalsværdien er: 10 Strengværdien er: 10
I ovenstående program skal du bemærke linjen
String data = String.valueOf(num);
Her har vi brugt valueOf()
metoden i Java String-klassen til at konvertere variablen int-type til en streng.
Eksempel 2: Skriv konvertering fra streng til 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); ) )
Produktion
Strengværdien er: 10 Heltalsværdien er: 10
I ovenstående eksempel bemærk linjen
int num = Integer.parseInt(data);
Her har vi brugt parseInt()
metoden i Java- Integer
klassen til at konvertere en strengtypevariabel til en int
variabel.
Bemærk : Hvis strengvariablen ikke kan konverteres til heltalsvariablen, NumberFormatException
forekommer en navngivet undtagelse .