名词解释

  • 将一个循环放在另一个循环体内,就形成了嵌套循环。其中,for ,while ,do…while均可以作为外层循环或内层循环。
  • 实质上,嵌套循环就是把内层循环当成外层循环的循环体。当只有内层循环的循环条件为false时,才会完全跳出内层循环,才可结束外层的当次循环,开始下一次的循环。
  • 设外层循环次数为m次,内层为n次,则内层循环体实际上需要执行m*n次。

eg:

class ForForTest{public static void main(String[] args){//输出******for (int i = 1;i <= 6 ;i++ ){System.out.print("*");}System.out.println();System.out.println();/*输出:*************************/for (int j = 1;j <= 4;j++ ){for (int i = 1;i <= 6 ;i++ ){System.out.print("*");}System.out.println();//换行}/*输出:****************/for (int i = 1;i <= 5;i++){//控制行数for (int j = 1;j <= i;j++){//控制列数System.out.print("*");}System.out.println();//换行}/*输出:***********/for (int i = 1;i <= 4;i++){for (int j = 1;j <= 5 - i;j++){System.out.print("*");    }System.out.println();//换行}/*输出:**************************///略,分两段循环}
}

例题1:九九乘法表

class NineNineTable{public static void main(String[] args){for (int i = 1;i <= 9;i++){for (int j = 1;j <= i;j++){System.out.print(i + "*" + j + "=" + (i * j) + " ");}System.out.println();}}
}

例题2:质数的输出

class PrimeNumberTest{public static void main(String[] args){boolean isFlag = true;//表示i是否被j除尽,一旦除尽,修改其值。for (int i = 2;i <= 100;i++){//遍历100以内的自然数for (int j = 2;j < i;j++){//j:被i去除if (i % j == 0){//i被j除尽isFlag = false;}}//if (isFlag == true){System.out.println(i);}//重置isFlagisFlag = true;}}
}

将要求改为100000以内的质数,并对以上答案进一步优化:

//对PrimeNumberTest.java的优化
class PrimeNumberTest1{public static void main(String[] args){boolean isFlag = true;//表示i是否被j除尽,一旦除尽,修改其值。//获取当前时间距离1970-01-01 00:00:00的毫秒数long start = System.currentTimeMillis();for (int i = 2;i <= 100000;i++){//遍历100以内的自然数//优化二:对本身是质数的自然数最有效。for (int j = 2;j <= Math.sqrt(i);j++){//j:被i去除if (i % j == 0){//i被j除尽isFlag = false;break;//优化一:只对本身非质数的自然数有效。}}//if (isFlag == true){System.out.println(i);}//重置isFlagisFlag = true;}//获取当前时间距离1970-01-01 00:00:00的毫秒数long end = System.currentTimeMillis();System.out.println("所花费的时间为:" + (end - start));}
}

使用continue进一步优化:

//对PrimeNumberTest.java的优化
class PrimeNumberTest2{public static void main(String[] args){long start = System.currentTimeMillis();label:for (int i = 2;i <= 100;i++){for (int j = 2;j <= Math.sqrt(i);j++){if (i % j == 0){continue label;}}System.out.println(i);}long end = System.currentTimeMillis();System.out.println("所花费的时间为:" + (end - start));}
}

本章完结!

小白自学笔记——JAVA基础 2.10嵌套循环相关推荐

  1. 小白自学笔记——JAVA基础 0.1Java语言概述

    我学习的是宋红康老师的视频,首先是课程大纲. 课程大纲 课程体系 第1章 Java语言概述 第2章 基本语法 第3章 数组 第4章 面向对象编程(上) 第5章 面向对象编程(中) 第6章 面向对象编程 ...

  2. 小白自学笔记——JAVA基础 2.5进制

    计算机中不同进制的使用说明 所有数字在计算机底层都以二进制形式存在. 对于整数,有四种表示方式: - 二进制(binary):0,1 ,满2进1.以0b或0B开头. - 十进制(decimal):0- ...

