初级Java: for 循环详解及实战小项目(星号输出菱形,各种三角形)----以初学者的角度分析阐述

语法:

for(初始操作语句;终止操作条件语句;每次循环后的操作语句){

循环体;

流程控制:

(1)单层for循环

for(Statement A; Statement B; Statement C){
Statement D;
Statement E;
}

执行顺序如下:

|Statement A (该语句只会执行一次)

| |判断是否满足Statement B

| | |若满足

| | | |执行 Statement D, Statement E

| | | |Statement C

| | | |再一次判断是否满足Statement B

| | |若不满足, 则终止循环。

(2)for循环嵌套

Outer:
for(Statement A; Statement B; Statement C){
Inner:
for(Statement X; Statement Y; Statement Z){
Statement M;
Statement N;
}
}

执行顺序如下:

|Outer循环:Statement A (该语句只会执行一次)

| |判断是否满足Statement B

| | |若满足

| | | |执行 Inner循环: Statement X (本语句执行次数为Outer循环的次数)

| | | |判断是否满足Statement Y

| | | | |若满足

| | | | | |执行 Statement M, Statement N

| | | | | |执行 Statement Z

| | | | | |再次判断Inner循环 是否满足Statement Y

| | | | |若不满足, 退出Inner循环。

| | | | | |执行Statement C

| | | | | |再次判断Outer循环 是否满足Statement B

| | |若不满足, 则终止Outer循环,即整个循环。

示例:

for( int i = 0; i < 5; i++){
System.out.println(“Hello World”);
}

此示例中:

int i = 0 为初始操作语句。

i < 100 为终止操作条件语句。(可以理解为判断语句,判断是否继续循环)

i++ 为每次循环后的操作语句。

即:

int 变量i的循环初始值为0, 终止条件为小于100, 每次循环后i值自增。

控制台显示结果:

Hello World

Hello World

Hello World

Hello World

Hello World

与while循环对比:

某些情况下for循环与while循环可以相互转化。

for循环:

--------------------------------------------------

for( int i = 0; i < 5; i++){

System.out.println(“Hello World”);

}

while循环:

--------------------------------------------------

int i = 0;

while(i<5){

System.out.println(“Hello World”);

i++

}

即:

for(Statement A; Statement B; Statement C){

Statement D;

Statement E;

}

可以转换为:

Statement A;

while(Statement B){

Statement D;

Statement E;

Statement C;

}

反之亦然。

死循环:

while(true){

System.out.println(“*”);

}

for( ; ;){

System.out.println(“*”);

}

以上两种效果是一样的。

需要注意:

for循环小括号内语句之间的分隔符为”;”

for循环,包括所有java中的符号应为英文输入法下的符号,否则编译会出错。

大括号内的循环体是每次循环所进行操作的语句。

最外层循环的初始语句会被执行一次。

项目1:

输出效果:

1

1 2

1 2 3

1 2 3 4

1 2 3 4 5

1 2 3 4 5 6

--------------------------------------------------------------------

代码实现:

package blog.austin.loop;

public class Test1{

public static void main(String[] args) {

for(int i = 1; i <= 6; i++){

for(int j = 1; j <= i; j++){

System.out.printf("%3d", j);

}

System.out.println();

}

}

}

代码解析:

5-10行为外层for循环,6-8行为内层for循环。

外层循环控制输出的行数,可以将i<=6中的6更改为想要的输出行数。

内层循环控制每行输出的个数,j<=i表示每行的数字输出个数与当前行数相同。

printf: 格式化输出 (f代表format)。

System.out.printf("%3d", j); 意为将 j 格式化输出,每个j占3个字符

内部循环结束后,即完整一行输出后,System.out.println()的功能为换行。