Que signifie -- > en Java? [dupliquer]
Cette question a déjà une réponse ici:
- Quel est l'opérateur "> > " en C++? 21 réponses
for (int i = 99; i --> 0;) {
System.out.println(i);
}
Code ci-Dessus fonctionne, et a exactement le même résultat de
for (int i = 99; i >= 0; i--) {
System.out.println(i);
}
Que signifie la syntaxe "> > " à l'origine en Java? Étant donné que les moteurs de recherche presque accessibles interdisent les caractères spéciaux, je n'arrive pas à trouver la réponse.
6 answers
-->
n'est pas un nouvel opérateur.
, Il est juste un conjonction des opérateurs --
et >
.
Vous comparez d'abord, puis décrémentez la variable.
C'est-à-dire
i --> 0
Devient efficace
i > 0; //Compare
i--; //and decrement
i --> 0
signifie i-- > 0
, i est decrememnted et la valeur précédente de i
est par rapport à 0
.
-->
n'est pas un opérateur. C'est juste la cocaténation de --
et >
.
Donc quand vous écrivez
i-->0
cela signifie comparer la valeur de i
, puis décrémenter il.
Donc, pour une meilleure lisibilité, il peut être écrit comme
for (int i = 99; (i--)> 0;) {
Notez ici que le lieu d'incrément/décrément n'est pas apparu. Il décrémente donc i
de 1 et le compare à 0.
La comparaison vérifie si i
est supérieur à 0 après la décrémentation effectuée.
Il n'y a aucun opérateur -->
c'est simplement i > > 0
d'abord, il fera des décréments post.
ensuite, il vérifiera la condition et comparera avec 0
si c'est plus grand que ne le sont pas.
Rappelez-vous que la valeur de i ne sera pas modifiée pendant la comparaison (je serai 1) après la comparaison, elle décrémente la valeur (je serai maintenant 0) et imprime.
i-- > 0
i--
est post décrémentation
>
est supérieur à
for (initializatin; boolean expression;updation){
}
Vous avez donc initialisé et mais vous avez vérifié l'expression booléenne et mis à jour en une étape pour que cela fonctionne.