Comment java convertit int boolean
Quand je convertir:
int B=1;
boolean A=B;
Il donne error: Incompatible types, ce qui est vrai
Mais quand j'ai écris ce code:
int C=0;
boolean A=C==1;
il donne de faux
alors que si je change la valeur de C à 1, il donne le vrai.
Je ne comprends pas comment le compilateur est en train de faire.
OriginalL'auteur Adnan | 2015-07-09
Vous devez vous connecter pour publier un commentaire.
Le compilateur donne d'abord C un zéro.
Maintenant L'instruction d'Affectation,
Nous savons que l'instruction d'affectation évalue la partie droite de la première et la donne à gauche.
La partie droite
==> C == 1
Ici, C'est une expression qui s'évalue à
true
oufalse
. Dans ce cas, il est faux que lec is 0.
De sorte que le R. H. S est faux.
Maintenant ce sera affectée à la L. H. S A.
Comme
A
est un booléen, c'est un droit énoncéOriginalL'auteur Uma Kanth
C==1
est une expression dont le résultat estboolean
(c'est l'opérateur de comparaison). Il retournetrue
siC
est égal à 1 etfalse
autrement.Donc
boolean A=C==1;
est une assignation valide d'unboolean
de la valeur à unboolean
variable.OriginalL'auteur Eran
Il vérifie
c==1
première et le résultat se attribué àA
.comme
C
n'est pas 1, donc valeur de l'expression est de la fausse, qui est attribuée àA
OriginalL'auteur Jayaram