je commence à peine la programmation en java, venant du python j'ai pris l'habitude te taper des trucs du genre:
CODE |
a = "saut" b = 1 if (a == "salut" and b == 1): print "test" |
CODE |
class test { public static void main(String[] arguments) { String a = "saut"; int b = 1; if (a == "salut" and b == 1) { System.out.println("test"); } } } |
QUOTE |
test.java [20:1] ')' expected if (a == "salut" and b == 1) { ^ test.java [23:1] illegal start of expression } ^ test.java [22:1] ';' expected } ^ 3 errors Errors compiling test. |
et avec "&&" à la place de "and" ?
QUOTE |
(...) Les expressions booléennes De même qu'il existe des expressions qui calculent des résultats numériques, il en existe qui calculent des résultats booléens (c'est à dire un résultat pouvant être interprété soit comme vrai, soit comme faux). Il existe donc des opérateurs booléens nécessaires à la construction des ces expressions. Nous y trouvons notamment des prédicats (autre façon de nommer ces opérateurs) de comparaison numérique (==, il en existe autant que de types numériques et des conversions peuvent exister), de différenciation (!=), d'infériorité (strictes (<) ou non (<="))," de supériorité (> et >=). Nous trouvons aussi le ou logique (||) et le et logique (&&) qui prennent tous deux des opérandes booléennes. Il existe encore l'opérateur unaire (qui prend uniquement une seule opérande) de négation (!). (...) |
merci beaucoup (j'y pensais plus à celui là) ...
Edit: je viens de vérifier et ça marche ...
Heu y'a un autre problème :
a == "hello"
teste si la référence "a" à la même valeur (donc même adresse en mémoire) que la référence à chaîne "hello". Par un subtil jeu interne de la JVM (les fameuses String "intern") il arrive que le test fonctionne. Mais bien souvent, ça foirera !
Il faut donc faire :
if (a.equals("hello"))
ou encore mieux pour éviter les NPE (NullPointerException) :
if ("hello".equals(a))
Et voilà ) Et le and c'est bien le &&, le or c'est le || et le not, c'est le ! (les &, <<, >> et | restent les mêmes)
merci, ça rulez maintenant, mais j'ai à nouveau une question:
on peut pas faire:
CODE |
print "test\n" * 20 |
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)