047 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用

047 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用

本文知识点:嵌套while循环应用

什么是循环嵌套?

什么是循环嵌套? 就是一个循环内部含有另外一个循环。比如,我们现在看到的while 循环。

比如下图中的while循环体的内部还有一个while循环。这只是二重循环,也就是2个循环嵌套。

从语法结构上看,多重循环嵌套也是允许的。

一般情况,二重循环用的比较多。 三重及更多循环嵌套用的比较少,后面也会通过实例进行讲解。

047 01 Android 零基础入门  01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用

047 01 Android 零基础入门  01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用

多重循环的结构分析

外重循环

047 01 Android 零基础入门  01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用

内重循环

047 01 Android 零基础入门  01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用

三种循环(while 、do-while、for)之间相互嵌套

while和do-while嵌套:

047 01 Android 零基础入门  01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用

for自己嵌套:

047 01 Android 零基础入门  01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用

for和while 也可以相互嵌套

案例练习——演示循环嵌套的应用

案例题目:

使用嵌套while循环输出10行10列的星号,组成一个正方形。

047 01 Android 零基础入门  01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用

解决问题的核心思路:双重循环,外重循环控制有多少行,内重循环控制有多少列。

程序代码及其执行结果:

出现问题,只输出了1行,没有预期输出4行。

047 01 Android 零基础入门  01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用

问题出在哪里?分析程序原因:

程序执行过程详细分析:

047 01 Android 零基础入门  01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用

如何解决?

在内重循环之前,为n赋初始值为1;

047 01 Android 零基础入门  01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用

047 01 Android 零基础入门  01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用

最终程序代码及其执行结果:

047 01 Android 零基础入门  01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用

案例修改——输出直角三角形

第1行输出1个星号

第2行输出2个星号

第3行输出3个星号

……

第n行输出n个星号

这怎么办?

我们定义变量的时候,就知道,每行输出多少星号由内重循环控制的,内重循环如果永远1到4循环,那肯定是永远输出每行4个星号的。

那如何修改?

简单!

将内重循环的条件由n<=4 修改为 n<=m, 即小于等于的对象不再是一个常量,而是一个变量了。

修改需求后的程序代码及其执行结果:

047 01 Android 零基础入门  01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用

上一篇:044 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 06 使用do-while循环实现猜字游戏


下一篇:在Android模拟器上使用QEMU Monitor