java 双重for循环_Java--for循环之双层循环嵌套 执行流程

for循环单层循环执行流程:http://blog.csdn.net/asheandwine/article/details/76383304

接下来看双层循环:

循环嵌套是指在一个循环语句中再定义一个循环语句的语法结构。

while、do.. while和for循环语句都可以进行嵌套,并且他们之间可以进行互相嵌套。最常见的是在for循环中嵌套for循环。格式如下

for (初始化表达式; 循环条件; 操作表达式)

{

执行语句

.......

for (初始化表达式; 循环条件; 操作表达式)

{

执行语句

........

}

}

实现使用 “ * ” 打印直角三角形

public class Demo1 {

public static void main(String[] args) {

int i, j;

for (i = 0; i <= 7; i++) { // 外层循环控制行数

for (j = 1; j <= i; j++) { // 内层循环打印 *

System.out.print("*"); // 注意不是 println

}

System.out.print("

"); //换行

}

}

}

该例中定义了两层 for 循环,运行结果如图所示:

5a4547098e99dffd65dfdc23f46df4f5.png

在其中定义了两层 for 循环,分别为外层循环和内层循环,外层循环用于控制打印的行数。内层循环用于打印“ * ”,每一行的“ * ”个

数逐行增加,最后输出一个直角三角形。下面分步骤进行详细地讲解,具体如下:

第一步,在第 3 行代码定义了两个循环变量 i 和 j ,其中 i 为外层循环变量,j 为内层循环变量。

第二步,在第 4 行代码将 i 初始化为 1,条件 i<=7 为true,首次进入外层循环的循环体。

第三步,在第 5 行代码将 j 初始化为 1,由于此时 i 的值为 1,条件 j<=i 为 true,首次进入内层循环的循环体,打印一个“ * ”。

第四步,执行第 5 行代码中内层循环的操作表达式 j++ ,将 j 的值自增为 2。

第五步,执行第 5 行代码中的判断条件 j<=i ,判断结果为 false,内层循环结束,执行后面的代码,打印换行符。

第六步,执行第 4 行代码中外层循环的操作表达式 i++, 将 i 的值自增为 2。

第七步,执行第 4 行代码中的判断条件 i<=7 ,判断结果为 true,进入外层循环的循环体,继续执行内层循环。

第八步,由于 i 的值为 2,内层循环会执行两次,即在第二行打印两个“ * ”,在内层循环结束时会打印换行符。

第九步,依次类推,在第 3 行会打印 3 个“ * ”,逐行递增,直到 i 的值为 8 时,外层循环的判断条件 i<=7 结果为 false ,外层循环

结束,整个程序也就结束了。

例子二:

public class Demo2 {

public static void main(String[] args) {

int i, j;

for(i=1;i<5;i++)

for(j=2;j<=i;j++)

System.out.print("#");

}

}

e417acc09250b35ed632371640a53ed4.png 程序运行后的结果是_######__。

分步骤:

T==true  F==false

第一步

i=1,i<5 (T), j=2, i<=i (F),i++

第二步

i=2,i<5 (T), j=2,j<=i (T),#,j++

j=3,j<=i (F) 结束内层循环,i++

第三步

i=3,i<5 (T), j=2, j<=i (T),#,j++

j=3,j<=i (T), # , j++

j=4,j<=i (F) 结束内层循环,i++

第四步

i=4,i<5 (T), j=2, j<=i(T),#,j++

j=3,j<=i (T), # , j++

j=4,j<=i (T), # , j++

j=5,j<=i (F) 结束内存循环,i++

第五步

i=5,i<5 (F) 结束外层循环

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值