java中的while循环和do while循环
那么在讲解循环之前呢我们先来了解一下什么是循环 生活中的例子 车子的轮胎他就是一直在循环 马拉松跑到也是在循环 因为运动员不停的一圈一圈在跑这也是一个循环
那么我们为什么要学习循环呢?
下面看一个小问题 张浩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循环的区别
最新文章
- Yii2.0中文开发向导——Yii2中多表关联查询(join、joinwith)(转)
- (旧)子数涵数·C语言——指针
- Rest服务
- ajax success 和complete 的区别
- Gestures_Article_4_0
- POJ 3468 A Simple Problem with Integers (线段树成段更新)
- javascript之css常用属性
- JS基础函数
- IT该忍者神龟Jquery小工具easyUI物业摘要召回
- WCF消息交换模式之双工通讯(Duplex)
- EXchange导出通讯录提取url纯文本
- 从网络获取json数据,使用imageloader获取网络图片资源并显示在ListView上
- PL/SQL 游标 (实验七)
- 【原】storm组件(架构层面)
- [模板] 快速傅里叶变换/FFT/NTT
- Appcan开发笔记:导出Excel文件
- SQL语句:Mac 下 处理myql 不能远程登录和本地登录问题
- [BZOJ4082][Wf2014]Surveillance[倍增]
- BZOJ2729 HNOI2012排队(组合数学+高精度)
- Ubuntu18.04下希捷移动硬盘Seagate Backup Plus读写慢
热门文章
- python 入门手册
- kafka + spark Streaming + Tranquility Server发送数据到druid
- ./config\make\make install命令详解
- 【待填坑】LG_4996_咕咕咕
- pycharm中无法导入pip安装的包
- js mvvm:闲来无事,实现一个只具最基本数据双向绑定的mvvm
- [CF1009F] Dominant Indices (+dsu on tree详解)
- 吴裕雄--天生自然python编程:实例(3)
- HashMap底层分析
- TCP并发、GIL全局锁、多线程讨论