rajkumar.11:
byte a=10;
byte b=20;
b=a+b;
Dans ce cas, je dois convertir explicitement a+b
à l' octet comme ceci:
b=(byte)(a+b);
Il est la même chose avec court:
short x=23;
short y=24;
Dans le cas contraire, il donne une erreur.
Mais dans le cas des entiers, il n'est pas nécessaire de convertir explicitement:
int p=7788;
int q=7668;
p=p+q;
Cela fonctionne très bien.
Pourquoi donc?
Nous ne devons pas explicitement jeter même dans le cas d'une longue aussi.
Mureinik:
Si vous regardez le JLS 4.2.2 Opérations Entier , il indique que le résultat d'une opération numérique entre deux opérandes entiers est un int
ou une long
. Comme il n'y a pas de conversion implicite d'un int
à byte
ou short
, vous avez besoin d' un casting explicite.