logo

Zadajte Casting v jazyku Java

v Jave typové odlievanie je metóda alebo proces, ktorý prevádza dátový typ na iný dátový typ oboma spôsobmi manuálne aj automaticky. Automatickú konverziu vykoná kompilátor a manuálnu konverziu vykoná programátor. V tejto časti budeme diskutovať typové odlievanie a jeho typy so správnymi príkladmi.

Zadajte Casting v jazyku Java

Typové odlievanie

Prevod hodnoty z jedného dátového typu na iný dátový typ je známy ako typové odlievanie .

Typy typového odlievania

Existujú dva typy typového odlievania:

  • Odlievanie typu rozšírenia
  • Odlievanie typu zúženia

Odlievanie typu rozšírenia

Konverzia nižšieho dátového typu na vyšší sa nazýva rozširovanie typové odlievanie. Je tiež známy ako implicitná konverzia alebo zvrhnutie . Vykonáva sa automaticky. Je to bezpečné, pretože nie je šanca prísť o dáta. Koná sa, keď:

  • Oba typy údajov musia byť navzájom kompatibilné.
  • Cieľový typ musí byť väčší ako typ zdroja.
 byte -> short -> char -> int -> long -> float -> double 

Napríklad konverzia medzi numerickým dátovým typom na char alebo Boolean sa nevykoná automaticky. Typy údajov char a Boolean tiež nie sú navzájom kompatibilné. Pozrime sa na príklad.

WideningTypeCastingExample.java

 public class WideningTypeCastingExample { public static void main(String[] args) { int x = 7; //automatically converts the integer type into long type long y = x; //automatically converts the long type into float type float z = y; System.out.println('Before conversion, int value '+x); System.out.println('After conversion, long value '+y); System.out.println('After conversion, float value '+z); } } 

Výkon

 Before conversion, the value is: 7 After conversion, the long value is: 7 After conversion, the float value is: 7.0 

Vo vyššie uvedenom príklade sme vzali premennú x a skonvertovali ju na dlhý typ. Potom sa dlhý typ prevedie na typ float.

Odlievanie typu zúženia

Konverzia vyššieho dátového typu na nižší sa nazýva zúženie typové odlievanie. Je tiež známy ako explicitná konverzia alebo odlievanie . Robí to manuálne programátor. Ak nevykonáme pretypovanie, kompilátor ohlási chybu v čase kompilácie.

 double -> float -> long -> int -> char -> short -> byte 

Pozrime sa na príklad odlievania typu zúženia.

V nasledujúcom príklade sme odlievanie typu zúženia vykonali dvakrát. Najprv sme skonvertovali typ double na typ údajov long potom, čo sa tento typ údajov long skonvertoval na typ int.

NarrowingTypeCastingExample.java

 public class NarrowingTypeCastingExample { public static void main(String args[]) { double d = 166.66; //converting double data type into long data type long l = (long)d; //converting long data type into int data type int i = (int)l; System.out.println('Before conversion: '+d); //fractional part lost System.out.println('After conversion into long type: '+l); //fractional part lost System.out.println('After conversion into int type: '+i); } } 

Výkon

 Before conversion: 166.66 After conversion into long type: 166 After conversion into int type: 166