循环结构(二)
学习本章有道的单词:
rate:速度,比率
young:年轻的,年少
schedule:时间表,调度
neggtive:消极的;否定
customer:顾客,观众
birthday:生日
point:点.指向,分点数
continue:继续,延生,持续
return:返回,归还
for:为了,因为:为了,对于
for循环
语法:
for(表达式1;表达式2;表达式3){
//循环体
}
表达式1:赋值语句>循环结构的初始部分,为循环变量赋初值,eg:int i =0
表达式2:条件语句>循环结构的循环条件,eg:i<100
表达式3赋值语句,通常使用++或--运算符>循环结构的迭代部分,通常用来修改循环变量的值eg:++
for关键字后面括号中的三个表达式必须用分号隔开.for循环中的这三个部分及{}中的循环体使循环结构必需的四个组成部分完美地结合在了一起,非常简明
for循环结构执行的顺序:
(1)执行初始部分(int i = 0;).
(2)进行循环条件判断(i<100)
(3)根据循环条件判断结果.如果为true,则执行循环体;如果为false,则退出循环,步骤(4),(5)均不执行.
(4)执行迭代部分,改变循环变量值(i++).
(5)依次重复步骤(2)~步骤(4),直到退出for循环结构.
表达式1这个初始部分仅仅执行了一次.
注意!
for循环结构有三个表达式,在语法上,这三个表达式都可以省略,但表达式后面的分号不能省略.如果省略了表达式,要注意保证循环能够正常运行.
首先给出一个表达式:
for(int i =0; i< 10;i++);
>省略表达式1:
for(; i< 10;i++);
如果出现"表达式1"省略的情况,则需要在for语句前给循环变量赋值,因此可将上面的语句修改为:
int i = 0;
for(; i< 10;i++);
>省略表达式2:
for(int i =0; ;i++);
如果出现"表达式2"省略的情况,会出现"死循环"的情况,一种方法是添加表达式2,一种是在循环体中使用break强制跳出循环结构.关于break语句的用法,将在后面介绍.
>省略表达式3:
for(int i =0; i< 10;);
如果出现"表达式3"省略的情况,,变量的值始终是0,因此循环条件永远成立,程序也会出现死循环.那我们可以在循环体中添加i++;
for(int i =0; i< 10;){
i++;
}
在实际开发中,为了提高代码的可读性,尽量不要省略各个表达式.如果需要省略,可以考虑是否改用while或do-while结构.
跳转语句
Java支持三种形式的跳转:break,continue和return.return在后面讲.
break语句:
break语句在前面章节中switch语句中有使用,break语句用于终止某个循环,使程序跳到循环体外的下一条语句.在循环中位于break后的语句将不再执行,循环也停止执行.
break语句不仅可以用在for循环结构中,也可以用在while和do-while循环结构中,break语句通常与if条件语句一起使用.
continue语句:
continue语句可以用于for循环结构,也可以用于while和do-while循环结构.在for循环结构中,continue语句使程序先跳转到迭代部分,然后判断循环条件.如果为true,则继续下一次循环;否则终止循环.在while循环结构中,continue语句执行完毕后,程序将直接判断循环条件.continue语句只能用在循环结构中.
对比两个结构:
>break语句用于终止某个循环,程序跳转到循环体外的下一条语句.
>continue语句用于跳出本次循环,进入下一次循环的语句.
循环结构总结
三种循环结构:
while,do-while和for循环结构.
三种循环结构都有四个必不可少的部分:初始部分,循环条件,循环体,迭代部分,缺少了任何一个都可能造成严重错误.
对比>语法不同
while循环语句:
while(<条件>){
//循环体
}
do-while循环语句:
do{
//循环体
}while(<条件>);
for循环语句:
for(初始化;条件;迭代) {
//循环体
}
执行顺序不同
>while循环结构:先进行条件判断,在执行循环体.如果条件不成立,退出循环.
>do-while循环结构:先执行循环体,在进行条件判断,循环体至少执行一次.
>for循环结构:先执行初始化部分,再进行条件判断,然后执行循环体,最后进行迭代部分的计算.如果条件不成立,跳出循环.
适用情况不同
>对于循环次数确定的情况下,通常选用for循环结构;对于循环次数不确定的情况,通常选用while和do-while循环结构.