循环嵌套

今天看书的时候,突然发现以前写的一个很简单的循环嵌套的代码,居然一直都是理解错误的,今天就为了纠正自己的错误,把这个小小的例子重新理一遍。

这个例子就是用*打印一个三角形。代码如下:

package test;

public class Example {
	public static void main(String[] args) {
		int i,j;
		for(i=0;i<10;i++){
			for(j=0;j<=i;j++){
				System.out.print("*");
			}
			System.out.println("");
		}
			
}
}
他运行出来是这样子:

*
**
***
****
*****
******
*******
********
*********
**********
这是一个很简单的两层for循环,分别是外层给循环和内层循环,外层循环控制打印的行数,内层用于打印*,每一行的*个数逐行增加,最后输出一个直角三角形。那么他是怎么执行的呢?接下来做一个详细的讲解:

第一步:定义两个变量i和j,其中i为外层循环变量,j为内层循环变量;

第二步:外层for循环里的i=0,表示i初始化为0,条件i<10为true,首次进入外层循环的循环体;

 第三步:首次进入内层for循环,j=0表示把j初始化为9,此时j=0,i=0,所以条件j<=i为true,执行循环体;

第四步:打印完第一个*之后,j++,自增为1,此时再执行内层的条件j<=i就为false了,所以跳出内层循环,执行下面的代码即换行;

第五步:执行外层循环的代码i++,i自增为1;

第六步:执行外层条件i<10,为true,进入外层循环,进入内层循环;

第七步:执行内层的j<i,此时j=0;i=1;条件为true,执行循环体,j再自增为1

第八步:打印第二行的第一个*之后,继续执行内层循环的j<i;此时j=1,i=1,条件还是true,再打印一个*,j自增为2;

第九步:执行内层循环的条件,此时j=2,i=1,条件为false,跳出外层循环,执行换行语句;

依次类推,在第三行会打印三个*,逐行递增,直到i的值为10的时候,外层循环的条件为false,外层循环结束,真个程序也就结束了。

老铁们有没有理解呢?

这些都是给小白说的,说白的了,给我看的,大神别嘲笑啊

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值