00:00
里边的for推导式基本的语法我们都已经了解了,那接下来呢,我们再来介绍一些比较强大的额外的特性。首先我们要介绍的是循环守位啊,那循环守位的概念是什么呢?啊?循环守位有时候也叫做循环保护式,或者叫条件判断式,它是什么意思呢?就是在当前做推导式的基础上,后边可以加一个if条件。这个if条件,比方说我们加了一个if I不等于二,那是什么意思呢?就是只有在I不等于二的情况下,我才进行下边的循环代码的执行,那如果要是I等于二的时候,那就直接跳过了。诶,所以大家会发现,为什么叫循环守卫呢?就相当于他是一个守门员,我要按照这个条件去做判断,如果你要是不符合条件的话,我就直接把你拒之文门外,当前的这一个代码块就不要做循环执行了,所以它其实就非常类似于我们平常在循环里边用到的continue for循环里边的continue对吧?啊,所以大家看到在这个scale拉里语法里边,它其实关键字是省略了很多的,比如说continue它就省略掉了,就没有这样的一个语法,那它用什么来实现呢?就可以用循环首位来实现啊,所以接下来我们可以在代码里边把这一部分也做一个讲解,首先我们还是解一个分分界线,分割线。
01:30
三部分循环首位,那其实大家想到比方说我们现在要做这样的一个判断啊,就是假如说前面我们这个是从一到十嘛,那如果说当前的。我要判断啊,当前等于五的时候,我就不想让他做这个循环,我想跳过五的这一次,那应该怎么做这个实线呢?哎,常规的这个写法的话,其实比较简单,实先我们把这个导时先写出来,哎,从一到十,然后接下来那等于五的时候要跳过,其实就是说。
02:12
如果是这个Java里边其实比较简单,就是if I等于五的时候,其实里边我们应该要写一个continue对吧?啊,然后然后else边去写一个方,说我们现在要printline I做一个打印啊,这个是大家比较容易想到的,那在SC里边呢,没有continue这个关键字,那应该怎么实现呢?那其实仔细他仔细一想的话,就会发现这个确实没必要,为什么呢?所以你这里边I等于五的时候,Continue,那不就相当于I不等于五的时候,要去执行下面的这个print line吗?哎,所以这个其实可以非常简单啊,我把这个直接合并在一起,那就是if I等于五,然后print line也就完事了啊,所以这个代码其实非常简单的,那呃,本来这个代码很简单,但是相当于就多了很多行,而且大家会发现啊。
03:13
我们做这个条件判断,它其实它其实应该是什么个意思呢?就是我取这个范围,一到十的范围,是不是在这个范围里边就应该把五排除掉啊,哎,所以你I一开始取值就不应该取它,而不是先已经取好了之后,后边再把它排除,哎,所以我们从这个实线上可以直接写成这个循环首位的格式,那就看起来会更加的简洁,一到十后,后边是一负I等于五,所以整体来看的话,其实就是把我们到循环体里边的一符判断提到了推导式里边,哎,这样的话,下边我们的动画代码块会逻辑非常的简洁,一目了然啊,这是这个循环首位的使用方式,那我们可以在这里边运行一下,大家看看是不是直接就会跳过五。
04:09
大家看没有问题,1234之后就是六七八九十两种实现最后的结果都是完全一致的,用这种方式就可以直接实现这个Java里边的continue的这种这种用法啊,所以我们如果要是说呃。跳出当前循环,然后直接继续去执行剩下的那些啊,循环变量取得值的话,那相当于我们直接用循环首位就可以实现了,肯定就关键字完全没有必要就省略掉了。
我来说两句