那么在讲解循环之前呢我们先来了解一下什么是循环   生活中的例子 车子的轮胎他就是一直在循环 马拉松跑到也是在循环 因为运动员不停的一圈一圈在跑这也是一个循环

那么我们为什么要学习循环呢?

下面看一个小问题  张浩Java考试成绩未达到自己的目标。为了表明自己勤奋学习的决心,他决定在程序中写一百遍“好好学习,天天向上!”打印出来,效果如图所示

可以看到张浩打印了100遍System.out.print("好好学习天天向上");写了好久非常麻烦如如果我们写一万遍你 那么有没有更简单的方法实现这个复杂的问题呢,既然我门讲到这了那就一定有解决他的问题 我们今天学习了循环 就可以很轻松的解决者这个问题如下图可以显示同样的效果

这个看起来是不是特别简单啊  下面我们来了解一下究竟怎么利用这个循环

  首先我们来看一下循环的语法结构所谓语法结构就是不可以修改的

while(循环条件){

  循环操作

}

大家可以看到 while循环的基本语法结构  这个语法结构就像是生活中的法律 不可以修改  while()括号里面有循环条件 如果循环条件返回为true 也就是满足循环条件那么就执行循环操作  否则 就不会执行循环操作

左边的是语法  右边的是具体操作 首先定义了一个变量 int i=1;

循环条件是如果i小于等于100 那么就执行循环操作 也就是所谓的 大括号里面的代码  然后i++ 代表 i=i+1;每一次i都是在自身原有的值基础上自身加1 第一次i++    i的值是1每一次都加一 循环100次 然后条件不成立就完成了循环

  注意:但是使用这个循环一定要注意 如果条件永远成立的话那就就会死循环 如果出现这个情况就需要终止程序

死循环这个问题  基本上所有刚接触这个知识点的人都遇到过这个问题  我们上面的案例控制循环条件的是  i  因为 每执行一循环 i的值就会加1等到i的值大于100的时候 那么循环结构不成立 所以就不会再次执行循环操作

while循环的特点是先判断 在执行 如果判断结构返回的是错误 那么不会执行  
既然我们了解了while循环 下面我们来了解do while循环

首先 看一下 为师呢么要使用do while循环

这里有个问题

  经过几天的学习,老师给张浩一道测试题,
  让他先上机编写程序完成,
  然后老师检查是否合格。如果不合格,则继续编写

如果使用 while循环 那么也只能先判断 合不合格  但是我们这个题是先让你看一下 然后在判断合格否 那么这样的问题应该怎么解决呢这就需要我们的do -while循环了

do while语法

可以看出  while 与 do while 循环 的不同点是 do -while循环是先执行一次 在判断  while循环是先判断在执行while循环是如果条件不成立一次都不执行

do while循环是不管条件成不成立都先执行一次

具体的示例就是

先看 然后在判断 下面的while寻胡娜条件是  如果用户输入的是y那么继续循环 但是你要注意的是 前面有个!号 意思是 取反的意思 如果是真则结果假 如果是假 则结果为真 也就是说如果用户输入y那么就停止循环了

下面看一下while循环合do-while循环的区别

