对于循环

for (int i = 0; i < 100; i++) {
    System.out.println(i);
}

for 循环的三个组成部分(由 ; 分隔)是变量声明/初始化(此处为 int i = 0),条件(此处为 i < 100)和增量语句(此处为 i++)。变量声明就像在第一次运行时放在 { 内部一样完成。然后检查条件,如果它是 true,循环体将执行,如果是 false,循环将停止。假设循环继续,主体将执行,最后当到达 } 时,增量语句将在再次检查条件之前执行。

如果循环只包含一个语句,则花括号是可选的(你可以使用分号一行)。但是,总是建议使用大括号来避免误解和错误。

for 循环组件是可选的。如果你的业务逻辑包含其中一个部分,则可以省略 for 循环中的相应组件。

int i = obj.getLastestValue(); // i value is fetched from a method
    
for (; i < 100; i++) { // here initialization is not done
    System.out.println(i);
}

for (;;) { function-body } 结构等于 while (true) 循环。

Nested For Loops

任何循环语句都有另一个循环语句,称为嵌套循环。循环具有更多内循环的相同方式称为’嵌套循环’。

    for(;;){
        //Outer Loop Statements
        for(;;){
            //Inner Loop Statements
        }
        //Outer Loop Statements
    }

可以证明嵌套 for 循环可以打印三角形数字。

for(int i=9;i>0;i--){//Outer Loop
    System.out.println();
    for(int k=i;k>0;k--){//Inner Loop -1
        System.out.print(" ");
    }
    for(int j=i;j<=9;j++){//Inner Loop -2
        System.out.print(" "+j);
    }
 }