break、continue区别
break命令
break命令允许跳出所有循环(终止执行后面的所有循环)。
下面的例子中,脚本进入死循环直至用户输入数字大于5。要跳出这个循环,返回到shell提示符下,就要使用break命令。
1. #!/bin/bash
2. while :
3. do
4. echo -n "Input a number between 1 to 5: "
5. read aNum
6. case $aNum in
7. 1|2|3|4|5) echo "Your number is $aNum!"
8. ;;
9. *) echo "You do not select a number between 1 to 5, game is over!"
10. break
11. ;;
12. esac
13. done
在嵌套循环中,break 命令后面还可以跟一个整数,表示跳出第几层循环。例如:
1. break n
表示跳出第 n 层循环。
下面是一个嵌套循环的例子,如果 var1 等于 2,并且 var2 等于 0,就跳出循环:
1. #!/bin/bash
2. for var1 in 1 2 3
3. do
4. for var2 in 0 5
5. do
6. if [ $var1 -eq 2 -a $var2 -eq 0 ]
7. then
8. break 2
9. else
10. echo "$var1 $var2"
11. fi
12. done
13. done
如上,break 2 表示直接跳出外层循环。运行结果:
1 0
1 5
continue命令
continue命令与break命令类似,只有一点差别,它不会跳出所有循环,仅仅跳出当前循环。
对上面的例子进行修改:
1. #!/bin/bash
2. while :
3. do
4. echo -n "Input a number between 1 to 5: "
5. read aNum
6. case $aNum in
7. 1|2|3|4|5) echo "Your number is $aNum!"
8. ;;
9. *) echo "You do not select a number between 1 to 5!"
10. continue
11. echo "Game is over!"
12. ;;
13. esac
14. done
运行代码发现,当输入大于5的数字时,该例中的循环不会结束,语句
1. echo "Game is over!"
永远不会被执行。
同样,continue 后面也可以跟一个数字,表示跳出第几层循环。
再看一个 continue 的例子:
1. #!/bin/bash
2. NUMS="1 2 3 4 5 6 7"
3. for NUM in $NUMS
4. do
5. Q=`expr $NUM % 2`
6. if [ $Q -eq 0 ]
7. then
8. echo "Number is an even number!!"
9. continue
10. fi
11. echo "Found odd number"
12. done
运行结果:
Found odd number
Number is an even number!!
Found odd number
Number is an even number!!
Found odd number
Number is an even number!!
Found odd number
break、continue区别的更多相关文章
- break continue 区别 以及实例
不论是MATLAB.c/c++.c#还是其他类型的编程语言,我们总是避免不了和for循环以及switch语句打交道,而对循环进行优化的时候,又总是避免不了用到break以及continue来控制循环, ...
- return break continue区别
return:1.跳出整个方法体 2.返回值 function(a){return a=2}; break:跳出当前循环, continue:跳出当前判断继续执行
- 有关于break,continue,return的区别和代码分析
今天,用代码和结果直接解释break,continue,return的区别 1.break代码 public static void breakTest() { //break的讲解 for(int ...
- day5 continue 和 break的区别
# continue num = 1 while num <=10: num += 1 if num == 3: continue print(num) # continue 表示跳出本次循环后 ...
- break,continue,return的区别
break,continue,return的区别 break 当break语句用于循环语句时,会终止执行循环,并执行循环后代码(如果有的话). function main() { for(var i ...
- js中return 、return false 、return true、break、continue区别
在开发中不熟悉这三者区别的同学,一般都知道return可以中止,但会根据字面意思觉得return true 中止当前函数执行,但其后的函数还会继续执行.return false 中止当前函数执行,其后 ...
- (转)Shell脚本之break,continue,和exit区别
Linux脚本中的break continue exit return break结束并退出循环 continue在循环中不执行continue下面的代码,转而进入下一轮循环 exit退出脚本,常带一 ...
- js中的break,continue和return的用法及区别
为什么要说个?好像很简单,但是我也会迷糊,不懂有时候为什么要用return,然而break和continue也经常和他放在一起. 所以就一起来说一说,这三个看起来很简单,却常常会出错的关键词的具体用法 ...
- break continue exit return 的区别
[root@localhost day1]# cat ss.sh #!/bin/bash for ((i=0;i<5;i++)) do if [ $i -eq 3 ] then break #c ...
- Python基础1:if条件判断 break/continue语句
计算机之所以能做很多自动化的任务,因为它可以自己做条件判断. Python中,if语句被用来进行判断,它的语法结构是: 1 if 判断条件: 2 执行语句…… 3 var = input(" ...
随机推荐
- 案例学Python--案例四:Django实现一个网站的雏形(1)
第一次用python的Web框架,也是第一次听说Django,参考菜鸡教程和一些博客,倒腾了半天,算是有一个雏形.数据基于昨天爬的豆瓣电影信息,详见案例三. Python版本:3.7.1 Django ...
- flask-socketio笔记
Flask-SocketIO使Flask应用程序可以访问客户端和服务器之间的低延迟双向通信. 客户端应用程序可以使用Javascript,C ++,Java和Swift中的任何SocketIO官方客户 ...
- package-lock.json的作用
其实用一句话来概括很简单,就是锁定安装时的包的版本号,并且需要上传到git,以保证其他人在npm install时大家的依赖能保证一致. 引用知乎@周载南的回答 根据官方文档,这个package-lo ...
- 单工程搭建springmvc+spring+mybatis(maven,idea)
单工程搭建springmvc+spring+mybatis(maven,idea) 1.pom.xml <properties> <project.build.sourceEncod ...
- 作业6-COSPLAY孩子他家长
为了我提高我女儿的数学能力,我以下我会根据我想要的功能做出相应的解决方案,为了孩子,父母也可以想的比老师周到.可怜天下父母心. 编号. 名称. ...
- Beta阶段敏捷冲刺四
一.举行站立式会议 1.当天站立式会议照片一张 2.团队成员报告 林楚虹 (1) 昨天已完成的工作:导入到数据表 (2) 今天计划完成的工作:排行榜功能 (3) 工作中遇到的困难:转为csv文件时音标 ...
- Selenium的自我总结2_元素基本操作
对于Selenium的基本元素的操作,就自己的了解做了一个基本的介绍,这篇直接上代码,针对一个页面如何操作写了些基本的操作脚本,希望对初学者有一定的帮助,也希望通过这些总结让自己有一些清晰的认识和了解 ...
- 防止xss攻击。
function htmlEscape(text){ return text.replace(/[<>&\"=]/g,function(match,pos,origina ...
- [转帖]浪潮openstack的逆袭
扬长补短 浪潮云平台的逆袭 http://blog.itpub.net/11310314/viewspace-2564083/ 浪潮并不是最早加入OpenStack的国内厂商,却实现同比303.1%的 ...
- Node require
var user = require("./module_user");//使用模块 module_userconsole.log(user.userCount);user.use ...