表达式1、表达式2和表达式3之间是用分号;
隔开的,千万不要写成逗号。for(表达式1;表达式2;表达式3)
的后面千万不要加分号,很多新手都会犯这种错误——会情不自禁地在后面加分号。
因为 for 循环只能控制到其后的一条语句,而在C语言中分号也是一个语句——空语句。所以如果在后面加个分号,那么 for 循环就只能控制到这个分号,下面大括号里面的语句就不属于 for 循环了
执行过程:
- 求解表达式1。
- 求解表达式2。若其值为真,则执行 for 语句中指定的内嵌语句,然后执行第3步;若表达式2值为假,则结束循环,转到第5步。
- 求解表达式3。
- 转回上面第2步继续执行。
- 循环结束,执行 for 语句下面的语句。
嵌套循环
和其他编程语言一样,Java 允许循环嵌套。如果把一个循环放在另一个循环体内,那么就可以形成嵌套循环。
嵌套循环既可以是 for循环嵌套 while 循环,也可以是 while 循环嵌套 do-while 循环 …… 即各种类型的循环都可以作为外层循环,也可以作为内层循环。
当程序遇到嵌套循环时,如果外层循环的循环条件允许,则开始执行外层循环的循环体,而内层循环将被外层循环的循环体来执行——只是内层循环需要反复执行自己的循环体而已。
当内层循环执行结束,且外层循环的循环体执行结束时,则再次计算外层循环的循环条件,决定是否再次开始执行外层循环的循环体。
根据上面分析,假设外层循环的循环次数为 n 次,内层循环的循环次数为 m 次,那么内层循环的循环体实际上需要执行 n×m 次。嵌套循环的执行流程
示例:
三种循环的区别:
1)for循环:知道要循环的次数时使用
2)while / do-while循环:当循环的次数不确定时使用
while:先进行判断,不符合条件则不执行代码
do-while:代码最少被执行一次,再去判断,符合则执行,不符合则结束。
3)循环之间都可以相互代替,但一般还是选择 合适的循环结构来完成代码。