Curs Java incepatori C3

label Cursuri autorenew 29 Sep 2025, 16:55
Conversii implicite
Daca, intr-o operatie binara, operanzii au tipuri diferite de cel al rezultatului, atunci, inainte de a se efectua operatia respectiva, se face conversia valorilor operanzilor, astfel incat ele sa aiba acelasi tip cu rezultatul. Daca aceasta conversie se poate face fara pierdere de informatie, ea se face in mod implicit (automat), deci fara a fi indicata explicit de catre programator. Atragem atentia ca ceeace se converteste nu este, de fapt, valoarea operandului propriuzis (acesta ramane nemodificat) ci o valoare temporara a operandului, cu care acesta intra in calcul la efectuarea operatiei respective.

Exemple
(1) Fie v1 si v2 doua variabile de tip byte sau short. Operatia binara b1+b2 are, conform regulii cunoscute, rezultat de tipul int. In consecinta, inainte de a se efectua aceasta operatie, ambii operanzi vor fi conbertiti la tipul int. Aceasta inseamna ca se creaza doua valori temporare de tip int, egale numeric cu cele ale operanzilor respectivi, si asupra acestora se efectueaza operatia. Conversiile sunt posibile fara pierdere de informatie, intrucat reprezentarea interna (in binar) a tipului int este mai lunga decat a tipurilor byte si short.