For-For循环嵌套(大圈套小圈思想)
Java中的for嵌套循环
原理
在java语言中for循环可谓是非常重要的循环,今天温习了下for循环的嵌套,说白了就是一个在一个for循环中写了另外一个for循环语句。我看到这种思想也有人称为“大圈套小圈思想”,因为在这种循环中,外层循环控制着执行的行,也就是“大圈”,内层循环控制着执行的列,也就是“小圈”。“大圈”执行一次循环,“小圈”要执行完这次循环。下面以几道常见的题来解释以下这种循环。
1.打印以下图形
********************
分析:这个图形共有四行,每行有五个“”,输出完后输出一个换行。也就是“大圈”控制着四行,而“大圈”执行一次,“小圈”要打印出五个“”。代码如下:
for(int i=0;i<4;i++) {for(int j=0;j<5;j++) {System.out.print("*");}System.out.println();}
2.打印以下图形
*
**
***
****
分析:该图形是上图的变化,依旧是四行,所以可以知道“大圈”是不变的,关键就是每行打印的“*”是变化的,第一行是一个,第二行是两个…可以知道,每行打印的个数是和控制行的大小是一样的。所以代码如下:
for(int i=1;i<5;i++) {for(int j=1;j<=i;j++) {System.out.print("*");}System.out.println();}
3.打印下面图形
1223334444
分析:这个题和题2相近,只是打印的是数字。仔细观察不难发现,打印出的是行号。所以,分析得出代码,如下:
for(int i=1;i<5;i++) {for(int j=1;j<=i;j++) {System.out.print(i);}System.out.println();}
4.打印出99乘法表
分析:99乘法表和以上图形类似,只是打印出i*j的值即可。但是一疏忽,将会出现这种情况:
这几列由于位数的原因 而导致对不齐,影响美观。在java中可以用“\t”转义,即垂直建表。将不会出现这种情况。代码如下:
for(int i=1;i<=9;i++) {for(int j=1;j<=i;j++) {System.out.print(i+"*"+j+"="+i*j+"\t");}System.out.println();}
结果如下:
5.打印出以下图形
1234234344
分析,明显看出这个“大圈”依旧是4,但是“小圈”是依次递减的,所以内循环里面范围一定是越来越小的。然后打印出的数字每一行里面都不相同,所以打印出来的是内循环里面的数字,可以看出,内循环中,初始值是变化的,而且始终等于行号,所以代码如下:
for(int i=1;i<5;i++) {for(int j=i;j<5;j++) {System.out.print(j);}System.out.println();}
6.打印以下图形
* * * * * * * * * * * * * * *
分析:这个图形可以看作是“*”和空格组成。而且左边是一个用空格组成的直角三角形,如题2。所以不难看出代码,如下:
for(int i =0;i<5;i++) {for(int j=0;j<i;j++) {System.out.print(" ");}for(int k=i;k<5;k++) {System.out.print("* ");}System.out.println();
for循环并不难,只要能理解透彻其中的思想。for循环是Java中非常重要的一个循环,一定要掌握住。
For-For循环嵌套(大圈套小圈思想)相关推荐
- 基于“大中台+小前台”思想的电商系统总体架构设计
一.架构总原则 1. 大中台+小前台的架构思路 2. 业务中台采用领域驱动设计(DDD),在其上构建业务能力SAAS,持续不断进行迭代演进. 3. 平台化定位,进行了业务隔离设计,方便一套系统支撑不同 ...
- 判断三角形java代码_小猿圈Java循环嵌套语法的使用介绍
Java是一直被程序员使用的程序之一,而且应用也是最广泛的一个,很多应用中都会用得到,小猿圈java讲师就为你介绍一下Java循环嵌套语法的使用介绍,希望对你有所帮助. 嵌套循环是指在一个循环语句的循 ...
- java while语句打印三角形_小猿圈Java循环嵌套语法的使用介绍
Java是一直被程序员使用的程序之一,而且应用也是最广泛的一个,很多应用中都会用得到,小猿圈java讲师就为你介绍一下Java循环嵌套语法的使用介绍,希望对你有所帮助. 嵌套循环是指在一个循环语句的循 ...
- [Python] 小明又迟到了……一个故事讲清楚 Python 循环嵌套
Python 语言允许在一个循环体里面嵌入另一个循环.循环嵌套的语法形式如下: 1.Python for 循环嵌套: 语法: for iteration_var in sequence:for ite ...
- php大数组循环嵌套的性能优化
一.前言 博主最近在用elasticsearch做项目,查出来的数据都是数组,在筛选数据组装数据的时候,难免会碰到循环嵌套的问题.如果两个50000的数组循环嵌套,那实际运算则是50000*50000 ...
- python从大到小排序_python作业:用嵌套的列表存储学生成绩数据,并编程完成如下操作...
用嵌套的列表存储学生成绩数据,并编程完成如下操作: 学号 姓名 英语 数学 计算机 1903001 李孟亚 78 89 90 1903002 张钟英 51 89 56 ...
- matlab 连续两个if,求大神解答一个matlab中的for循环嵌套if选择语句
公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:求大神解答一个matlab中的for循环嵌套if选择语句回答:1.最后缺少一个end;2.这句输出没什么意义:disp A(i)=A ...
- 小程序 | 微信小程序实现循环嵌套数据选择
小程序 | 微信小程序实现循环嵌套数据选择 一.效果展示 二.代码实现 在.wxml文件中,有时从后台传来的数据可能会出现数组嵌套数组的情况,需要利用wx:for嵌套实现数据的展示.这时,外层循环正常 ...
- JavaScript中for循环嵌套编程小案例
编写一个函数用于实现金额组合:面额分别有1元.2元.5元的纸币共计N张,现需要付出M元,统计共有几种付法.N.M是用户输入的值.(有10张纸币,面额分别是1元.2元.5元,现需要付出18元,通过编程统 ...
最新文章
- Opencv实现透视形变
- dedecms前端无法调用自定义变量怎么解决
- WinCE系统声音定制
- 中国二氧化碳激光器行业现状研究与可行性分析报告2022-2028年版
- 免费参会!百度智能云:从编码到网络传输,揭秘低延音视频背后的技术架构...
- (23)System Verilog设计二分频电路
- ios 仿微信,短信聊天气泡
- windows下 Mysql 错误1067 Can't open and lock privilege tables: Table 'mysql.user' doesn't exist
- oracle 偶尔登录超时,OracleClient,间歇性连接问题:应用程序挂起在OracleConnection.Open()上,没有超时,没有引发异常...
- 从架构到代码:软件开发的七个新趋势 | 凌云时刻
- 不到100行代码搞定Python做OCR识别身份证,文字等各种字体
- c语言编程科学计数法,c语言编程 科学计数法
- 端口已被占用1080(解决方案)
- 科大讯飞与IBM组队人工智能蓝蓝CP
- FTP 打开文件夹提示该文件没有程序与之关联来执行该操作 请在控制面板的文件夹选项中创建关联
- Win8系统如何设置时间自动同步方法 电脑系统时间不能同步怎么设置
- 在win10中安装并配置多个JDK不同的版本
- ffmpeg图片视频gif互转
- vim中 E212:无法打开并写入文件
- 城市空气质量(AQI)数据爬虫