概述
java中的for循环是非常简单的,今天我们讲一下for循环中再嵌套一个for循环。
我写一个代码。
class Demo
{
public static void main(String[ ] args)
{
for(int x=0;x<3;x++)
{
for(int y=0;y<4;y++)
System.out.println("ok");
}
}
}
这段代码是这样的,for循环被执行,就在内存当中产生一个x变量块初始化值为0。满足条件以后执行循环体,只不过此时的循环体比较特殊,它还是一个循环。然后再按照for循环再读下面一个循环,满足循环就会打印一次ok。紧跟着y++,不读x++,那什么时候读x++呢?这个时候就需要里面嵌套的这个循环体执行之后再x++。然后这个执行完之后就会打印12次ok。结果如图所示。
我们再把这个代码稍微改进一下。
class Demo
{
public static void main(String[ ] args)
{
for(int x=0;x<3;x++)
{
for(int y=0;y<4;y++)
{
System.out.print("*");
}
System.out.println();//只有一个功能就是换行。
}
}
}
这个就会打印出一个由*组成的长方形。
对于打印出来的长方形,可以得出来,内循环控制的行数,外循环控制的是每一行的列数,也就是一行中元素的个数。
那么我们知道这个之后我们就来做一个for嵌套循环的练习。
如图我们要打印出这个图案。
.
那我们该怎么打印出来呢,我们先写一个for嵌套再去写。
for(;;)
{
for(;;)
然后我们也可以看出来它是五行五列并且知道内循环和外循环分别控制行数和列数,所以就可以去写这样的代码。
for(int x=0;x<5;x++)
{
for(int y=0;y<5;y++)
{
System.out.print("*");
}
System.out.println();
}
}
}
当然这样打出来的结果是个长为5,宽为5的长方形。
那么我们该怎么改才能让他变为上面那样呢?我们发现第一行打印是对的,从第二行开始减少一个,列数在变化,所以改变y的循环,这个列数一直在变化,我们就把y<5中的5写成变量,所以我们就设置一个变量就行了。在前面加一个int z=5,在后面加上一个z--就可以了,代码如下
int z=5;
for(int x=0;x<5;x++)
{
for(int y=0;y<z;y++)
{
System.out.print("*");
}
System.out.println();
z--;
}
}
}这样写的代码就会得出我们想要的结果。
还有一种更简单的写法。我们只需要把int y=0改成y=x,还有把上面定义的z变量去掉即可,得出的结果同样是我们想要的。 代码如下。
for(int x=0;x<5;x++)
{
for(int y=x;y<5;y++)
{
System.out.print("*");
}
System.out.println();
}
}
}
最后
以上就是坦率外套为你收集整理的java中的for嵌套。的全部内容,希望文章能够帮你解决java中的for嵌套。所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复