三、do……while循环语句

(一)格式

1、基本格式

do{循环体语句;
}while

2、拓展格式

初始化语句;
do{循环体语句;控制条件语句;
}while(判断条件语句);

其实,讲完了do……while的拓展格式,这个语句基本就算讲完了,因为它与之前的两种语句只有轻微差别,运行原理都差不多。

(二)、执行流程

①执行初始化语句;
②执行循环体语句;
③执行控制条件语句;
④执行判断条件语句,如果是true就执行循环,如果说false,就执行其他语句(结束循环);
⑤回到第②条继续。



例请输出10次hello world


那么用do……while语句就应该写成:

public class demon {public static void main(String[] args) {int x=0;do{System.out.println("hello world");x++;}while(x<=10);}
}
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello worldProcess finished with exit code 0

至此为止,Java三种循环体语句就全部给大家讲解完毕,细心的小伙伴可以对比一下三种语句的代码写法,比较它们的区别。

(三)三种循环结构的区别

依然沿用上面的例子(输出10遍hello world)

相信细心的小伙伴们已经发现,do……while语句至少会执行一次循环,而while和for语句,只有在条件成立时才会执行循环体。

这点就是他们最大的却别,其他方面,我们可以说,这三者都可以完成一样的功能,能等价转换。

(四)注意事项

1、使用顺序

在编写代码时,优先考虑使用for语句,然后是while,最后才是do……while

2、死循环

有两种最简单的死循环格式:
●while(true){……}
●for(;;){……}

死循环,顾名思义就是:一直转圈出不来,有点类似民间传说“鬼打墙”。如果我们发上面的两端代码写入程序里时,代码就会一直重复不停止,即陷入死循环模式。

比如,我输入下面的代码后,“我讨厌学习”就会一直重复出现,没有人工干预的话,永远不停止。

public class demon {public static void main(String[] args) {while(true) {System.out.println("我讨厌学习");}}
}

改成for(;;)也是如此:

public class demon {public static void main(String[] args) {for(;;) {System.out.println("我讨厌学习");}}
}

(五) 例题

学而时习之,不亦说乎。

理论学完了,让我们来做几道题练练手。

例1 请输出一个4行5列的星星(*)图案。

仔细读题后,你会发现其实题目要求的是这样一个图案:

*****
*****
*****
*****

既然要画图,那么我们不妨在这张二维图上设立2个坐标,x和y,因为电脑不会像人手那样,随便拿起一支笔就能画图,而是通过x和y的坐标来标记图案。

设为x,设为y(当然你也可以反过来),那么x的值就在0——4之间,y的值在 0——5之间(4行5列)。连续输出*就可以了。

这里的0,应该把它看出一个数据,而不是我们常规画图中的那个零点,所以x=0,又小于4,就是四行(0、1、2、3),y=0,又小于5,就是五列(0、1、2、3、4)

所以答案就可以写成:

public class demon {public static void main(String[] args) {for (int x = 0; x < 4; x++) {for (int y = 0; y < 5; y++) {System.out.print("*");}System.out.println();}}
*****
*****
*****
*****Process finished with exit code 0

这里使用循环语句嵌套来写,第一个System.out.print(*)这里省略了ln,是因为我们不换行,需要连续输出5个 星星,第二个System.out.println(),这里的ln说明,在一行连续输出5个星星后,需要换行从新输入,() 表示打印一行。

例2 请输出如下图形

*
**
***
****
*****

自学Java随时放弃(十一 循环结构语句③)相关推荐

  1. 实现抓娃娃游戏功能关键算法。Java使用数组、循环结构语句实现输入十个数字判断最大值,Java判断最大值。

    请你在娃娃机里放十个娃娃,每个娃娃对应一个数字,该数字表示娃娃的大小.要求通过计算能输出最大的娃娃对应的数字,你可以这样做 ① 定义一个大小为 10 的整形数组 a: ② 从键盘输入 10 个整数,放 ...

  2. 04_星仔带你学Java之流程语句(顺序结构、选择结构、循环结构、控制循环结构语句)

    大家好,我是星仔.本博客收录于华星详谈-学习中心.本学习中心收集了Java整个技术体系的所有技术要点.每篇博客后面或者知识点结尾都附带有面试题,提供给大家巩固本章内容.         为各位同胞们能 ...