java中的while循环和do while循环的更多相关文章

  1. 2017.10.13 Java中引用类型变量的创建及使用&循环高级写法

    今日内容介绍 1.引用类型变量的创建及使用 2.流程控制语句之选择语句 3.流程控制语句之循环语句 4.循环高级 ###01创建引用类型变量公式     * A: 创建引用类型变量公式         ...

  2. 2017.9.30 Java中引用类型变量的创建及使用&循环的高级

    今日内容介绍 1.引用类型变量的创建及使用 2.流程控制语句之选择语句 3.流程控制语句之循环语句 4.循环高级 ###01创建引用类型变量公式     * A: 创建引用类型变量公式         ...

  3. 【视频+图文】带你快速掌握Java中含break语句的双重for循环

    双重for循环掌握后,我们就一起来看看双重for循环的进阶内容一之带break语句的双重for循环. 双重for循环[视频+图文]讲解传输门:点击这里可去小乔的哔哩哔哩观看~ 带continue语句的 ...

  4. 在java中,怎样跳出当前的多重循环?

    </pre>直接用break ;详细举比例如以下:<p></p><p></p><p></p><pre name ...

  5. Java中Timer和TimerTask来实现计时器循环触发

    package xian; import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.Fi ...

  6. java中break和continue跳出指定循环(转载)

    java中break和continue跳出指定循环 java中break和continue可以跳出指定循环,break和continue之后不加任何循环名则默认跳出其所在的循环,在其后加指定循环名,则 ...

  7. Java中的for循环——通过示例学习Java编程(9)

      作者:CHAITANYA SINGH 来源:https://www.koofun.com/pro/kfpostsdetail?kfpostsid=21 循环用于反复执行同一组语句,直到满足特定条件 ...

  8. java中多重循环和break、continue语句

    一.嵌套循环 循环可以互相嵌套,以实现更加复杂的逻辑,其代码的复杂程度也会提高,对初学者而言这应该是个难点,下面我们通过一些例子说明嵌套循环的使用,读者要自己把这些代码上机练习,并理解程序运行的流程. ...

  9. Java中的break和continue以及标签

    一.Java中的break,continue,goto 首先break,continue是Java中的关键字,而goto是保留字. 基于goto在c和c++中的鬼畜表现,我觉得goto可能还会长期在J ...

  10. Java 中数组的遍历方式

    数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同. Java 语言中提供的数组是用来存储固定大小的同类型元素. 今天我们就来说一下在java中遍历数组都有哪几 ...

随机推荐

  1. 微信小程序的标签和html标签比较

    html 小程序 <div></div> <view></view> <h1><h2>....<h6> <p& ...

  2. JS中获得指定日期前或后几天对应的日期

    var d = new Date(); d.setDate(d.getDate() - 2); console.log(d.toString()); // First of month var c = ...

  3. IntelliJ的.iml文件及相关的Class Not Found 问题

    .iml 文件是IntelliJ IDEA 自动创建的模块文件,用于Java应用开发,存储一些模块开发相关的信息,比如一个Java组件, 插件组件,Maven组件等等, 还可能会存储一些模块路径信息, ...

  4. python往mysql数据库中写入数据和更新插入数据

    本文链接:https://blog.csdn.net/Mr__lqy/article/details/85719603 1. 连接mysql import pymysql db = pymysql.c ...

  5. Leaflet,OpenLayers3加载ArcGIS切片(png格式,Exploded松散型)

    需求 做了一个简单的WebGIS应用,不想因为加载切片就安装一台GIS服务器.于是想直接访问图片的方式来加载地图. 需解决的问题 leafletjs目前是不能够直接加载ArcGIS服务切片的,但可以借 ...

  6. import org.apache.commons.codec.binary.Base64;

    import org.apache.commons.codec.binary.Base64;

  7. java中Redis5大基本类型的用法

    存储格式 基本用法 通过Jedis(封装了redis的Java客户端)对redis进行操作. Jedis工具类 public class JedisPoolUtil { private static ...

  8. spring boot 创建定时任务

    @Scheduled默认创建的线程是单线程,任务的执行会受到上一个任务的影响,创建定时任务也比较简单 123456789101112 @Component@Configuration //1.主要用于 ...

  9. Event Handling Guide for iOS(五)

    基本概念: 加速计: 又称加速度计,测量设备运动的加速度. 加速度: 矢量,描绘速度的方向和大小变化的快慢. 陀螺仪: 感测与维持方向的装置. 原文: Motion Event声明: 由于本人水平有限 ...

  10. MySQL5.7报错[ERROR] Unix socket lock file is empty /tmp/mysql.sock.lock的解决方法

    发现MySQL服务器因系统磁盘写满导致服务停了,清理磁盘后启动服务时无法正常启动,查看localhost.err日志发现如下报错: [ERROR] Unix socket lock file is e ...