for循环嵌套 Java_For循环嵌套

循环嵌套:

就是循环语句的循环体本身是一个循环语句。

Demo1

需求:请输出一个4行5列的星星(*)图案。

结果:

*****

*****

*****

*****

结论:

外循环控制行数

内循环控制列数

classForForDemo {public static voidmain(String[] args) {//原始做法

System.out.println("*****");

System.out.println("*****");

System.out.println("*****");

System.out.println("*****");

System.out.println("-------------");//虽然可以完成需求,但是不是很好//如果是多行多列就会比较麻烦//所以我们准备改进//如何改进呢?//我先考虑如何实现一行*的问题//System.out.println("*****");//我们要想的是如何实现一次输出一颗*的问题//System.out.println("*");//System.out.println("*");//现在虽然可以一次一颗*,但是却换行了,我要求不能换行,怎么办呢?//输出语句的另一种格式:System.out.print(); 这个是不带换行的//System.out.print("*");//System.out.print("*");//System.out.print("*");//System.out.print("*");//System.out.print("*");//如果我要在一行上打出多颗*,比较麻烦,而代码是重复的,所以我决定用循环改进

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

System.out.print("*");

}//我们可以通过空的输出语句实现换行:System.out.println();

System.out.println();//既然我可以打出一行,我就可以打出第二行

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

System.out.print("*");

}//我们可以通过空的输出语句实现换行:System.out.println();

System.out.println();//同理打出第三行,第四行

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

System.out.print("*");

}//我们可以通过空的输出语句实现换行:System.out.println();

System.out.println();//既然我可以打出一行,我就可以打出第二行

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

System.out.print("*");

}//我们可以通过空的输出语句实现换行:System.out.println();

System.out.println();

System.out.println("-----------------");//同样的代码出现了4次,说明我们程序写的不好,用循环改进

for(int y=0; y<4; y++) {for(int x=0; x<5; x++) {

System.out.print("*");

}//我们可以通过空的输出语句实现换行:System.out.println();

System.out.println();

}

}

}

Demo2

需求:请输出下列的形状

*

**

***

****

*****

classForForDemo2 {public static voidmain(String[] args) {//通过简单的观察,我们看到这是一个行是5,列数是变化的形状//我们先打印出一个5行5列的形状

for(int x=0; x<5; x++) {for(int y=0; y<5; y++) {

System.out.print("*");

}

System.out.println();

}

System.out.println("--------------");//我们实现了一个5行5列的形状//但是这不是我们想要的//我们要的是列数变化的//列数是如何变化的呢?//第一行:1列 y=0,y<=0,y++//第二行:2列 y=0,y<=1,y++//第三行:3列 y=0,y<=2,y++//第四行:4列 y=0,y<=3,y++//第五行:5列 y=0,y<=4,y++//在看外循环x的变化,恰好就是x=0,1,2,3,4//所以这个最终版的程序就是如下

for(int x=0; x<5; x++) {for(int y=0; y<=x; y++) {

System.out.print("*");

}

System.out.println();

}

}

}

Demo3

需求:在控制台输出九九乘法表。

首先我们写出九九乘法表:

1*1=1

1*2=2 2*2=4

1*3=3 2*3=6 3*3=9

1*4=4 2*4=8 3*4=12 4*4=16

...

1*9=9 2*9=18 3*9=27 ...

我们先把这个九九乘法表看出是这样的一个形状:

*

**

***

****

*****

******

*******

********

*********

classForForDemo3 {public static voidmain(String[] args) {for(int x=0; x<9; x++) {for(int y=0; y<=x; y++) {

System.out.print("*");

}

System.out.println();

}

System.out.println("--------------");//为了使用数据,我们从1开始

for(int x=1; x<=9; x++) {for(int y=1; y<=x; y++) {

System.out.print(y+"*"+x+"="+y*x+"t");/*注意:

'x' x表示任意,这种做法叫转义字符。

't' tab键的位置

'r' 回车

'n' 换行*/}

System.out.println();

}

}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值