logo

Zadejte Casting v Javě

v Javě, typové odlévání je metoda nebo proces, který převádí datový typ na jiný datový typ oběma způsoby ručně i automaticky. Automatickou konverzi provádí kompilátor a manuální konverzi provádí programátor. V této části budeme diskutovat typové odlévání a jeho typy se správnými příklady.

Zadejte Casting v Javě

Typové odlévání

Převod hodnoty z jednoho datového typu na jiný datový typ je známý jako typové odlévání .

Typy typového lití

Existují dva typy typového odlitku:

  • Odlévání typu rozšíření
  • Odlévání typu zúžení

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

Převod nižšího datového typu na vyšší se nazývá rozšíření typové odlévání. Je také známý jako implicitní konverze nebo svržení dolů . Provádí se automaticky. Je to bezpečné, protože není šance ztratit data. Probíhá, když:

  • Oba datové typy musí být vzájemně kompatibilní.
  • Cílový typ musí být větší než typ zdroje.
 byte -> short -> char -> int -> long -> float -> double 

Například převod mezi numerickým datovým typem na char nebo Boolean se neprovádí automaticky. Také datové typy char a Boolean nejsou vzájemně kompatibilní. Podívejme se na pří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ýstup

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

Ve výše uvedeném příkladu jsme vzali proměnnou x a převedli ji na dlouhý typ. Poté se typ long převede na typ float.

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

Zavolá se převod vyššího datového typu na nižší zúžení typové odlévání. Je také známý jako explicitní konverze nebo odlévat . Provádí se ručně programátorem. Pokud casting neprovedeme, kompilátor hlásí chybu při kompilaci.

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

Podívejme se na příklad odlévání zužujícího se typu.

V následujícím příkladu jsme dvakrát provedli odlévání zužujícího se typu. Nejprve jsme převedli typ double na typ dat long poté, co je tento typ dat long převeden na typ int.

java rovná se

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ýstup

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