Čo je Typecasting v Jave a ako funguje?



Typ casting v Jave je priradenie hodnoty jedného primitívneho dátového typu k druhému. V tomto článku vám poviem o rôznych druhoch prevádzania typov.

Programovanie sa pohráva s dátami. V , existuje veľa dátových typov. Pri kódovaní je väčšinou potrebné zmeniť typ údajov, aby bolo možné porozumieť spracovaniu premennej, a toto sa nazýva Casting typu. V tomto článku budem hovoriť o základoch Type Casting v Jave.

V tomto článku sa venujeme týmto témam:

Začnime!





Čo je to Casting?

Odlievanie typov nie je nič iné ako priradenie hodnoty jedného do iného. Keď priraďujete hodnotu jedného údajového typu k druhému, mali by ste si uvedomiť kompatibilitu údajového typu. Ak sú kompatibilné, potom vykoná konverziu automaticky známu ako Automatická konverzia typu a ak nie, potom je potrebné ich výslovne obsadiť alebo previesť.

V Jave existujú dva typy castingu:



  • Rozšírenie castingu (automaticky) - Ide o prevod menšieho dátového typu na väčšiu veľkosť.

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

  • Zúženie liatia (manuálne) - To zahŕňa prevod väčšieho dátového typu na menší typ.



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

    tabuľka v html tabuľky

Teraz sa pozrime na podrobnosti typov odlievania typov.

Rozšírenie odlievania

Tento typ prenosu sa uskutoční, keď sa automaticky prevedú dva typy údajov. Je tiež známa ako implicitná konverzia. To sa stane, keď sú dva typy údajov kompatibilné, a tiež keď im priradíme hodnotu menšieho na väčší dátový typ.

Napríklad, Číselné dátové typy sú navzájom kompatibilné, ale nie je podporovaná automatická konverzia z číselného typu na char alebo boolean. Char a boolean tiež nie sú navzájom kompatibilné. Teraz napíšeme logiku pre casting implicitného typu, aby sme pochopili, ako to funguje.

verejná trieda Konverzia {public static void main (String [] args) {int i = 200 // automatická konverzia typu long l = i // automatická konverzia typu float f = l System.out.println ('Int value' + i) System.out.println ('Dlhá hodnota' + l) System.out.println ('Float value' + f)}}

Výkon:

Int hodnota 200 Dlhá hodnota 200 Float value 200.0

Poďme teraz ďalej a pochopme, ako funguje Explicit Type Casting.

Zúženie castingu

V takom prípade, ak chcete priradiť hodnotu väčšieho dátového typu k menšiemu dátovému typu, môžete vykonať Explicitné odlievanie typu alebo zúženie. Je to užitočné pre nekompatibilné typy údajov, kde nie je možné vykonať automatickú konverziu.

Poďme to pochopiť pomocou príkladu.

// Program Java na ilustráciu konverzie explicitného typu verejná trieda Zúženie {public static void main (String [] args) {double d = 200.06 // explicitné obsadenie typu long l = (long) d // explicitné obsadenie typu int i = (int ) l System.out.println ('hodnota dvojitého dátového typu' + d) // stratená zlomková časť System.out.println ('dlhá hodnota dátového typu' + l) // zlomková časť stratená System.out.println ('Int Hodnota dátového typu '+ i)}}

Výkon:

Dvojitá hodnota dátového typu 200,06 Dlhá hodnota dátového typu 200 Int Hodnota dátového typu 200

Teraz, keď viete, ako vykonať castovanie typu Explicit, poďme ďalej a pochopme, ako je možné vykonať explicitné obsadenie vo výrazoch Java.

Explicitné prenášanie typu vo výrazoch

Keď hodnotíte výrazy, výstup sa automaticky aktualizuje na väčší dátový typ operandu. Ak ale výsledok uložíte do ľubovoľného menšieho dátového typu, vygeneruje sa chyba kompilácie, kvôli ktorej musíme napísať cast cast.

Príklad:

// Program Java na ilustráciu typu casting int do bajtu verejná trieda ExplicitTest {public static void main (String args []) {byte b = 70 // typ casting int do bajtu b = (byte) (b * 2) System.out .println (b)}}

Výkon:

140

Poznámka: V prípade jednotlivých operandov sa výsledok prevedie na int a potom sa zodpovedajúcim spôsobom typuje.

Takže to bolo všetko o explicitnom odlievaní typov v Jave.Týmto sa dostávame na koniec tohto článku. JaDúfam, že ste to našli poučné. Ak sa chcete dozvedieť viac, môžete si pozrieť naše tiež.

Pozrite sa na autor: Edureka, dôveryhodná online vzdelávacia spoločnosť so sieťou viac ako 250 000 spokojných študentov rozmiestnených po celom svete. Sme tu, aby sme vám pomohli na každom kroku na vašej ceste. Okrem otázok týkajúcich sa tohto rozhovoru pre jazyk java vymyslíme učebný plán určený pre študentov a profesionálov, ktorí sa chcú stať vývojármi Java.

čo je keyerror v pythone

Máte na nás otázku? Uveďte to, prosím, v sekcii komentárov v tomto článku „Typ Casting in Java“ a my sa vám ozveme čo najskôr.