Ce este Typecasting în Java și cum funcționează?



Distribuirea de tipuri în Java este atribuirea unei alte tipuri de date primitive. În acest articol, vă voi spune despre diferite tipuri de conversie de tip.

Programarea se joacă cu date. În , există multe tipuri de date. De cele mai multe ori, în timpul codării, este necesar să schimbați tipul de date pentru a înțelege procesarea unei variabile și aceasta se numește Type Casting. În acest articol, voi vorbi despre elementele fundamentale ale castingului de tip în Java.

Subiectele de mai jos sunt tratate în acest articol:

Să începem!





comutați majuscule în exemple de programe Java

Ce este Type Casting?

Distribuirea de tipuri nu este altceva decât atribuirea unei valori de una altcuiva. Când atribuiți valorii unui tip de date altuia, ar trebui să fiți conștient de compatibilitatea tipului de date. Dacă sunt compatibile, atunci va efectua automat conversia cunoscută sub numele de Conversie automată de tip iar dacă nu, atunci trebuie să fie exprimate sau convertite în mod explicit.

Există două tipuri de casting în Java după cum urmează:



  • Lărgirea turnării (automat) - Aceasta implică conversia unui tip de date mai mic la un tip de dimensiune mai mare.

    octet -> scurt -> caracter -> int -> lung -> plutitor -> dublu

  • Distribuție îngustă (manual) - Aceasta implică conversia unui tip de date mai mare într-un tip de dimensiune mai mică.



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

Acum, să intrăm în detaliile tipurilor de turnare de tip.

Lărgirea turnării

Acest tip de turnare are loc atunci când două tipuri de date sunt convertite automat. Este, de asemenea, cunoscut sub numele de conversie implicită. Acest lucru se întâmplă atunci când cele două tipuri de date sunt compatibile și, de asemenea, atunci când atribuim valoarea unui mai mic la un tip de date mai mare.

De exemplu, Tipurile de date numerice sunt compatibile între ele, dar nu este acceptată nicio conversie automată de la tipul numeric la caracter sau boolean. De asemenea, char și boolean nu sunt compatibile între ele. Acum să scriem o logică pentru castingul de tip implicit pentru a înțelege cum funcționează.

public class Conversion {public static void main (String [] args) {int i = 200 // conversie automată tip lung l = i // conversie automată tip float f = l System.out.println ('Valoare int' + i) System.out.println („valoare lungă” + l) System.out.println („valoare float” + f)}}

Ieșire:

așteptați și anunțați în java
Valoare int 200 Valoare lungă 200 Valoare float 200,0

Acum, să mergem mai departe și să înțelegem cum funcționează Distribuirea de tip explicit.

Distribuție îngustă

În acest caz, dacă doriți să atribuiți o valoare de tip de date mai mare unui tip de date mai mic, puteți efectua Distribuție de tip explicit sau îngustarea. Acest lucru este util pentru tipurile de date incompatibile în care nu se poate face conversia automată.

Să înțelegem acest lucru cu ajutorul unui exemplu.

// Program Java pentru a ilustra conversia explicită de tip public class Reducere {public static void main (String [] args) {double d = 200.06 // casting de tip explicit long l = (lung) d // casting de tip explicit int i = (int ) l System.out.println ('Valoare tip dublu de date' + d) // parte fracționată pierdută System.out.println ('Valoare tip lungă de date' + l) // parte fracțională pierdută System.out.println ('Int Valoarea tipului de date '+ i)}}

Ieșire:

Valoare dublă tip date 200,06 Lungă valoare tip date 200 Int Valoare tip date 200

Acum, că știți cum să efectuați castingul de tip explicit, să mergem mai departe și să înțelegem cum se poate efectua castingul explicit pe expresiile Java.

Distribuție explicită de tip în expresii

Când evaluați expresii, ieșirea este actualizată automat la tipul de date mai mare al operandului. Dar dacă stocați acest rezultat în orice tip de date mai mic, acesta generează o eroare de timp de compilare, din cauza căreia trebuie să tastăm cast ieșirea.

Exemplu:

// Program Java pentru a ilustra tipul de 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)}}

Ieșire:

140

Notă: În cazul operanzilor simpli, rezultatul se convertește în int și apoi este tipat în mod corespunzător.

marionetă vs ansible vs bucătar

Așa că totul a fost vorba despre Distribuirea de tipuri explicite în Java.Cu aceasta, ajungem la sfârșitul acestui articol. Eusper că ți s-a părut informativ. Dacă doriți să aflați mai multe, puteți consulta pagina noastră de asemenea.

Verificați de Edureka, o companie de învățare online de încredere, cu o rețea de peste 250.000 de elevi mulțumiți răspândiți pe tot globul. Suntem aici pentru a vă ajuta cu fiecare pas din călătoria dvs., pentru a deveni o afară de întrebările de interviuri java, venim cu un curriculum care este conceput pentru studenți și profesioniști care doresc să fie un dezvoltator Java.

Ai o întrebare pentru noi? Vă rugăm să menționați acest lucru în secțiunea de comentarii a acestui articol „Scriere tip în Java” și vă vom contacta cât mai curând posibil.