047 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用
047 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用
本文知识点:嵌套while循环应用
什么是循环嵌套?
什么是循环嵌套? 就是一个循环内部含有另外一个循环。比如,我们现在看到的while 循环。
比如下图中的while循环体的内部还有一个while循环。这只是二重循环,也就是2个循环嵌套。
从语法结构上看,多重循环嵌套也是允许的。
一般情况,二重循环用的比较多。 三重及更多循环嵌套用的比较少,后面也会通过实例进行讲解。
多重循环的结构分析
外重循环
内重循环
三种循环(while 、do-while、for)之间相互嵌套
while和do-while嵌套:
for自己嵌套:
for和while 也可以相互嵌套
案例练习——演示循环嵌套的应用
案例题目:
使用嵌套while循环输出10行10列的星号,组成一个正方形。
解决问题的核心思路:双重循环,外重循环控制有多少行,内重循环控制有多少列。
程序代码及其执行结果:
出现问题,只输出了1行,没有预期输出4行。
问题出在哪里?分析程序原因:
程序执行过程详细分析:
如何解决?
在内重循环之前,为n赋初始值为1;
最终程序代码及其执行结果:
案例修改——输出直角三角形
第1行输出1个星号
第2行输出2个星号
第3行输出3个星号
……
第n行输出n个星号
这怎么办?
我们定义变量的时候,就知道,每行输出多少星号由内重循环控制的,内重循环如果永远1到4循环,那肯定是永远输出每行4个星号的。
那如何修改?
简单!
将内重循环的条件由n<=4 修改为 n<=m, 即小于等于的对象不再是一个常量,而是一个变量了。
修改需求后的程序代码及其执行结果:
047 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用的更多相关文章
- 036 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 03 嵌套if结构
036 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 03 嵌套if结构 本文知识点:Java中的嵌套if结构 什么是嵌套if结构? 概念: 嵌套if结构 ...
- # 095 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 03 封装总结 01 封装知识点总结
095 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...
- 094 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 04 static关键字(续)
094 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...
- 093 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 03 static关键字(下)
093 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...
- 092 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 02 static关键字(中)
092 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...
- 091 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 01 static关键字(上)
091 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...
- 090 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 04 使用包进行类管理(2)——导入包
090 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...
- 089 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 使用包进行类管理(1)——创建包
089 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...
- 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 02 封装的代码实现
088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 02 封装的代码实现 本文知识点:Java封装的代码实现 说明:因为时间紧张,本人写博客过程中只 ...
随机推荐
- 牛哄哄的celery
一.什么是Celery 1.1.celery是什么 Celery是一个简单.灵活且可靠的,处理大量消息的分布式系统,专注于实时处理的异步任务队列,同时也支持任务调度. Celery的架构由三部分组成, ...
- 【Pod Terminating原因追踪系列之三】让docker事件处理罢工的cancel状态码
本篇为Pod Terminating原因追踪系列的第三篇,前两篇分别介绍了两种可能导致Pod Terminating的原因.在处理现网问题时,Pod Terminating属于比较常见的问题,而本系列 ...
- php高效读取和写入
/** * 删除非空目录里面所有文件和子目录 * @param string $dir * @return boolean */ function fn_rmdir($dir) { //先删除目录下的 ...
- android开发之gridView的一些属性。(项目经验总结)
1.android:numColumns="auto_fit" //GridView的列数设置为自动 2.android:columnWidth="90dp &quo ...
- LuaBridge相关
http://www.cppblog.com/sunicdavy/archive/2013/12/07/204648.html https://segmentfault.com/a/119000000 ...
- 面试【JAVA基础】类加载机制
1.类加载过程 1.1.加载 查找和导入class文件. 1.2.链接 验证 检验载入的class文件的正确性,完整性. 准备 给类的静态变量分配存储空间,会赋对象类型的默认值. 解析 将class常 ...
- HDOJ 1003
动态规划一直AC不了竟然是因为一厢情愿的多加了一个#! printf("Case #%d:\n",count); --------------------------------- ...
- Dubbo系列之 (六)服务订阅(3)
辅助链接 Dubbo系列之 (一)SPI扩展 Dubbo系列之 (二)Registry注册中心-注册(1) Dubbo系列之 (三)Registry注册中心-注册(2) Dubbo系列之 (四)服务订 ...
- Activiti7 学习总结
什么是工作流? 就是通过计算机对业务流程进行自动化处理,实现多个参与者按照预定义的流程去自动执行业务流程 什么是Activiti? Activiti是一个工作流引擎,开源的架构,基于BPMN2.0标准 ...
- 使用Json-lib将对象和Json互转
工程下载地址: https://files.cnblogs.com/files/xiandedanteng/jsonSample20200308.rar Depenency: <!-- 使用js ...