begin process at 2010 02 09 22:03:43
  Trouver un code source :
 
dans
 
Accueil > Forum > 

JAVA / J2EE / J2ME

 > 

Divers

 > 

Débutant(e)

 > 

java


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

java

mercredi 29 avril 2009 à 11:40:38 | java

limalima

Bonjour,
j'ai un code dont je ne comprends pas le résultat:

public

staticvoid main(String [] args) {

booleanx = true;

booleany = false;

short z = 42;

if((x = false) || (y = true)) z++;//ici normalement comme la condition de if n'est pas verifié, alors z n'est pas incrémentée

if((z++ == 44) || (++z == 45)) z++;//ici on a incrémenté deux fois la valeur de z, donc z=44

System.

out.println("z = " + z);

}
le résulatat est 46!!! alors que on a incrémenté z deux fois, ce qui fait 44

merci de me repondre

mercredi 29 avril 2009 à 12:11:22 | Re : java

Twinuts

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Salut,

le if de x ou y n'est pas un test mais une affectation regarde bien c'est :
if((x = false) || (y = true)) z++; // z vaut 43 ici
et non :
if((x == false) || (y == true)) z++;

par la suite  il y a un test qui est fait avec une double incrémentation (le z++ == 44 incrémente bien z et le ++z == 45 également) donc 43 + 2 = 45 plus 1 avec l'incrémentation suite au if((z++ == 44) || (++z == 45)) qui est vrai donc z vaut bien 46



------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
mercredi 29 avril 2009 à 12:13:54 | Re : java

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Salut,

Pour éviter ce genre de bug assez fréquent si on est étourdi et qu'on ne relis pas son code, ne faites pas : if (test == true) mais : if (true == test) ainsi le compilateur le dira tout de suite s'il manque un égal !

Ou plus court pour un booléen : if(test)


Cette discussion est classée dans : java, true, false, ici, if


Répondre à ce message

Sujets en rapport avec ce message

java [ par hanano02 ] desole mes amis telement j'ai ecrit le message rapidement j'ai oublier de vous dise bonjour tous le monde et j'aimerai bien que vous m'aider pour reso ecrire un champ dans deux fichiers différents [ par yarpal ] Bonjour à tous, Ci dessous la Classe que j'ai écrit. Le but est d'extraire certains champs d'un grand tableau sachant qu'un des champs doit se retrouv probleme implementation compareTo [ par Julien39 ] Ce message fait suite a celui-ci http://www.javafr.com/infomsg.aspx?ID=1278511J'essaye d'implémenter la fonction compareTo() mais, eclipse détecte une NullPointerException [ par stngn ] Salut à tous.Je suis étudiant en 4ième annéeinformatique.C'est mon premier post alors ne soyez pas tres dur avec moi ok? :);Bon, j'ai un problème.Je t java [ par limalima ] Bonjour à tous,j'ai un bout de code que je n'ai pas compris, et surtout:  for(int x=0; x<10; x++, java desktop application [ par populaire2008 ] Salamou 3alikom,Dans le cadre de mon projet logiciel,j'utilise Java(swing)/Mysql,et je suis le tutorial de Patrick Keegan au site de sun "http://www.n Pb: mise à jour plugin java pour firefox en html [ par Ronnymoi ] Bonjour à tous ceux qui lirint ce petit mesage!Premierement j'espere que je serais clair.Alors le probleme est que j'ai realiser une applet java que j ecriture de #if USE en java [ par moooonaaaa ] salem, j'ai l'enum suivant en c++ et je veux le faire en java. Citation: typedef enum { ACL_NONE, ACL_SRC_IP, ACL_DST_IP, ACL_MY_IP, ACL_SRC ajout [ par jspimen ] bonjour; voici mon code qui permet d'ajouter des données dans une base Mysql <%@ page import= JDBC+ Interface graphique [ par JJohnny ] Salut tout le monde,J'ai un serieux problème, qui m'a bloqué ça fait 10 jours déjà...Je tiens à ce que vous sachiez que j'ai essayé mais finalement je


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,718 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales