for循环的嵌套
1、执行顺序
代码如下(示例1):
package day01;
public class Demo4 {
public static void main(String[] args) {
for(int i=0;i<3;i++) {
for(int j=0;j<3;j++) {
System.out.println(i+" "+j);
}
}
}
}
运行效果如下:
小结:执行for的嵌套循环是的顺序是先执行单次外层循环在执行对应全部次数的内层。如:执行i=0,j=0、1、2。接着为i=1,依次循环直到循环截至。
2.执行顺序与图形之间的关系
代码如下(示例2):
package day01;
public class Demo6 {
public static void main(String[] args) {
for(int i=0;i<5;i++) {
for(int j=0;j<4-i;j++) {
System.out.print(" ");
}for(int a=0;a<2*i+1;a++) {
System.out.print("*");
}
System.out.println();
}
}
}
执行效果如下:
小结:通过图形的输出与嵌套循环的一一对应,可以直到外层循环代表的是行,内层循环代表的是列,对于图形的输出要明白输出的内容与行数之间的数量关系(这里空白部分要看做有空格),从而进行代码的编写。
代码如下(示例3):
package day01;
public class Demo10 {
public static void main(String[] args) {
for(int i=1;i<5;i++) {
for(int j=0;j<4-i;j++) {
System.out.print(" ");
}
for(int j=0;j<2*i-1;j++ ) {
if(j==0||j==2*i-2) {
System.out.print("*");
}else {
System.out.print(" ");
}
}
System.out.println();
}
for(int i=3;i>0;i--) {
for(int j=0;j<4-i;j++) {
System.out.print(" ");
}
for(int j=0;j<2*i-1;j++) {
if(j==0||j==2*i-2) {
System.out.print("*");
}else {
System.out.print(" ");
}
}
System.out.println();
}
}
}
运行效果如下:
小结:在掌握了行数与输出内容关系上,明确示例1与示例2之间的图形关系,在处有些地方更改为了空格,这是便需要对于输出的条件加以束缚(知晓在一行内打印*时列的执行顺序,从而队列进行条件的更改。)以此来进行代码的编写。
总结
通过以上两个示例更加明确了for循环嵌套的执行顺序以及与图形之间一一对应的关系,使我们在以后for循环嵌套使用的过程中更加的了然于胸,思维更加的清晰缜密。