Ano ang Typecasting sa Java at paano ito gumagana?



Ang pag-type ng casting sa Java ay nagtatalaga ng isang halaga ng isang paunang uri ng data sa isa pa. Sa artikulong ito, sasabihin ko sa iyo ang tungkol sa iba't ibang mga uri ng uri ng conversion.

Nagpe-play ang programa kasama ang data. Sa , maraming uri ng data. Karamihan sa mga oras habang nagsa-coding, kinakailangang baguhin ang uri ng data upang maunawaan ang pagproseso ng isang variable at tinatawag itong Type Casting. Sa artikulong ito, pag-uusapan ko ang tungkol sa mga pangunahing kaalaman ng Type Casting sa Java.

Sa ibaba ang mga paksa ay sakop sa artikulong ito:

Magsimula na tayo!





Ano ang Type Casting?

Ang uri ng paghahagis ay walang iba kundi ang pagtatalaga ng isang halaga ng isa sa iba. Kapag itinalaga mo ang halaga ng isang uri ng data sa isa pa, dapat mong magkaroon ng kamalayan sa pagiging tugma ng uri ng data. Kung magkatugma ang mga ito, kung gayon gaganap ang conversion na awtomatikong kilala bilang Awtomatikong Uri ng Conversion at kung hindi, kung gayon kailangan nilang i-cast o i-convert nang malinaw.

Mayroong dalawang uri ng paghahagis sa Java tulad ng sumusunod:



  • Pagpapalawak ng Casting (awtomatiko) - Nagsasangkot ito ng pag-convert ng isang mas maliit na uri ng data sa mas malaking sukat ng uri.

    byte -> maikli -> char -> int -> mahaba -> lumutang -> doble

  • Narrowing Casting (manu-mano) - Nagsasangkot ito ng pag-convert ng isang mas malaking uri ng data sa isang mas maliit na uri ng laki.



    doble -> lumutang -> mahaba -> int -> char -> maikli -> byte

Ngayon ay tingnan natin ang mga detalye ng mga uri ng uri ng paghahagis.

Pagpapalawak ng Casting

Ang ganitong uri ng paghahagis ay nagaganap kapag ang dalawang uri ng data ay awtomatikong na-convert. Kilala rin ito bilang Implicit Conversion. Nangyayari ito kapag ang dalawang uri ng data ay magkatugma at din kapag itinalaga namin ang halaga ng isang mas maliit sa isang mas malaking uri ng data.

Halimbawa, Ang mga uri ng data na bilang ay magkatugma sa bawat isa ngunit walang awtomatikong conversion na sinusuportahan mula sa numerong uri sa char o boolean. Gayundin, ang char at boolean ay hindi tugma sa bawat isa. Sumulat tayo ngayon ng isang lohika para sa Implicit na uri ng paghahagis upang maunawaan kung paano ito gumagana.

pampublikong klase ng Conversion {public static void main (String [] args) {int i = 200 // automatic type conversion long l = i // automatic type conversion float f = l System.out.println ('Int value' + i) System.out.println ('Long halaga' + l) System.out.println ('Float value' + f)}}

Output:

Int halaga 200 Mahabang halaga 200 Lutang halaga 200.0

Lumipat tayo ngayon at unawain kung paano gumagana ang Explicit Type Casting.

Narrow Casting

Sa kasong ito, kung nais mong magtalaga ng isang halaga ng mas malaking uri ng data sa isang mas maliit na uri ng data, maaari kang gumanap Tahasang uri ng paghahagis o makitid. Kapaki-pakinabang ito para sa mga hindi tugma na mga uri ng data kung saan hindi maaaring gawin ang awtomatikong pag-convert.

magtapon vs magtapon vs itapon sa java

Unawain natin ito sa tulong ng isang halimbawa.

// Java program upang ilarawan ang malinaw na uri ng pag-convert ng klase sa publiko Paliitin ang {public static void main (String [] args) {doble d = 200.06 // explicit type casting long l = (long) d // explicit type casting int i = (int ) l System.out.println ('Dobleng halaga ng uri ng Data' + d) // nawala ang bahagi na System.out.println ('Halaga ng uri ng Long data' + l) // nawala ang bahagi ng System.out.println ('Int Halaga ng uri ng data '+ i)}}

Output:

Halaga ng uri ng Dobleng data 200.06 Mahabang Halaga ng uri ng data 200 Int Halaga ng uri ng data 200

Ngayong alam mo kung paano gumanap ng Malaswang uri ng paghahagis, ilipat natin nang higit pa at unawain kung paano maisasagawa ang detalyadong paghahagis sa mga expression ng Java.

Malaswang Pag-cast ng Uri sa Mga Pagpapahayag

Kapag sinusuri mo ang expression, ang output ay awtomatikong nai-update sa mas malaking uri ng data ng operand. Ngunit kung iimbak mo ang resulta sa anumang mas maliit na uri ng data bumubuo ito ng error sa oras ng pagtitipon, dahil kung saan kailangan naming i-type ang cast.

Halimbawa:

// Java program to ilustrate type casting int to 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)}}

Output:

140

Tandaan: Sa kaso ng solong pagpapatakbo ang resulta ay nai-convert sa int at pagkatapos ito ay uri ng cast na naaayon.

Kaya't iyon ay tungkol sa Malaswang Pag-cast ng Uri sa Java.Sa pamamagitan nito, natapos na kami sa artikulong ito. Akosana ay nalaman mong ito ay may kaalaman. Kung nais mong matuto nang higit pa, maaari mong suriin ang aming din.

Suriin ang ni Edureka, isang pinagkakatiwalaang kumpanya sa pag-aaral sa online na may isang network na higit sa 250,000 nasiyahan na mga nag-aaral na kumalat sa buong mundo. Narito kami upang matulungan ka sa bawat hakbang sa iyong paglalakbay, para sa pagiging isang bukod sa mga katanungang ito sa panayam sa java, nakakakuha kami ng isang kurikulum na idinisenyo para sa mga mag-aaral at propesyonal na nais na maging isang Java Developer.

May tanong ba sa amin? Mangyaring banggitin ito sa seksyon ng mga komento ng artikulong 'Type Casting in Java' at babalikan ka namin sa lalong madaling panahon.