在上一篇文章中提到了程序逻辑通过顺序、分支、循环三种结构来实现的,并介绍了分支结构的执行语句,那么今天这篇文章介绍实现程序逻辑的另一种结构——循环结构。

什么是循环结构

循环结构是指在程序设计语言中按照一定条件反复执行某些代码的一种计算机处理过程,是一组相同或相似语句被有规律的重复执行的过程。

在上述定义中我们可以归纳出循环的两个要素即:循环体和循环条件。循环体就是那一组反复被执行的相同或相似的语句。循环条件,即继续执行循环的条件,某些情况下循环条件是以循环次数的方式体现。

现在知道了循环结构的两个要素,所以我们在程序设计中,如果需要多次重复执行一个或者多个任务时,考虑使用循环来解决。在使用循环来解决业务问题时我们要考虑如何来选择循环语句,我们常用到的循环语句包括for语句,while语句,do-while语句。下面我们就介绍一下如何选择合适的循环语句。

“当”循环

如果业务可以转换为“当...”这样的句式时,优先选择while语句来实现。

实例:

-一年存款利率为3%,本金10000,存款总额超过12000时,收益具体是多少。

分析:

-模板:“当”存款总额小于12000时;以3%的利率增长;

-条件:total<12000;

-代码:while(条件){total+=(total*0.03)}

While语句的执行逻辑及流程图

-计算boolean表达式的值

-如果值为true则执行语句块,语句块执行完后再次判断boolean表达式的值,如果为true则继续执行语句块,如此循环往复,直到boolean为false时退出while循环。

While(boolean表达式){ //boolean表达式的值为真时执行语句块,否则退出

语句块 //被重复执行的操作

}

While语句用于处理逻辑循环

int age=1

while(age<=100){

System.out.printIn(“马上有钱”);

age++;

}

System.out.printIn(“over”);

使用break退出循环:break在循环体中用于退出循环

int x=0;

while(x<10){

if(x==5){

break;

}

System.out.printIn(x);

x++;

} //输出的结果是0 1 2 3 4 ,当x==5时,退出循环。

“直到”循环

如果循环业务可以转换为“直到...”这样的句式时,优先选择do-while语句来实现。

实例:

-验证身份时必须提供密码并核对

分析:

-模板:获取密码,“直到”输入的值为123456

-条件:inputPwd!=123456

-代码:do{......}while(条件);

do-while语句的执行逻辑及流程图

-先执行语句块

-再计算boolean表达式的值,如果为true,再次执行语句块,如此循环,直到boolean表达式的值为false为止。

do{

语句块

}while(boolean表达式);//无论bpolean表达式的值是否为true,都先执行一次语句块

do while语句用于处理循环逻辑

int pwd;

do {

System.out.print(“请输入密码”);

pwd=scanner.nextInt();

}while(123!=pwd);

while和do-while的区别

-while循环先判断在执行

-do-while循环先执行一次,再判断

-当初始情况不满足循环条件时,while循环一次都不会执行;do-while循环不管任何情况都至少执行一次。

while和do-while语句的不同仅仅会体现在第一次就不满足条件的循环中,如果不是这样while和do-while可以互换。

固定次数循环

如果业务中可以获取到一个确切的循环次数考虑for循环。一般情况下for循环使用最多,对于for循环结构,一定要分析出解决业务的三个部分:循环变量初始状态,循环条件和循环变量的改变。

for语句的执行逻辑及流程图

for(表达式1;表达式2;表达式3){

语句块(循环体)

}

-计算表达式1的值;

-计算表达式2(表达式2为逻辑表达式)的值,如果为true则执行循环体,否则退出循环体;

-执行循环体

-执行表达式3;

-计算表达式2,如果为true则执行循环体,否则退出循环;

-如此循环往复,直到表达式2的值为false。

for语句用于实现固定次循环(以累加为例,求1+2+3+...+100=?)

int sum=0;

for(int i=1;i<=100;i++){

sum+=i;

}

System.out.printIn(“1到100的和为:”+sum);

for语句三个表达式特殊用法

-表达式1位置内容为空时

int sum=0;

int i=1;

for(;i<=10;i++){

sum+=i;

}

System.out.printIn(“1到10的和为:”+sum);

-表达式3的位置为空时

int sum=0;

for(int i=1;i<=10;){

sum+=i;

i++;

}

System.out.printIn(“1到10的和为:”+sum);

-表达式1,2,3,位置内容均为空时

for( ; ; ){

Syetem.out.printIn(“我要学习......”)

} //死循环

-表达式1和表达式3位置内容的多样化

for(int i=1,j=6;i<=6;i+=2,j-=2){

System.out.print(“i,j=”+i+”,”+j);

}

输出的结果为:

i,j=1,6

i,j=3,4

i,j=5,2

for语句中的三个表达式中表达式1和表达式3可以使用逗号表达式,逗号表达式就是通过”,”运算符隔开的多个表达式组成的表达式,从左向右计算。

循环中使用break语句:

-break可用于循环语句或switch语句中;

-break用于循环,可使程序终止循环而执行循环后面的语句,常常与条件语句一起使用

int sum=0;

for(int i=1;i<=100;i++){

if(sum>=4000){

break;

}

sum+=i;

} //当总和大于等于4000时终止循环

循环中使用continue语句

-continue只能用于循环中,其作用为跳过循环体中剩余语句而执行下一次循环

