I denne opplæringen vil vi lære om Java Type Casting og dens typer ved hjelp av eksempler.
Før du lærer om Java Type Casting , må du sørge for at du vet om Java-datatyper.
Type Casting
Prosessen med å omforme verdien av en datatype ( int
, float
, double
, etc.) til en annen datatype er kjent som typecasting.
I Java er det 13 typer typekonvertering. I denne opplæringen vil vi imidlertid bare fokusere på de to viktigste typene.
1. Utvidelse av støping
2. Støping av smalende type
For å lære om andre typer typekonvertering, besøk Java Type Conversion (offisiell Java-dokumentasjon).
Støping av utvidende type
I utvidelse av type casting konverterer Java automatisk en datatype til en annen datatype.
Eksempel: Konvertere 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); ) )
Produksjon
Heltalsverdien: 10 Den doble verdien: 10,0
I eksemplet ovenfor tildeler vi typevariabelen som int
heter num til en double
typevariabel som heter data.
Her konverterer Java først typedataene int
til double
typen. Og tilordne den deretter til double
variabelen.
Når det gjelder utvidelse av type casting , konverteres den nedre datatypen (med mindre størrelse) til den høyere datatypen (med større størrelse). Derfor er det ikke noe tap av data. Dette er grunnen til at denne typen konvertering skjer automatisk.
Merk : Dette er også kjent som Implicit Type Casting .
Avsmalningstype Støping
I Casting av smalende typer konverterer vi manuelt en datatype til en annen ved hjelp av parentes.
Eksempel: Konvertere dobbelt til 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); ) )
Produksjon
Den doble verdien: 10.99 Heltalsverdien: 10
I eksemplet ovenfor tildeler vi typevariabelen som double
heter num til en int
typevariabel som heter data.
Legg merke til linjen,
int data = (int)num;
Her int
indikerer nøkkelordet i parentes at num-variabelen blir konvertert til int
typen.
I tilfelle av avstøpningstype konverteres de høyere datatypene (med større størrelse) til lavere datatyper (med mindre størrelse). Derfor er det tap av data. Dette er grunnen til at denne typen konvertering ikke skjer automatisk.
Merk : Dette er også kjent som Explicit Type Casting .
La oss se noen av eksemplene på andre type 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); ) )
Produksjon
Heltalsverdien er: 10 Strengverdien er: 10
Legg merke til linjen i programmet ovenfor
String data = String.valueOf(num);
Her har vi brukt valueOf()
metoden i Java String-klassen til å konvertere int-type-variabelen 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); ) )
Produksjon
Strengverdien er: 10 Heltalsverdien er: 10
Legg merke til linjen i eksemplet ovenfor
int num = Integer.parseInt(data);
Her har vi brukt parseInt()
metoden i Java- Integer
klassen for å konvertere en strengtypevariabel til en int
variabel.
Merk : Hvis strengvariabelen ikke kan konverteres til heltallvariabelen, NumberFormatException
oppstår et unntak som heter .