不论是MATLAB、c/c++、c#还是其他类型的编程语言,我们总是避免不了和for循环以及switch语句打交道,而对循环进行优化的时候,又总是避免不了用到break以及continue来控制循环,由于算法是相通的,所以,这里我们采用简洁的MATLAB语言进行实例,阐述break与continue的用法区别。
工具/原料
MATLAB
break的用法
-
1
break在循环中的功能是跳出当前循环。
我们通过下面一个十分简洁的例子,介绍一下break函数的用法。
新建一个M文件输入如下图所示命令。
代码解释:
此段代码是从1循环到6,如果遇到i等于4,break跳出循环。第5行只写一个i,可以实现记录输出此时循环的个数。
-
2
运行以上程序结果如下:
我们可以看到,先是输出1,2,3,,在i=4时,遇到了判断i==4,为真,这样执行break语句跳出当前循环,break后面的所有语句都不再执行,跳出for循环。注意跳出的是距离此break语句最近的循环。
END
continue用法
-
1
continue的功能是结束本次循环跳到下一次循环。
为了和break语句进行鲜明的对照,我们将上一个例子中的break语句替换为continue。
具体代码如下图:
-
2
我们执行以上命令,可以看到下图所示的结果;
输出的是1 2 3 5 6。
代码执行的顺序是:i=1,时不满足条件,i=2,i=3都不满足判断条件,输出1 2 3,当i=4时,进行判断,i==4?,结果为真,执行continue,跳出本次循环,后面的语句不再执行,不再输出4,直接到下一次循环。然后输出5 6
END
二者的注意事项
-
二者都作用的是当前循环,对于嵌套循环,如果这两者在内部循环中则只作用于内部循环。
下面有两个例子。
-
break嵌套循环测试
如下图,在内部循环内break语句生效,跳出内部循环,执行外部循环,输出 1 2 3.
-
continue嵌套循环测试
请思考一下下面输出的结果:
3 1 3 2 3 3
END
注意事项
关于break和continue的区别,在循环中一定要理清,不然错误会很严重。
如果以上经验有用,请点击下方的有用按钮支持我的工作,谢谢。