int sum=0;

for(int i=1;i<=100;i++){

if(i%10==3){

continue;

}

sum+=i;

}

我们一共通过两篇文章介绍了程序逻辑中的分支结构和循环结构,由于顺序结构过于简单,在这里没有做介绍。衷心的希望您在阅读的时候能够提出宝贵的意见,使我们在编程的道路上一起进步,小编将不胜感激!

java双重for循环流程图_JAVA程序逻辑中的循环结构相关推荐

  1. java双重for循环流程图_Java的for循环

    Java有好几种循环语句. for循环是Java的循环之一. for循环在java中用于重复执行一些语句,直到条件返回false. for循环有以下三个部分. 初始化 循环条件 自增或自减 for循环 ...

  2. java素数的流程图_Java程序流程结构

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如果有侵权请立即联系:55525090@qq.com,我 ...

  3. java项目怎样提高性能_Java程序员成长之路(如何提高Java程序性能?)

    1.尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面 第一,控制资源的使用,通过线程同步来控制资 ...

  4. [笔记]C#基础入门(十四)——C#用流程图描述程序逻辑

    流程图是程序步骤的图形化表示方法.流程图中包括如下符号: 以上图形中,流程线用来连接相邻的两个步骤:每一个程序都有且仅有一个开始和结束. 以下流程图描述的是,求2个浮点数的和,后边是用C#实现: 以上 ...

  5. java生成cmd jar包_Java程序运行机制及cmd编译运行探究(二) cmd编译运行Java程序并打成jar包...

    目标:写一个RandomUtils.java工具类,返回一个随机数,并把这个类的字节码文件打成jar包 在Java运行机制及cmd编译运行探究(一)准备工作一文中,我总结了一部分要用到的cmd及编译运 ...

  6. debug调到循环最后_Java入门(7)——循环和debug 调试

    循环: while 循环: 格式: int i = 0; ①    //初始化条件 while(i < 10) { ②  //判断条件 System.out.println(i); ④ //循环 ...

  7. 【Java TCP/IP Socket】应用程序协议中消息的成帧与解析(含代码)

    程序间达成的某种包含了信息交换的形式和意义的共识称为协议,用来实现特定应用程序的协议叫做应用程序协议.大部分应用程序协议是根据由字段序列组成的离散信息定义的,其中每个字段中都包含了一段以位序列编码(即 ...

  8. java 读取pdf签名域_Java 获取PDF中的数字签名信息

    本文以Java代码演示如何获取PDF文档中的数字签名信息,包括签名人.签名位置.日期.原因.联系方式.签名在文档中的坐标等等. 程序环境包括: Jdk 1.8.0(版本要求>=1.6.0版本即可 ...

  9. python循环语句-详解Python中的循环语句的用法

    一.简介 Python的条件和循环语句,决定了程序的控制流程,体现结构的多样性.须重要理解,if.while.for以及与它们相搭配的 else. elif.break.continue和pass语句 ...

最新文章

  1. json格式天气数据的获取,jsonp方式获取统计图数据
  2. 几行代码完成动态图表绘制 | Python实战
  3. ds图—最小生成树_Java: Kruskal算法生成最小生成树(邻接矩阵)
  4. Ubuntu中php.ini修改运行内存
  5. esp8266 lcd 天气_8266WIFI加LCD显示时间及天气pm25
  6. java篇 之 ==与equals
  7. 吴裕雄--天生自然 PHP开发学习:数组
  8. 进大厂必须掌握的50个微服务面试问题!
  9. html5 通信方式,(原生js页面通信)关于html5的PostMessage的用法总结
  10. 安装python要注意什么_安装python注意事项
  11. c ajax传递多个参数,c# – 使用jQuery AJAX将字符串数组传递给具有可变参数数量的webmethod...
  12. Linux 环境下安装 MySQL,各种踩坑、疑难杂症 | 原力计划
  13. linux开启mysql窗口_linux操作系统中如何查看是否开启了MySQL服务呢?
  14. 《京东大鼓——老年迪斯科》(董湘昆)(唱词文本)
  15. [计算机组成原理-02] 计算机硬件的基本组成和工作原理
  16. 怎么把多个音频合并成一个音频?
  17. 成本会计的概念、产品成本核算的要求、产品成本核算的对象与成本项目、产品成本的归集和分配(可能考判断)、产品成本计算方法 (三种:产品的品种(品种法),批次(分批法),步骤(分步法))
  18. 丧心病狂的Github技巧
  19. 12款浏览器兼容性测试工具推荐
  20. 小米手机MIUI13系统最全的关闭广告教程

热门文章

  1. 对布满灰尘的西洋棋宣告将军 (chess)
  2. 运用Python看看对于《鹰猎长空》的知乎 vs 豆瓣的战斗
  3. 第二证券|“20cm”涨停!盘中暴涨110%,又有港股暴力拉升
  4. Linux下启停McAfee防病毒软件
  5. python 加法运算
  6. win10无法访问共享文件传输(\\)
  7. 如何创建一个字符数组?
  8. ios睡眠分析 卧床 睡眠_你知道iOS 时钟里藏了这么一个睡眠小管家?(iOS)
  9. 爬取豆瓣TOP250电影并保存为excel文件与db文件,有网页展示哦!
  10. 互联网 Java 工程师面试题之Spring(二)