目录在我们实际编写代码时,循环语句会经常被使用,因为我们需要的结果往往不是单纯的顺序语句就能完成的,所以熟悉循环语句是一件很基础也是重要的事情。
语法结构: while(布尔表达式){ //循环内容 }
while循环是最基本的循环表达式,只要布尔表达式为true,循环就会一直执行下去。
我们大多数情况是会让循环停止下来的,所以我们需要一个能让表达式为false的方式结束循环。无限循环(循环条件一直为true)会造成死循环,死循环会影响程序的性能或者造成程序卡死崩溃。
例:(输出1到100,以及输出它们的和)
while中的布尔表达式判定的是小于100,因为当判断i=99时,i++,i就为100(自己稍微取走一下循环流程就能明白),因为是循环,所以就能输出i=1到i=100的值,用一个sum进行累加,算出它们的和。
ps:死循环不是完全不能使用,在某些特定场合我们还是需要使用到死循环的,比如:等待客户端连接;自动定时检查。不过它们一般不是通过while语句来实现的,是使用其它的方法。
语法格式: do{ //循环内容 }while(布尔表达式);
和while循环语句大同小异,最大的区别在于do-while循环语句至少会执行一遍循环的内容(即不满足也会执行一遍)。while是先判断后执行,do-while是先执行后判断!
例:(还是输出1到100,以及输出它们的和)
布尔表达式是一样的,输出的结果也是一样的。
特例:
当i=199时,很明显,199是大于100的,但是我们还是执行了一遍do-while里的命令(i++),最后的输出为200(199+1);如果是while语句将会不执行循环语句,直接跳出。输入密码的原理就是如此:我们需要先输入了密码才去判断对错。
语法格式: for(初始化;布尔表达式;更新){ //循环内容 }
虽然所有的循环结构都可以用while循环语句或者do-while循环语句来表示,但是for循环语句可以使一些循环结构变得更加简单.
for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构。
for循环执行的次数是执行前就确定的。
例:
先执行初始化步骤(int i),然后判断条件(i<=100),之后如果条件满足则执行循环,最后迭代i(i++),不满足直接跳出。