Ich habe mal eine Frage zu for Schleife bei Java mit arrays (f[ ]). ich habe folgende schleife:
for (int k=0; k<7; k++) { f[k]=k*k;}
die Frage ist, wann wird das k++ gerechnet. bevor der pc das in den geschweiften Klammern ausführt oder dann nach? Also ob beim Ersten Durchlauf jetzt 0<7; 0+1=1; und dann f[1]=1*1 gerechnet wird oder 0<7 f [0]=0*0 und dann 0+1=1?
Anonym2009-05-28T09:07:07Z
Beste Antwort
In Java (wie übrigens auch bei C und C++) gibt es denn Operator ++ vor und nach dem Variablenbezeichner.
Beispiel: int i = 0; int j = i++; // j = 0; - oder int i = 0; int j = ++i; // j = 1;
In for-Schleifen dagegen wird die Operation immer (!!) erst nach dem jeweiligen Schlefendurchlauf ausgeführt (beide Varianten wären also gleichwertig), während es in while-Schleifen einen Unterschied machen würde (++i oder i++);
In Deinem Beispiel würden also folgende Operationen durchgeführt: f[0] = 0 * 0; f[1] = 1 * 1; f[2] = 2 * 2; .... f[6] = 6 * 6;
@perihell: Deine Aussage stimmt leider nicht in einer for-Schleife. Hier wird die Operation immer erst nach dem ersten Schleifendurchlauf ausgeführt, egal ob dass ++ vor oder hinter der zu inkrementierenden Variable steht. Lass Dir das von jemandem sagen, der den ganzen Tag nichts anderes macht, als in Java zu programmieren!