Quel est le signe deux-points (:) l'opérateur de faire?
Apparemment un colon est utilisé de multiples façons en Java. Quelqu'un aurait-il l'esprit expliquant ce qu'il fait?
Par exemple ici:
String cardString = "";
for (PlayingCard c : this.list) //<--
{
cardString += c + "\n";
}
Comment écririez-vous ce for-each
boucle d'une manière différente afin de ne pas incorporer le :
?
- D'autres l'ont déjà mentionné que cette affaire est une boucle for-each. Pour une explication plus détaillée de la façon dont il fonctionne, voir java.sun.com/j2se/1.5.0/docs/guide/language/foreach.html
Vous devez vous connecter pour publier un commentaire.
Il y a plusieurs endroits du côlon est utilisé dans du code Java:
1) Saut-hors étiquette (Tutoriel):
2) condition Ternaire (Tutoriel):
3) Pour chaque boucle (Tutoriel):
4) l'Affirmation (Guide):
5) Cas dans l'instruction switch (Tutoriel):
6) Méthode de référence (Tutoriel)
assert
ne pas "fermer le programme". Il jette unAssertionError
. Il ne fera que provoquer le programme de sortie si elle est générée sur la pile de la seule non-démon fil ... et n'est pas pris.+ equals(object2:Stock) : boolean
Il n'y a pas de "colon" de l'opérateur, mais le côlon apparaît en deux endroits:
1: l'opérateur ternaire, par exemple:
Dans ce cas, l'opérateur ternaire agit comme un 'si' pour les expressions. Si bigInt est vrai, alors x obtiendrez 10000 lui est assigné. Si pas, 50. Le côlon signifie ici "autre chose".
2: Dans une boucle for-each:
Ce jeux x pour chacune des valeurs dans 'vals' à son tour. Donc, si vals contient [10, 20.3, 30, ...], alors x sera de 10 à la première itération, 20.3 sur la deuxième, etc.
Note: je dis que c'est pas un opérateur parce que c'est juste la syntaxe. Il ne peut pas apparaître dans une expression donnée par lui-même, et c'est juste de la chance que les deux pour chacun et l'opérateur ternaire utiliser un deux-points.
Juste pour ajouter, lorsqu'il est utilisé dans une boucle for-each, l' ":" peut être lu comme "dans".
Donc
doit être lu "Pour chaque nom DANS les noms de le faire ..."
En supposant que
list
est unCollection
exemple ...Je dois ajouter le pédant point que
:
n'est pas un opérateur dans ce contexte. Un opérateur effectue une opération dans une expression, et les trucs à l'intérieur de la( ... )
dans unfor
déclaration n'est pas une expression ... selon la JLS.list
est une instance deCollection
; il doit être une instance deIterable
si elle est apte à être utilisé dans le renforcement de la boucle for, le sens qu'il aura laiterator()
méthode que vous appelez dans votre réponse.Collection
. (Qui est plus probable, ce serait le cas sera un tableau ... où cela ne fonctionnera pas!)Il est utilisé dans les boucles for pour parcourir une liste d'objets.
Penser que c'est un
for <item> in <list>
en Python.Dans votre cas particulier,
this.list
est une collection (liste, ensemble, ou un tableau), et que le code attribuec
à chaque élément de la collection.Donc, si
this.list
étaient une collection {"2", "3H", "4S"}, puis lecardString
sur la fin serait cette chaîne:Que vous voyez habituellement dans le ternaire opérateur d'affectation;
Syntaxe
exemple:
qui est "équivalent" dans la nature pour le si d'autre
Autres que les exemples donnés par les différentes affiches,
vous pouvez également utiliser : pour signifier une étiquette pour un bloc que vous pouvez utiliser en conjonction avec continue et break..
par exemple:
Il affiche la chaîne de caractères"quelque chose" à trois reprises.
Depuis plus de boucles sont très similaires, Java fournit un raccourci pour réduire la
quantité de code nécessaire pour écrire la boucle appelée pour chaque boucle.
Voici un exemple de la concises pour chaque boucle:
Dans l'exemple ci-dessus, les deux-points (:) peut être lu comme "dans". Pour chaque boucle
au total peut être lu comme "pour chaque élément Entier (appelé grade), dans
quizGrades, imprimer la valeur de la catégorie."
Il est utilisé dans le nouveau court de main pour le/la boucle
et l'opérateur ternaire
Le côlon existe réellement en conjonction avec
?
est équivalent à:
Également dans la boucle for each:
littéralement:
du côlon est d'utiliser de boucle for-each,
Essayez cet exemple,