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

时间:2022-07-02 22:13:50

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循环应用

047 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用的更多相关文章

  1. 036 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 03 嵌套if结构

    036 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 03 嵌套if结构 本文知识点:Java中的嵌套if结构 什么是嵌套if结构? 概念: 嵌套if结构 ...

  2. &num; 095 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 &num; 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封装 ...

  3. 094 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 &num; 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封装 ...

  4. 093 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 &num; 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封装 ...

  5. 092 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 &num; 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封装 ...

  6. 091 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 &num; 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封装 ...

  7. 090 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 &num; 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封装 ...

  8. 089 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 &num; 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封装 ...

  9. 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 02 封装的代码实现

    088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 02 封装的代码实现 本文知识点:Java封装的代码实现 说明:因为时间紧张,本人写博客过程中只 ...

随机推荐

  1. 【SQL】CLR聚合函数什么鬼

    之前写过一个合并字符串的CLR聚合函数,基本是照抄MS的示例,外加了一些处理,已经投入使用很长时间,没什么问题也就没怎么研究,近日想改造一下,遇到一些问题,遂捣鼓一番,有些心得,记录如下. 一.杂项 ...

  2. linux svn搭建

    1 安装: yum install subversion 2 查看svn安装信息: rpm -ql subversion 3 创建svn根目录: svnserve -d -r /svn 4 进入/sv ...

  3. aspectj pointcut 找不到类型pointcut cannot be resolved to a type

    引入了aspectJ后,文件提示找不到pointcut类型.修改如下: .project文件添加内容,红色字体为添加的引用 <?xml version="1.0" encod ...

  4. 处理Json数据中的日期类型&period;如&sol;Date&lpar;1415169703000&rpar;&sol;格式

    在asp.net mvc后台返回到视图中的json数据中想对数据进行操作,发现日期类型无法直接进行操作,需要转换为指定格式才行.在网上也搜了下方法也很多,觉得有点麻烦,最终使用正则搞定了,分享下: v ...

  5. IO&sol;NIO

    1.转换流,Buffered BufferedWriter out=new BufferedWriter(new OutputStreamWriter(System.out)); BufferedRe ...

  6. C&num;操作SQL Server通用类

    using System; using System.Data; using System.Xml; using System.Data.SqlClient; using System.Collect ...

  7. struct和typedef struct的用法

    我首先想到的去MSDN上看看sturct到底是什么东西,虽然平时都在用,但是每次用的时候都搞不清楚到底这两个东西有什么区别,既然微软有MSDN,我们为什么不好好利用呢,下面是摘自MSDN中的一段话: ...

  8. cronolog 对 tomcat 7 进行日志切割

    一.安装 软件 cronolog-1.6.2.tar.gz tar zxvf cronolog-1.6.2.tar.gz cd cronolog-1.6.2 ./configure &&amp ...

  9. FORTH基本堆栈操作

    body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...

  10. React 学习&lpar;五&rpar; ---- 条件和列表渲染

    条件渲染 React中的条件渲染和我们平常写的js 代码一样,都是用的if else, 只不过在if else 中它的返回值是jsx, 根据不同的条件渲染不同的UI. 先写两个组件 //登录的用户显示 ...