原文链接:https://mp.weixin.qq.com/s/Et4_28Dhcd7XcMfqPS-qTQ
大家可以关注我个人公众号,所有分享内容,会在公众号第一时间推送,且阅读排版更好。
愿大家的学习,轻松且愉快。
如果大家觉得有用,希望转发关注,谢谢
导读
我们经常见到循环中的终止关键字EXIT、CONTINUE以及CHECK。
作为业务顾问,以前自己看代码的时候,遇到这两个关键字,经常搞不清楚,导致自己对整个程序的处理逻辑上理解有问题。
本篇,我们就这三个关键分别字是什么效果,如何控制循环的,进行简单的分析。
正文
EXIT 和 CONTINUE的应用和区别
EXIT
如果循环语句中存在“EXIT”,当执行到EXIT时,将终止之后的所有循环。
CONTINUE
如果循环语句中存在“CONTINUE”,当执行到CONTINUE时,将执行此次循环,进入之后的循环语句。
实例说明
接下来,我们通过实例进行更为直观的描述
实例分析:
1.上述语法举例加了循环控制关键字,如果没有循环终止的话,上述语句的输出结果是:成对输出5次循环次数。
2.上图中第一部分和第二部分,分别用了EXIT和CONTINUE两个终止关键字,在当循环次数等于3时,对循环语句进行了控制。
3.对于EXIT被触发后,很明显,在输出了1个“第3循环”后,程序彻底终止了所有的输出,第4、5次的输出都没有继续进行了。
4.对于CONTINUE被触发后,很明显,在输出了1个“第3循环”后,程序只是没有输出第二个“第3循环”,也就是仅终止了本次循环,后续第4、5次循环被正常执行了。
我们结合下图,就能比较清楚地理解了。
CHECK
作为单独判断语句,后面应该接一个条件,如果满足条件,则继续执行循环,如果不满足条件,则跳出当前循环。
实例分析
1. 在上述实例中,“CHECK SY-INDEX <> 3. ”是指当循环次数不等于3时,再进行之后的循环,所以,在第1、2、4、5次循环时,“循环次数不等于3”这一条件均满足,即,可执行后续的语句,因此,都进行成了成对输出;
2. 在第3次循环时,“循环次数不等于3”这一条件不满足,因此,只输出了在条件判断之前的“第3循环”这一结果。
3. 根据输出的结果,我们能看到CHECK加上适当条件,可以实现if+continue的控制效果,也就是当check中的条件不满足时,程序会终止此次循环,继续执行之后的循环,并不会彻底退出循环。
最后的总结:
基于上述内容,我们能够比较清楚地了解EXIT,CONTINUE和CHECK的控制原理了。另,我们会经常见到EXIT,CHECK不仅在循环中出现,也会在FORM,METHOD等程序块中出现,一旦触发条件导致需要退出时,此时会退出此程序块,执行之后的程序。这个后续有机会在做分享。