Casting typu Java (s příklady)

V tomto tutoriálu se pomocí příkladů dozvíme o Java Type Casting a jeho typech.

Než se dozvíte o castingu Java Type , ujistěte se, že víte o datových typech Java.

Typ odlévání

Proces přeměny hodnotu jednoho datového typu ( int, float, double, atd) na jiný typ dat je známý jako obsadit.

V Javě existuje 13 typů převodu typů. V tomto tutoriálu se však zaměříme pouze na hlavní 2 typy.

1. Odlévání typu rozšíření

2. Odlévání typu zúžení

Další informace o dalších typech převodu typů naleznete v části Převod typů Java (oficiální dokumentace prostředí Java).

Lití typu rozšíření

V Widening Type Casting Java automaticky převádí jeden datový typ na jiný datový typ.

Příklad: Převod int na 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); ) ) 

Výstup

 Celočíselná hodnota: 10 Dvojitá hodnota: 10.0 

Ve výše uvedeném příkladu přiřazujeme intproměnné typu s názvem num doubleproměnné typu s názvem data.

Zde Java nejprve převede inttypová data na doubletyp. A poté jej přiřaďte k doubleproměnné.

V případě Castening Type Casting se nižší datový typ (s menší velikostí) převede na vyšší datový typ (s větší velikostí). Proto nedochází ke ztrátě dat. Proto se tento typ převodu děje automaticky.

Poznámka : Toto se také nazývá implicitní odlévání typu .

Odlévání typu zúžení

V Narrowing Type Casting ručně převádíme jeden datový typ na jiný pomocí závorek.

Příklad: Převod dvojitého na 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); ) ) 

Výstup

 Dvojitá hodnota: 10,99 Celá hodnota: 10 

Ve výše uvedeném příkladu přiřazujeme doubleproměnné typu s názvem num intproměnné typu s názvem data.

Všimněte si řádku,

 int data = (int)num; 

Zde intklíčové slovo uvnitř závorky naznačuje, že proměnná num je převedena na inttyp.

V případě Narrowing Type Casting jsou vyšší datové typy (s větší velikostí) převedeny na nižší datové typy (s menší velikostí). Proto dochází ke ztrátě dat. Proto k tomuto typu převodu nedochází automaticky.

Poznámka : Toto se také nazývá Explicitní odlévání typu .

Podívejme se na některé příklady převodů jiných typů v Javě.

Příklad 1: Převod typu z int na 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); ) ) 

Výstup

 Hodnota celého čísla je: 10 Hodnota řetězce je: 10 

Ve výše uvedeném programu si všimněte řádku

 String data = String.valueOf(num); 

Zde jsme použili valueOf()metodu třídy Java String k převodu proměnné typu int na řetězec.

Příklad 2: Převod typu z řetězce na 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); ) ) 

Výstup

 Hodnota řetězce je: 10 Celočíselná hodnota je: 10 

Ve výše uvedeném příkladu si všimněte řádku

 int num = Integer.parseInt(data); 

Zde jsme použili parseInt()metodu třídy Java Integerk převodu proměnné typu řetězce na intproměnnou.

Poznámka : Pokud řetězcovou proměnnou nelze převést na celočíselnou proměnnou, NumberFormatExceptiondojde k výjimce s názvem .

Zajímavé články...