2009-08-06 2 views

Antwort

14

Java hat ein Schlüsselwort, für, aber es kann auf zwei verschiedene Arten verwendet werden:

/* classical, C/C++ school */ 
for (int i = 0; i < N; i++) { 

} 

für jeden Stil-:

// more object oriented, since you use implicitly an Iterator 
// without exposing any representation details 
for (String a : anyIterable) { 

} 

es für jede Art arbeitet, die Iterable<String> wie List<String> implementiert, Set<String> usw.

Die letztere Form auch fürArrays arbeitet, see this question for a more "phisophical approach" .

3

Die folgende zeigt die Syntax eines Java-for-Schleife (von the for loop in Java):

class Hello { 
    public static void main (String args[]) { 

    System.out.print("Hello "); // Say Hello 
    for (int i = 0; i < args.length; i = i + 1) { // Test and Loop 
     System.out.print(args[i]); 
     System.out.print(" "); 
    } 
    System.out.println(); // Finish the line 
    } 
} 

die Wiki-Eintrag auf For loop

+0

+1 für das Demonstrieren statt einfach zu verknüpfen – mnuzzo

+0

Ich bin interessiert, warum Sie i = i + 1 statt nur i ++ getan haben. War es nur, dass du ausschweifst oder hast du einen anderen Grund? Das habe ich schon lange nicht mehr gesehen. – MattC

+0

@MattC - Hat es nicht geschrieben, nur griff es von der Website verwiesen. –

1

Der einzige Unterschied zwischen Java for-Schleife Syntax und C die Sie sehen, auch ist kann Variablen im Initialisierungsfeld (1. Abschnitt) der Schleife deklarieren

+0

IIRC C99 erlaubt Deklarationen wie folgt: for (int i = ...) – dfa