Code de test:
int[] test = {0, 1, 2, 3}; System.out.println("test1[3] ++== 0 is " + (test[3] ++== 0));
Résultat:
test1 [3] ++ == 0 est faux
Donc ça doit être une sorte d'opérateur logique mais je n'ai pas pu trouver de documentation. La recherche sur Internet n'a donné aucune référence.
Veuillez aider? Merci d'avance.
5 Réponses :
++
et ==
sont deux opérateurs indépendants. ++
post-incrémente la valeur de test [3]
, puis celle-ci est comparée à 0.
La manière dont le texte est présenté ressemble à un cas particulier ++ ==
, mais en fait, vous devriez le lire comme suit:
test [3] ++ == 0
Fondamentalement, le résultat du test [3] ++
sera comparé (c'est-à-dire ==
) avec 0
.
Et cela se lit essentiellement comme (test [3] = 3) == 0
, ce qui est faux.
Le ++
est un opérateur de suffixe qui est un raccourci pour value = value + 1
.
Le ==
est une comparaison entre deux valeurs.
Le texte est simplement mal formaté, c'est tout.
x ++ == y
équivaut à x ++ == y
public class Test { public static void main(String args[]) { int[] test = {0, 1, 2, 3}; System.out.println("test1[3] ++== 0 is " + (test[3] ++== 3)); } }
test1 [3] ++ == 0
équivaudra à false
.
test1 [3] ++ == 3
équivaudra à true code >.
Il s'agit de deux opérateurs - incrémenter de un ( x ++
) et tester l'égalité (x == 0)
. Vous devriez le lire comme (x ++) == 0
.
La chose la plus délicate est que l'incrément se produit après la comparaison, donc ce qui précède signifie "tester si X est égal à zéro, puis incrémenter X de un."
Puisque ++ est un post-incrément, vos actions peuvent être séparées comme suit:
false
test [3] = test [3] + 1;
Donc après cela dans le test [3]
sera la valeur 4
(test [3] ++) == 0
?