同学你好
本节课的内容是Java的循环语句
Java的循环语句有这样几种
while语句
do while语句
for语句和foreach循环
首先来看一下while语句
它的格式是这样的
它的流程是首先要判断一下
while后边表达式的结果
是true还是false
如果是true，就要执行while后面的语句
之后再进行表达式的判断
再去执行
while后面的语句形成一个循环
当表达式的结果为false时会退出该循环
while后面花括号里的语句就构成循环体
do while语句
它的格式是这样的
它的流程是先不做判断
先执行一次循环体的语句
执行一次之后再去判断while后面表达式的值
如果是true则继续去执行循环体里的内容
循环往复
直到表达式的值为false时
退出循环或者说循环结束
在这里
do后边花括号里的语句称为循环体
还有一个需要注意的地方就是
while后边要有一个分号
分号一定不能忘
还有一种循环语句
称为for语句
当for语句的循环体里只有一个语句的时候
就不用加花括号
当它的循环体包含多条语句的时候
需要加花括号
for后边
括号里有三个表达式
要注意这三个表达式要用分号隔开
for语句的
流程是这样的
第一个表达式它的作用是给循环变量赋初值
第二个表达式的作用是
判断循环的条件是true还是false
第三个表达式的作用是让循环变量增加或减少
就是要让它变化
首先求解第一个表达式
之后要做一个判断
要判断第二个表达式它的值是true还是false
如果它的值是true
则执行循环体当中的语句
接下来执行完语句之后
继续去求解表达式3的值
求解完之后再来做判断
判断表达式2的值是true还是false
就这样循环起来
直到表达式2的值为false时循环结束
下面我们来看一个练习
计算一下1到100之间各个偶数的和
也就是2加4一直加到一百求和
我们先来看一下
如果使用while语句怎么去实现？
首先，i叫循环变量
给它赋一个初值
因为我们要从2开始加
所累加的内容放到哪里？
放到一个变量sum里
它的初始的值是0
接下来就有一个while循环
在while后面要进行一个判断
判断这个循环变量是否是小于等于100
如果超出一百的范围
就不要继续往下累加了
如果小于等于100
就要进行一个累加的运算
累加结束之后要对循环变量进行加2
因为我们每次求偶数2、4、6
每次都是一个加2的操作
循环变量变化之后
就会再返回这个循环的开始
去判断这个表达式的值是true还是false
直到i的值大于一百
结束这个循环
就可以完成
把从2+4+6一直加到一百的结果
存放在这个变量sum中
并且把它输出出来
可以看到在while循环里通常是这样的一种形式
在while循环之前
要进行循环变量的赋初值
在while的循环开始的时候
在它的表达式里要去判断是真还是假
或者是true or false
在循环体里
除了要做它自己应该做的事情之外
还有一步非常重要的操作
就是对循环变量进行增加或者减少的操作
让循环变量发生改变之后继续去判断
才能使这个循环执行下去
下面我们再来看同样一个任务
如果使用do while要怎么去实现
和while是类似的
可以看到在do while循环开始的时候
也要先进行循环变量赋初值
在这个循环体里也要去做事情
进行一个累加的操作
做完事情之后
依然要让循环变量发生改变
改变之后要判断while
表达式的值是true还是false
来判断这个循环是否要进行下去还是要结束
只是不同的地方在于do while循环
不管表达式的结果如何
它都要先执行一遍循环体
然后才去做判断
依然要提醒的是在while语句后边
一定不能忘了写分号
下面再来看一下
如果使用for语句
怎么样去完成任务呢
也很简单
在for语句里我们可以看到
和while、do while不同的是
赋初值的部分被for涵盖在第一个表达式里了
这就是对循环变量赋初值
之后
要判断第二个表达式是否成立
如果成立就要去做事情
做完事情之后
在while或者do while循环里
所做的是循环变量修改的操作
被它集成到了第三个表达式
这样就是对第三个表达式
完成的任务就是使循环变量改变
改变了之后继续去判断表达式2的结果是
true还是false，如果为true就继续执行
执行完了之后再去改变循环变量
再去判断，再去执行
这样就会形成一个循环
可以看到
在for语句当中
第一个也就是给循环变量赋初值的操作
只执行了一次
之后
都是这样的一个循环操作
也能够把1到100之间所有偶数的和求出来
Java5以上的版本都提供了一种foreach循环
这种循环用于遍历数组或者是集合
使用这种循环的时候
无需获得数组和集合的长度
也无需根据索引来访问数组元素和集合的元素
它的格式是这样的
在for后边的括号里有一个冒号
冒号的右边是数组或者集合
冒号的左边是要定义一种
和这数组集合相匹配的变量
然后使用变量去遍历数组或者集合
我们来看一个例子
这个例子要完成一个什么任务？
首先声明了一个数组num
并且给它赋了初值
给它赋值了5个数
可以看到
数组num长度为5
之后又声明了一个变量sum
让它初始值为0
然后有一个foreach循环
这就是foreach循环的格式
在for后面的括号里有一个冒号
冒号的右边就是这个数组
冒号的左边是一个变量
因为在这个例子当中
数组num它的类型是整型
所以在冒号的左边也定义一个同样类型的变量
之后在这个foreach循环里
就用这个变量去遍历数组里的每一个元素
相当于把里边每一个元素的值进行了一个求和
如果我们用我们前边所学过的for循环
或者for语句怎么来实现这个任务呢？
也就是说这一块怎么改呢？
我们来看一下
如果用前面的for语句是这样做的
不能指定一个i就可以
还要对i赋初值
不能只加一个冒号
必须要判断
一个表达式2
其中num.length
代表一维数组它的元素个数
要进行一个判断
遍历结束了没有
这样一个判断
之后还要对循环变量进行累加
然后再对数组里的每一个元素
进行遍历
所以这两种形式比较起来看的话
foreach循环相对更简单一些
在遍历数组这一方面
更加简洁
以上就是本节课的主要内容
谢谢
再见