Yahoo Clever wird am 4. Mai 2021 (Eastern Time, Zeitzone US-Ostküste) eingestellt. Ab dem 20. April 2021 (Eastern Time) ist die Website von Yahoo Clever nur noch im reinen Lesemodus verfügbar. Andere Yahoo Produkte oder Dienste oder Ihr Yahoo Account sind von diesen Änderungen nicht betroffen. Auf dieser Hilfeseite finden Sie weitere Informationen zur Einstellung von Yahoo Clever und dazu, wie Sie Ihre Daten herunterladen.

Frage zur for Schleife in Java?

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?

3 Antworten

Bewertung
  • Anonym
    vor 1 Jahrzehnt
    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!

  • vor 1 Jahrzehnt

    k++ gibt erst den Wert zurück und zählt dann hoch.

    ++k (das geht auch) würde erst hochzählen und dann den Wert zurückgeben (in deinem Beispiel also 1)

  • vor 1 Jahrzehnt

    Hallo,

    also bei PHP würde k NACH dem ersten durchlauf hochgezählt, so dass in Deinem Beispiel 7 Läufe stattfinden würden...

    Denke bei Java wird es gleich sein...

    Gruss Dr.R.

Haben Sie noch Fragen? Jetzt beantworten lassen.