Vad är typecasting i Java och hur fungerar det?



Typgjutning i Java tilldelar ett värde av en primitiv datatyp till en annan. I den här artikeln berättar jag om olika typer av typkonvertering.

Programmering leker med data. I , det finns många datatyper. För det mesta under kodning är det nödvändigt att ändra typen av data för att förstå bearbetningen av en variabel och detta kallas Type Casting. I den här artikeln kommer jag att prata om grunderna för typgjutning i Java.

Nedanstående ämnen behandlas i den här artikeln:

Låt oss börja!





Vad är typgjutning?

Typgjutning är inget annat än att tilldela ett värde på ett till en annan. När du tilldelar en datatyp till en annan bör du vara medveten om datatypens kompatibilitet. Om de är kompatibla, då utför omvandlingen automatiskt känd som Automatisk typkonvertering och om inte, måste de gjutas eller konverteras uttryckligen.

Det finns två typer av gjutning i Java enligt följande:



  • Bredare gjutning (automatiskt) - Det handlar om konvertering av en mindre datatyp till större typstorlek.

    byte -> kort -> char -> int -> lång -> flyta -> dubbel

  • Smal gjutning (manuellt) - Det handlar om att konvertera en större datatyp till en mindre storlekstyp.



    dubbel -> flyta -> lång -> int -> char -> kort -> byte

    ställa in klassbana i Linux

Låt oss nu ta reda på detaljerna om typ av gjutning.

Bredare gjutning

Denna typ av gjutning sker när två datatyper konverteras automatiskt. Det är också känt som Implicit Conversion. Detta händer när de två datatyperna är kompatibla och även när vi tilldelar värdet på en mindre till en större datatyp.

Till exempel, De numeriska datatyperna är kompatibla med varandra men ingen automatisk konvertering stöds från numerisk typ till char eller boolean. Även röding och boolean är inte kompatibla med varandra. Låt oss nu skriva en logik för Implicit typgjutning för att förstå hur det fungerar.

public class Conversion {public static void main (String [] args) {int i = 200 // automatisk typkonvertering lång l = i // automatisk typkonvertering float f = l System.out.println ('Int-värde' + i) System.out.println ('Långt värde' + l) System.out.println ('Flytvärde' + f)}}

Produktion:

Int-värde 200 Långt värde 200 Flytvärde 200,0

Låt oss nu gå vidare och förstå hur Explicit Type Casting fungerar.

Smalare gjutning

I det här fallet kan du utföra om du vill tilldela ett värde av större datatyp till en mindre datatyp Explicit typ gjutning eller förträngning. Detta är användbart för inkompatibla datatyper där automatisk konvertering inte kan göras.

Låt oss förstå detta med hjälp av ett exempel.

// Java-program för att illustrera uttrycklig typkonvertering offentlig klass Begränsning {offentlig statisk tomrum huvud (String [] args) {dubbel d = 200.06 // explicit typ casting lång l = (lång) d // explicit typ casting int i = (int ) l System.out.println ('Dubbelt datatypvärde' + d) // bråkdel förlorad System.out.println ('Långt datatypvärde' + l) // bråkdel förlorat System.out.println ('Int Datatypvärde '+ i)}}

Produktion:

print_r ()
Dubbel Datatypvärde 200.06 Lång Datatypvärde 200 Int Datatypvärde 200

Nu när du vet hur du utför gjutning av Explicit typ, låt oss gå vidare och förstå hur explicit gjutning kan utföras på Java-uttryck.

Explicit typgjutning i uttryck

När du utvärderar uttryck, utdata uppdateras automatiskt till operandens större datatyp. Men om du lagrar resultatet i en mindre datatyp genererar det kompileringsfel, på grund av vilket vi måste skriva cast output.

Exempel:

// Java-program för att illustrera typgjutning int till byte public class ExplicitTest {public static void main (String args []) {byte b = 70 // type casting int to byte b = (byte) (b * 2) System.out .println (b)}}

Produktion:

140

Notera: Vid enstaka operander konverteras resultatet till int och sedan gjutas det därefter.

marionett vs ansible vs kock

Så det handlade om Explicit Type Casting i Java.Med detta kommer vi till slutet av den här artikeln. Jaghoppas att du tyckte att det var informativt. Om du vill lära dig mer kan du kolla in vår också.

Kolla in av Edureka, ett pålitligt inlärningsföretag online med ett nätverk av mer än 250 000 nöjda elever spridda över hela världen. Vi är här för att hjälpa dig med varje steg på din resa, för att bli en förutom de här Java-intervjufrågorna, kommer vi med en läroplan som är utformad för studenter och yrkesverksamma som vill vara Java-utvecklare.

Har du en fråga till oss? Vänligen nämna det i kommentarsektionen i den här artikeln 'Type Casting in Java' så återkommer vi till dig så snart som möjligt.