  3. 一、Java语言基础(3)_流程语句——控制循环结构语句

    2018-04-17 控制循环结构语句 一.break语句 终止当前所在的循环 例: 1 class a 2 { 3 public static void main(String[] args) 4 ...

  4. Java基础语法_循环结构【多测师_何sir】

    Java基础语法_循环结构 for 循环 while 循环 do-while 循环 Java 增强 for 循环 break 关键字 continue 关键字 for 循环 语法结构: for(初始化 ...

  5. 【C语言】一维数组排序(函数,数组和循环结构语句)

    编写程序,实现一维数组排序.对一维数组按照从小到大的顺序排序.程序定义函数sort()来实现数组a的排序.函数原型如下: void sort(int a[], int n); 数组元素的输出调用Pri ...

  6. j1_09_02。冒泡排序法。实现冒泡游戏功能关键算法。要求:综合使用分支、循环结构语句实现,直接输出结果不计分。

    package com; /*** 任务二:实现冒泡游戏功能关键算法并绘制流程图(30 分) 原始数组:a[]={1,9,3,7,4,2,5,0,6,8} 排序后: a[]={0,1,2,3,4,5, ...

  7. c语言循环结构常用语句,浅析C语言三种循环结构语句

    摘 要: C语言是一种广泛使用的高级程序设计语言,文章对C语言中三种循环结构语句进行了分析和比较,使学生更容易理解和掌握. 关键词: C语言 for循环 while循环 do-while循环 一.引言 ...

  8. java中循环语句_Java语法基础之循环结构语句详解

    一.循环结构 循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循 ...

  9. JAVA中几种循环结构的表示_本文通过实例讲解给大家介绍Java中for、while、do while三种循环语句的区别,具体详情如下所示:第一种:for循环 循环结构for语句的格式...

    本文通过实例讲解给大家介绍Java中for.while.do while三种循环语句的区别,具体详情如下所示: 第一种:for循环 循环结构for语句的格式: for(初始化表达式;条件表达式;循环后 ...

最新文章

  1. [PHP] Phalcon操作示范
  2. 2021年图灵奖,花落高性能计算先驱、田纳西大学教授Jack Dongarra
  3. centos6.5 install mongodb
  4. python鱼眼图像识别_一种融合鱼眼图像与深度图像的动态环境视觉里程计方法与流程...
  5. 服务器排障 之 nginx 499 错误的解决
  6. OSChina 周四乱弹 —— 要成立复仇者联盟了,来报名
  7. 最详细的Spring核心IOC的源码分析
  8. windows的盘共享挂载到linux下,通过Windows共享文件夹直接挂载到Linux中使用(实验操作)...
  9. iOS - AVAudioSession详解
  10. 昆仑通态复制的程序可以用吗_昆仑通态MCGS_G系列触摸屏MQTT数据连接发布
  11. centos7.5下安装teamview
  12. pcb 受潮_PCB受潮影响性能有什么好的处理方法?
  13. rockchip eDP 配置
  14. 详解C++学习方向和就业方向!
  15. 怎样在python的turtle中输入文字_Python在图片中添加文字的两种方法
  16. Apche Kylin启动报错:UnknownHostException: node1:2181: invalid IPv6 address
  17. java中的对象是什么_Java中的对象是什么以及如何使用它?
  18. 华硕X43S关闭触控板
  19. 二十九、​Fluent瞬态时间步长与迭代步数的讨论
  20. 【软考】系统集成项目管理工程师(六)项目整体管理

热门文章

  1. Android之获取手机UDID
  2. Java用抽象类模仿动物的叫声
  3. 十四、报错:configparser.InterpolationSyntaxError: ‘%‘ must be followed by ‘%‘ or ‘(‘, found: “%)‘] 的解决
  4. 解决vue问题WebSocketClient.js?5586:16 WebSocket connection to ‘ws://x.x.x.60:8080/ws‘ failed
  5. 考虑延迟环节的电流环设计
  6. 牙科用丙烯酸树脂市场现状及未来发展趋势
  7. AM4379 关于CCS下无法正常加载程序
  8. AC620FPGA学习笔记——PLL与NCO
  9. 谷歌浏览器的使用方法
  10. 05【继承、抽象、权限修饰符、final】