do-while语句和while的区别
do-while语句是一种后测试循环语句,即只有在循环体中的代码执行之后,才会测试出口条件。其实就是,代码在刚开始执行的时候,都是要先走一遍do循环体内的代码,然后在与while里面的条件进行判断,成立循环就一直继续下去,不成立就跳出循环。循环体内代码至少被执行一次。(肚子饿了,看到吃的先狂吃一顿,直到被发现了,就闭嘴停不吃了)
while语句是属于前测试循环语句,也就是说,在循环体内的代码被执行之前,就会对出口条件求值。其实就是先与while里面的条件进行判断,成立就走循环体内的代码,不成立就不走循环体内代码。循环体内的代码有可能永远不会执行。(肚子饿了,先问一下能不能吃东西,同意了就狂吃,直到不允许吃为止,不同意,就忍着忍着忍着不吃走了.....)
一.do-while语句
do-while语句的语法:
do{
statement
}while(expression);
看下面示例:
var i=10;
do{
i+=2;
}while(i<10)
alert(i) // 12 (允许你吃了,就给了你两个蛋挞)
第一眼看10<10不成立呀,alert(i)应该弹出10才对呀,为什么是12呢?因为在对表达式求值之前,都要先执行一遍循环体内的代码(i+2=10+2;i=12),然后才会与出口条件进行判断(i<10=>12<10,),成立就继续循环,不成立就跳出循环,执行结束!
看下面示例
var i=0;
do{
i+=2;
alert(i) // 2,4,6,8,10 只要变量小于10,循环就一直继续下去,直到不满足条件后寄跳出循环。(允许你吃了,连着给了你好几个蛋挞)
}while(i<10)
二.while语句
while语句的语法:
while(expression){
statement
}
看下面示例:
var i=10;
while(i<10){
i+=2
alert(i) // 什么都没有 条件不成立,没有走循坏体 (我就是不给你吃不给你吃,一个蛋挞都不给)
}
alert(i) // 10 (好吧,那我啃老去了,这个10,是全局变量i=10)
在看下面示例
var i=0;
while(i<10){
i+=2
alert(i) // 2,4,6,8,10 只要变量小于10,循环就一直继续下去,直到不满足条件后寄跳出循环。(看你可怜,允许你吃了吧,连着给了你好几个蛋挞)
}
while里面的判断条件成立,然后走循环体,直到不满足条件后,跳出循环,执行结束。
do-while && while
do-while 语句至少执行一次循环体内的代码;
while 条件不成立,语句永远不会执行循环体内的代码;
分享技术,分享快乐!
do-while语句和while的区别的更多相关文章
- SQL语句——exists和in区别
表结构及数据 user表 order表 in select * from table A where id in (xxxxxxxxxxx):满足条件的数据会被查出来: 先查询子查询的表,然后将内表. ...
- sql几种删除语句的联系与区别
DELETE.TRUNCATE.DROP三种删除语句联系与区别 相同点: 1.truncate和不带where子句的delete.以及drop都会删除表内的数据. 2.drop.truncate都是D ...
- if语句和switch语句的选择与区别
if语句和Switch语句的选择 if 结构 基本if选择结构: 处理单一或组合条件的情况 if-else选择结构:处理简单的条件分支情况 多重if选择结构:处理复杂的条件分支情况 嵌套if选择结构: ...
- if选择语句与switch选择语句的比较、区别及应用场景
if选择语句和switch选择语句的比较: 1.switch语句只支持常量值相等的分支判断,而if语句支持更为灵活,任意布尔表达式均可: 2.switch语句通常比一系列嵌套if语句效率更高:逻辑更加 ...
- if语句中的 == 和= 区别
”==“ 是判断二者的值是否相等 ”=“是赋值,是将后者的值赋值给前者,不需要比较,在if语句中用”==“来判断ul当前的状态,来判断执行的操作,若是用”=“,则相等于说ul的状态就是后者,直接执 ...
- sql语句中#{}和${}的区别
#---将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号.如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by “111”, 如果传入的 ...
- Python语句,表达式的区别?
参考了网上的文章,说 表达式的结果是值,对象 比如1+2, 是表达式 具体根据运算符不同有算术,逻辑,比较等等类型的表达式 语句是控制程序走向,不产生值 例如if/else等 参考: https:// ...
- 多个if语句和else if区别
多个if是所有的if都会进行判断if else if是只要有满足条件的,就不再对之后的else if进行判断比如a = 2;if(a==1) c=1;if(a==2) c=2;if(a%2==0) c ...
- sql语句中的insert 和 insert into 的区别?into有什么用?
insert into tableName values(........) insert tableName (字段名1,字段名2,...)values(......)看语句结构就知道区别了 .in ...
随机推荐
- collectionView itemW宽度计算不对
([[UIScreen mainScreen] bounds].size.width - 28) / 4.00 没加括号 collectioView不能正常撑开 用flowLayout 不要用 代理方 ...
- 转!!git如何撤销上一次commit(或已push)
原博文地址 : https://www.cnblogs.com/lyy-2016/p/6509707.html git如何撤销上一次commit操作 1.第一种情况:还没有push,只是在本地comm ...
- Day02 html回顾和CSS介绍
昨天内容回顾 1.html的操作思想 ** 使用标签把要操作的数据包起来,通过修改标签的属性值来实现标签内数据样式的变化 *** <font size=& ...
- 第1章 1.6计算机网络概述--OSI参考模型
ISO七层模式:国际标准组织对互联网通信规则进行的定义. 7.应用层:所有能产生网络流量的程序,如:QQ. 6.表示层:传输前对数据进行进行处理,是一种数据处理的规则,如:加密.压缩.传输二进制(图片 ...
- DBA-常用到的动态视图分析语句
--语句1:获取前20逻辑读取次数或逻辑写入次数或CPU 时间 ), ((CASE qs.statement_end_offset THEN DATALENGTH(qt.TEXT) ELSE qs.s ...
- Hive重写表数据丢失风险记录
若在Hive中执行INSERT OVERWRITE重写同一个表的数据时,有可能会造成数据丢失. 如 INSERT OVERWRITE TABLE table_name SELECT * FROM ta ...
- Elasticsearch查询规则(一)match和term
es种有两种查询模式,一种是像传递URL参数一样去传递查询语句,被称为简单搜索或查询字符串(query string)搜索,比如 GET /megacorp/employee/_search //查询 ...
- C#字母转换成数字/数字转换成字母 - ASCII码转换
字母转换成数字 byte[] array = new byte[1]; //定义一组数组arrayarray = System.Text.Encoding.ASCII.GetBytes(strin ...
- C#让应用程序只运行一个实例的几种方法
一 判断是否有相同的实例已经运行 1 根据“Mutex”判断是否有相同的实例在运行 /// <returns>已有实例运行返回true,否则为false</returns>pu ...
- Windows Server 2008 R2(X64) MSDN镜像简体中文版与英文版ISO下载及Key激活码
Windows Server 2008 R2 MSDN ISO镜像简体中文版 文件名:cn_windows_server_2008_r2_standard_enterprise_datacenter_ ...