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封装的代码实现 说明:因为时间紧张,本人写博客过程中只 ...
随机推荐
- VUE响应式原理-如何追踪变化
Vue 最独特的特性之一,是其非侵入性的响应式系统.数据模型仅仅是普通的 JavaScript 对象.而当你修改它们时,视图会进行更新.这使得状态管理非常简单直接 如何追踪变化 当你把一个普通的 Ja ...
- jQuery入口函数与JavaScript入口函数的区别
jQuery 的入口函数是在 html 所有标签 (DOM) 都加载之后就会去执行 JavaScript 的 window.onload 时间是等到所有内容,包括外部图片之类的文件加载完成 ...
- ARM开发板实现双系统引导的一种方法——基于迅为iTOP-4412开发板
前言 本文所用的uboot代码为迅为官方提供,开发板是迅为iTOP-4412开发板.本文如有错误,欢迎指正. 首先,我们确定一下系统启动的流程:首先启动uboot,uboot启动内核并挂载rootfs ...
- bzoj1590 Secret Message
Description 贝茜正在领导奶牛们逃跑.为了联络,奶牛们互相发送秘密信息. 信息是二进制的,共有M(1≤M≤50000)条.反间谍能力很强的约翰已经部分拦截了这些信息,知道了第i条二进制信息的 ...
- UVA 11292-Dragon of Loowater (贪心)
Once upon a time, in the Kingdom of Loowater, a minor nuisance turned into a major problem. The shor ...
- PHP check 的一些绕过技术
绕过空格 $_GET[str]=str_replace(" ","",$_GET[str]); ${IFS} 但不能写作 $IFS $IFS$ % 绕过ech ...
- node中间件
npm i body-parser post 请求主题中间件 const bodyParser = require('body-parser') const bodyParser = requir ...
- 阿里云体验实验室 体验教程《Linux指令入门-系统管理》
体验平台简介 阿里云开发者实验室提供免费云资源和丰富的场景化实践,旨在帮助开发者在学习应用技术,了解阿里云产品的特性. 阿里云体验实验室地址:https://developer.aliyun.com/ ...
- 跟着尚硅谷系统学习Docker-【day05】
day05-20200717 p21.docker容器数据卷容器 就是活动硬盘上面挂载硬盘进行数据的传递. [docker run -it --name dc01 fyr/centos ...
- [剑指Offer]57-和为s的数字
题目一 输入一个递增的数组和一个数字,在数组中查找2个数字,是他们的和正好为S,如果有多对的和为S,则输出任意一对即可. 题解 关键信息是数组有序.初始化i,j指向第一个和第二个数,与S比较,若小了, ...