  3. 小白自学笔记——JAVA基础 2.2变量

    变量概述 概念: - 内存中的一个存储区域 - 该区域的数据可以在同一类型范围内不断变化 - 变量是程序中最基本的存储单元,包含变量类型.变量名和存储值 作用 - 用于在内存中保存数据 变量的使用 j ...

  4. 小白自学笔记——JAVA基础 2.8分支结构

    名词解释 流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块. 其流程控制方式采用结构化程序设计中规定的三种基本流程结构,即: 顺序结构 程序从上到下逐行地执 ...

  5. 小白自学笔记——JAVA基础 3.1 一维数组

    名词解释 数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理. 数组的常见概念 数组名 下标(或索引) 元素 数组的长度 数组的特点 ...

  6. 小白自学笔记——JAVA基础 3.2 多维数组

    名词解释 Java 语言里提供了支持多维数组的语法. 如果说可以把一维数组当成几何中的线性图形,那么二维数组就相当于是一个表格,像Excel中的表格一样. 对于二维数组的理解,我们可以看成是一维数组a ...

  7. 小白自学笔记——JAVA基础 1.1常用的DOS文件

    今天开始自学JAVA第一课.看的是B站上宋红康老师的视频. 一 学习常用的DOS命令 在搜索栏输入'cmd'打开 eg1:打开D盘文件 [输入] D: eg2:列出当前文件夹下的所有文件 [输入] d ...

  8. 小白自学笔记——JAVA基础 2.6运算符

    名词解释 运算符是一种特殊的符号,用以表示数据的运算.赋值和比较等. - 算术运算符 - 赋值运算符 - 比较运算符(关系运算符) - 逻辑运算符 - *位运算符 - 三元运算符 算术运算符 eg: ...

  9. 小白自学笔记——JAVA基础 2.9循环结构

    循环结构 在某些条件满足的情况下,反复执行特定代码的功能. 循环语句分类 for 循环 while 循环 do-while 循环 FOR循环结构 for (①初始化部分;②循环条件部分;④迭代部分){ ...

最新文章

  1. HDU1102(Prim算法)
  2. ajax 请求_前端后分离Ajax跨域请求保证Session一致
  3. 【干货51页PPT】深度学习理论理解探索
  4. 用Vue撸一个『A-Z字母滑动检索菜单』
  5. 使用python爬虫抓站的一些技巧总结:进阶篇
  6. Facebook 号称击败谷歌,推出最强聊天机器人
  7. 太强了!Scikit-learn 0.22新版本发布,新功能更加方便
  8. 【Linux】一步一步学Linux——ldconfig命令(255)
  9. 如何有效控制 Go 线程数?
  10. 线上系统因为一个ThreadLocal直接内存飙升
  11. IOS开发之获得当前的网速
  12. RK3288_Android7.1在HAL层audio音频通路小结
  13. vb.net webclient 网络目录是否存在_安卓用户注意了,安全人员又发现新型加密货币挖矿僵尸网络...
  14. 【麦子学院 彭亮 机器学习】3.2决策树应用(准备篇)
  15. Spring定时器cron表达式
  16. 2010 年下半年系统分析师案例分析真题
  17. 三角脉冲信号的表达式_脉冲发生器产生一个单三角脉冲,其波形如图所示,例1写出电压U 与.pdf...
  18. 带你了解软件测试是做什么的
  19. Java中的内部类与匿名内部类详解
  20. 【网络技术题库梳理8】网络系统结构与设计的基本原则

热门文章

  1. kali工具熟悉——路由器分析
  2. UML九种标准图详解
  3. Verilog 基础知识
  4. 名字真好听的五子棋——15周进度
  5. 送到家服务网2009年3月26日顺利上线了!
  6. 工商管理-管理学原理
  7. IT人读《论语》:1.2理解和感悟
  8. 【力扣刷题笔记】初级算法
  9. 温度检测数据上传—DHT11温度传感器(基于arduino)
  10. 蓝桥算法 奥运会开幕式