Les jetons sont les caractères individuels et les chaînes qui ont un sens.
Tokens, tel que défini dans Chapter 3: Lexical Structure de The Java Language Specification, sont:
identifiers (§3.8), keywords (§3.9), literals (§3.10), separators (§3.11), and operators (§3.12) of the syntactic grammar.
Les jetons dans la même ligne sont:
"(", "fitness", ">", "g.fitness", ")", "?", "return", "1", ":", "return", "-1", ";"
(également Whitespace dénombre, mais je les ai omis de la ci-dessus.)
Les étiquettes en Java sont utilisées pour le contrôle du débit dans un pr ogram, et est un identifiant, suivi d'un deux-points. Un exemple d'étiquette est hello:
.
Les étiquettes sont utilisées conjointement avec continue
et break
déclarations, pour spécifier la structure de contrôle à continue
ou à break
.
Il y a plus d'informations sur les déclarations étiquetées dans Section 14.7 de The Java Language Specification.
Le problème est ici avec la déclaration return
:
(fitness>g.fitness) ? return 1 : return -1;
^^^^^^
Il y a un :
immédiatement après la return 1
, ce qui fait penser au compilateur qu'il est censé être une étiquette là. Cependant, le return 1
est une instruction en soi, par conséquent, il n'y a aucun identificateur d'étiquette, donc le compilateur se plaint qu'il attendait une étiquette, mais il n'a pas pu trouver une étiquette correctement formée.
(fitness>g.fitness) ? return 1 : return -1;
^^^^^^^^ ^
statement label without an identifier