programmation en java

programmation en java - Java - Programmation

Marsh Posté le 14-05-2012 à 19:44:35    

bonjour  
j'ai une petite quetion à propos du langage java ,tout le monde  sait que la structure du boucle for en  java est la suivant for(condition initial;condition d'arret;le pas tde de la boucle) mais en fait en cherchant des cours sur les listes chainées j' ai trouvé se ci    for (; c != null; b = c, c =c.suivant)qui me parait  un peut bizarr
surtout la vigule entre b=c et c=c.suivant
est ce que quelqu'un peut me dire quel est le role de cette virgule ?
 
cordialement
 merci

Reply

Marsh Posté le 14-05-2012 à 19:44:35   

Reply

Marsh Posté le 15-05-2012 à 13:10:30    

en effet comme on a
 

Code :
  1. for (compteur; condition; instruction1, instruction2, instruction3) {
  2. liste d'instructions
  3. }


 
dans ton cas tu deux instructions qui sont faites a chaque fin de boucle (b = c) ET (c = c.suivant)
 
les instructions sont séparées par une , et exécutée de gauche a droite.
si tu prends le programme suivant :
 

Code :
  1. public class Main {
  2.     /**
  3.      * @param args the command line arguments
  4.      */
  5.     public static void main(String[] args) {
  6.           int c=0;
  7.   int b=0;
  8.   int a=0;
  9.   for (; c < 10 ; b = c+10, c++ , a--)
  10.   {
  11.    System.out.println("valeur a= "+a);
  12.                   System.out.println("valeur b= "+b);
  13.                   System.out.println("valeur c= "+c);
  14.                   System.out.println();
  15.   }
  16.     }
  17. }


 
tu obtiens :

Citation :

run:
valeur a= 0
valeur b= 0
valeur c= 0
 
valeur a= -1
valeur b= 10
valeur c= 1
 
valeur a= -2
valeur b= 11
valeur c= 2


 
le premier coup a, b et c sont = à 0 tout est normal
et ensuite les instructions s’exécutent les unes apres les autres :
b = 0+10 puis c++(=1) puis a--(=-1)

Reply

Sujets relatifs:

Leave a Replay

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