For循环嵌套
2019-08-16 09:56:16来源:博客园 阅读 ()
For循环嵌套
循环嵌套:
就是循环语句的循环体本身是一个循环语句。
Demo1
需求:请输出一个4行5列的星星(*)图案。
结果:
*****
*****
*****
*****
结论:
外循环控制行数
内循环控制列数
class ForForDemo { public static void main(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
需求:请输出下列的形状
*
**
***
****
*****
class ForForDemo2 { public static void main(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 ...
我们先把这个九九乘法表看出是这样的一个形状:
*
**
***
****
*****
******
*******
********
*********
class ForForDemo3 { public static void main(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(); } } }
原文链接:https://www.cnblogs.com/frank-me/p/11148771.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:Linux 中 IDEA 不能调试(Debug)项目
下一篇:Struts笔记3
- 你说研究过Spring里面的源码,循环依赖你会么? 2020-06-09
- Spire.Cloud.SDK for Java 合并、拆分Excel单元格 2020-06-09
- switch循环所支持的数据类型 2020-06-07
- 500 ZuulException: Forwarding error 2020-06-01
- 第六章第三十七题(格式化整数)(Format an integer) - 编程 2020-05-26
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash