Java Type Casting (met voorbeelden)

In deze zelfstudie leren we met behulp van voorbeelden over Java Type Casting en zijn typen.

Voordat u meer over Java Type Casting leert , moet u weten wat Java-gegevenstypen zijn.

Typ Casting

Het omzetten van de waarde van een gegevenstype ( int, float, doubleetc.) naar een ander gegevenstype heet typecasting.

In Java zijn er 13 soorten typeconversie. In deze tutorial zullen we ons echter alleen concentreren op de twee belangrijkste typen.

1. Verbreding type gieten

2. Vernauwing van het type gieten

Bezoek Java Type Conversion (officiële Java-documentatie) voor meer informatie over andere typen typeconversie.

Verbreding type gieten

Bij Widening Type Casting converteert Java automatisch het ene gegevenstype naar een ander gegevenstype.

Voorbeeld: int converteren naar 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); ) ) 

Uitvoer

 De gehele waarde: 10 De dubbele waarde: 10,0 

In het bovenstaande voorbeeld wijzen we de typevariabele met de intnaam num toe aan een doubletypevariabele met de naam data.

Hier converteert de Java eerst de typegegevens intnaar het doubletype. En wijs het vervolgens toe aan de doublevariabele.

In het geval van Widening Type Casting wordt het lagere datatype (met een kleinere omvang) geconverteerd naar het hogere datatype (met een grotere omvang). Er is dus geen verlies aan gegevens. Dit is de reden waarom dit type conversie automatisch gebeurt.

Opmerking : dit wordt ook wel Implicit Type Casting genoemd .

Versmalling Type Casting

Bij Narrowing Type Casting converteren we handmatig het ene gegevenstype naar het andere met behulp van de haakjes.

Voorbeeld: dubbel omzetten in een 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); ) ) 

Uitvoer

 De dubbele waarde: 10,99 De gehele waarde: 10 

In het bovenstaande voorbeeld wijzen we de typevariabele met de doublenaam num toe aan een inttypevariabele met de naam data.

Let op de lijn,

 int data = (int)num; 

Hier geeft het intsleutelwoord tussen haakjes aan dat de variabele num wordt geconverteerd naar het inttype.

In het geval van Narrowing Type Casting worden de hogere datatypes (met een grotere omvang) omgezet in lagere datatypes (met een kleinere omvang). Vandaar dat er gegevens verloren gaan. Dit is de reden waarom dit type conversie niet automatisch gebeurt.

Opmerking : dit wordt ook wel Explicit Type Casting genoemd .

Laten we eens kijken naar enkele voorbeelden van andere typeconversies in Java.

Voorbeeld 1: typeconversie van int naar 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); ) ) 

Uitvoer

 De gehele waarde is: 10 De stringwaarde is: 10 

Let in het bovenstaande programma op de lijn

 String data = String.valueOf(num); 

Hier hebben we de valueOf()methode van de Java String-klasse gebruikt om de int-type variabele om te zetten in een string.

Voorbeeld 2: typeconversie van String naar 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); ) ) 

Uitvoer

 De tekenreekswaarde is: 10 De gehele waarde is: 10 

Let in het bovenstaande voorbeeld op de lijn

 int num = Integer.parseInt(data); 

Hier hebben we de parseInt()methode van de Java- Integerklasse gebruikt om een ​​stringtype-variabele om te zetten in een intvariabele.

Opmerking : Als de stringvariabele niet kan worden geconverteerd naar de integer-variabele, treedt een genoemde uitzondering NumberFormatExceptionop.

Interessante artikelen...