index de tableau et incrément sur la même ligne
quick basic question, comment android/java gérer les lignes de code suivantes:
int[] someArray = new int[5];
int index = 0;
int result;
result = someArray[index++];
indice qui serait répercuté sur le résultat? il va incrémenter l'index d'abord, puis passer à someArray[1]? ou passer la valeur d'origine de l'indice de someArray[0] et puis incrémenter l'index?
source d'informationauteur godMode
Vous devez vous connecter pour publier un commentaire.
De http://download.oracle.com/javase/tutorial/java/nutsandbolts/op1.html:
De sorte que vous aurez
someArray[0]
.En Java et les langages similaires, à l'aide de
index++
seulement incrémenter la valeur après l'expression a été évaluée. Si vous voulez incrémenter avant d'utiliser la variable, utilisez++index
.Dans ce cas, il utilisera la valeur d'origine de
index
pour obtenirresult
et augmenter sa valeur à 1.index++
retourneindex
et l'incrémente de 1. Donc, il va faireresult = someArray[0]
et puis définissezindex
à 1.En revanche,
++index
ferait l'incrément et ensuite passer la valeur incrémentée. Donc si vous voulezresult
ensemble desomeArray[1]
dans le code ci-dessus, vous pouvez utiliser++index
.Que quelqu'un d'autre a dit, s'il vous plaît ne pas utiliser ce type de syntaxe. Au lieu de cela, s'il vous plaît écrire
Il va passer
someArray[0]
et puis incrémenterindex
Il n'est pas dépendant d'android, la règle générale est:
index++ signifie évalue l'index, puis l'incrémente, tandis que ++, l'indice de l'incrément alors évaluer
1.) Éviter de faire ce genre de chose, en fait, avec le code, je l'ai revue, je demander aux gens de ne jamais faire cela.
Pas spécifiquement à l'aide ++, mais le fait que tu le fais dans le cadre de l'évaluation de quelque chose d'autre. Généralement, il ne vous en coûtera pas le compilateur aucun supplément pour avoir cette augmentation comme une déclaration séparée, et les mettre inline comme cela signifie que la prochaine personne à venir le long de a à prendre une seconde pour évaluer l'incrément eux-mêmes.
Je sais que c'est mineur, et c'est un peu tâtillon, mais des trucs comme cela coûte du temps supplémentaire lors de l'examen du code, il est facile de rater lors de la numérisation, etc. Et il vous fait gagner de rien, mais un peu plus de frappes de touches, ce qui, par rapport au code clairity et la lisibilité n'est pas la peine de l'OMI.
2), Vous obtiendrez someArray[0], et après de passer à la ligne suivante, vous aurez votre indice incrémenté.