différence entre for(;;) et while(true)

différence entre for(;;) et while(true) - Java - Programmation

Marsh Posté le 10-12-2012 à 15:51:08    

Bonjour à tous!  
 
En recherchant un écouteur de modification de fichier, je suis tombé sur http://docs.oracle.com/javase/tuto [...] ation.html.  
 
J'ai vu dans ce code une boucle

Code :
  1. for(;;) {}

 :ouch:  
 
Après avoir testé, je me rend compte que c'est une boucle infinie. Est-ce que quelqu'un connais cette syntaxe ? Si oui, quelle est la différence entre écrire un while(true) classique et un for( ;; ) ?

Reply

Marsh Posté le 10-12-2012 à 15:51:08   

Reply

Marsh Posté le 10-12-2012 à 15:55:58    

ça s'écrit pas pareil :o


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 10-12-2012 à 16:11:26    

freeskate63 a écrit :

quelle est la différence entre écrire un while(true) classique et un for( ;; ) ?


5 caractères?

Message cité 1 fois
Message édité par masklinn le 10-12-2012 à 16:11:47

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box, and replicate and expand beyond their wildest dreams by throwing away the limits imposed by overbearing genetic r
Reply

Marsh Posté le 10-12-2012 à 16:51:33    

kadreg a écrit :

ça s'écrit pas pareil :o


 

masklinn a écrit :


5 caractères?


 
Effectivement c'est la même chose, même au niveau du bytecode pondu!  
 
(j'ai trouvé une réponse ici http://stackoverflow.com/questions [...] -whiletrue )

Reply

Marsh Posté le 22-12-2012 à 22:37:29    

Aucune, si ce n'est que l'un est plus expressif que l'autre.

Reply

Marsh Posté le 24-12-2012 à 19:20:50    

certains compilateur n'accepte pas l'expression while(true),  
et mettent systèmatiquement un warning sous l'expression quand elle n'est pas enlevé à l'optimisation.
Ce n'est pas le cas pour l'expression for(;;) qui est mieux accepté, bien qu'elle remplisse le même rôle.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed