00:00
行,那么接下来咱们这个循环还得往下讲啊各位咱们循环还有一个什么循环呀,哎,还有一个这个while循环。啊。和多呀,行那一块儿看一看这个外循环啊。来,我们新建一个叫做while test01。这个外循环啊,比for循环要简单一些啊,简单一些。While循环啊来,先把这个程序写一下啊,While test01。Public static voman。那么这块呢,咱们这个while循环,首先第一个啊,就是关于while循环的语法机制以及执行原理。
01:00
那首先它的语法机制是什么呢?它的这个语法机制啊,是while,这跟什么呀,跟不玩表达式。啊,然后这个位置是什么呀,是循环体。啊,循环,这是它的语法机制执行原理。是什么呢?是这样的啊,它上来呢,就判断这个布尔表达式的结果,如果为true的话,直行循环体。啊,执行完之后怎么办啊,哎,再判断这个波尔表达式啊,如果标二是为真的话,再执行循环体。啊,然后怎么着啊,再。哎,在判断不表示如果为正的话,在执行就问题啊。再判断,再执行,再判断,再执行,再判断,再执行,直到有一天,我们这个为false y循环就结束了。啊。循环,它的执行原理是什么呢?是判断表达式。的结果啊。如果没。
02:00
针啊,就执行循环体。啊,循环体结束之后,再次判断布尔表达式的结果啊。如果还是真继续执行循环体。直到啊,不玩表达式,结果为false。While循环结束。那么大家分析一下,外循环有没有可能一次循环都不执行?Y循环有没有可能?一次都不执行。有没有可能循环一次都不执行?或者说外循环有没有可能循环执行次数是零次,循环次数为零次?这个有可能啊,如果你上来这个就是条件就是那你这个循环自然是不执行的啊。
03:00
可能,所以while循环的。循环次数啊,是零到N。零到N次。零到N次啊。While就不执行了,不是啊,While就是死循环了啊。来,我们来看一下死循环怎么写,非常之简单,While true。然后呢,接下来system.out.printline打印输出。死循环。循环来,我们在这儿呢,编译一下啊Java c呢,编译一下while走,然后Java去运行while test01走。好的,是不是死循环呀,想终止它怎么终止啊?来CC啊。所以说呢,这个外循环啊,你要注意啊。
04:02
啊,它容易死循环啊,如果这个位置条件一旦啊,一旦出这个问题,说是你这个条件没控制好,那就导致导致死循环,死循环下面的程序永远执行不了的啊,再往下你写代码,这些代码是永远执行不了的。本质上啊,本质上while循环啊。和for循环。原理是完全相同的啊,是相同的。是相同的。只不过呢,就是说呀,For这一块,大家看看是怎么做是这样。For初始化表达式。是不是,然后是布尔表达式对吧,然后是更新表达式是不是,哎,然后是不是循环体啊。循环体,那对于这个来说实际上是这样的,我们能不能在这个位置写一个初始化表达式。行不行没问题吧,哎,接下来在这加一个什么呀,不玩表达式是不是,然后接下来在这里边能不能写循环呀。
05:07
可以吧,哎,在这儿是不是我们有一个叫做更新表达式啊。对吧?哎,大家看其实Y循环也可以这样的,这样的话大家看跟for是不是就没区别了,For这块是初始化表达式,不表达式还有更新表达式,还有循环体,那我问大家这里边有没有循环体,有吧,这这有波尔表达式吗?有吧,那能不能在这个大括号里边循环体之后我们写更新表达式行不行啊。哎,没问题吧,哎,初始化表达式能不能写到这个外循环外边啊。所以这个while循环啊,其实和for循环本质上是相同的。本质上是相同的,While和if有区,当然有区别了,While是循环语句,大家蒙了啊,If Switch属于分支语句,属于选择句啊,How why啊,Do why啊,这些都是循环语句,根本。
06:01
不是一个层面的啊,根本不是一个层面的,你这个东西肯定不能混到一块儿啊,是不是,但是你的if可以嵌套for for可以嵌到if,这个是可以嵌套的啊。可以正常嵌套啊,正常互相嵌套,互相嵌套是没问题的啊,是没问题的,好了,那么这块呢,咱们这个呃讲了一下,我们for和Y其实是相同的,我们比如说举个例子啊,In类型,比如说我们的I呢等于零对吧,然后Y循环I呢干什么呀?I小于十,然后怎么着,我们c.out点打一,我们输入什么样输出我们I的值,I等于是吧,加上I,那么接下来在这里我们进行什么呀?I加加。好,大家看我们现在的这个程序和我们的for循环是不是一样的,来for怎么写呀,For循环对不对?哎,In型I呢等于什么呀,0I干什么呀,小于什么呀?哎,我们的10I干啥呀?加加,然后接下来我们在这同样是c.out点打输出I的值,输出I来加一个箭头,加上我们这个I值。
07:04
啊好,大家看这是一样的呀,这个其实就是它呀,这个其实就是它呀,对不对,哎,这个呢,对应的其实就是它这个语句呢,对应的就是这个语句啊这个语句来Java c编译一下啊while test01.java然后Java去运行WHILE01,好大家看这个结果零到九,零到九是不是,哎零到九,那如果说我现在的这个程序,我给它注释掉,各位注释掉啊,那如果注释掉之后呢,我再贴过来一个新的把I加加呢,我挪一个位置,我挪到这。大家想一想。它所对应的for循环是怎样的?就这个代码,它所对应的for循环是怎样的?如果这个代码要改成for循环的话,怎么改?就是现在我改成这样了。对吧,那我这个缝情况该怎么改呀,来挪过来缝情况怎么改。这个爱加加在哪执行了。
08:01
在判断完这个条件之后,是执行A加加吗?对不对,所以这个位置是不是就不用写了。是写到这就行了。好,大家看这样的话,这个for是不是就和这个while又一样了。因为这个是先执行这个呀,再判断这个条件嘛,然后再执行它对不对,哎,然后呢,再去执行这个对不对,那这个也一样啊,先执行这个,再执行这个,再执行这个。是不是你这个地方空白不就行了吗?所以while呢和for呢,实际上本质上相同,只不过就是语法语法格式不同啊,For和while是完全可以互换的啊,For和while完全可以互换啊,只不过啊啊就是语法格式不一样。语法格式不一样,那它输出结果是啥呀?I等于零,I小于十嘛,小于十,那么紧接着I加加之后呢,变成了一对不对一输出,那这边是不是输出一呀。对吧,输出一之后怎么办呀,输出一之后呢,一小于十不小于十对吧,一加加变成二,所以输出二吧三吧,是不是一直到九吧,九输出之后,我们在这九是不是仍然是小于十的呀,所以九加变成十,是不是十会输出啊,十输出之后呢,十小于十,结果是不是就false,这个是不是就不执行了呀?哎,所以这个就是一到十,那么这个呢,哎也是什么呀,哎,一到十。
09:25
那么接下来看一下啊,这个程序Java c呢,去编译一下Java去运行,好大家看这个是不是I是一到十,这个是不是也是我们的一到十啊,没有任何问题对不对,哎,这就是Y循环啊,就是Y循环很简单啊,我呢就不再多讲了,各位啊,这个while呢,我就讲到这儿,因为它和for呢是一样的啊,For咱们讲了很长很长的时间,那循环。能不能嵌套for啊,For里面能不能嵌套while啊,都是可以的啊,没问题没问题啊,都可以。
我来说两句