语法:
for(表达式一;表达式二;表达式三){
循环操作
}
表达式一:参数初始化
表达式二:条件判断
表达式三:更新循环变量
执行流程:
步骤一:执行表达式一.初始化参数
步骤二:执行表达式二进行循环条件的判断
步骤三:如果循环条件为true则执行循环操作,如果为false则退出循环执行以下代码
步骤四:当循环操作执行完毕后执行表达式三,更新循环变量
表达式三执行完毕后继续执行表达式二进行循环判断,如果为真则执行循环操作,如果为假则执行以下代码,以此类推...........
案例: 从控制台循环录入5门课程成绩,求出平均分 public class Demo02 { public static void main(String[] args) { Scanner input=new Scanner(System.in); //总分 double sum=0; for (int i = 0; i < 5; i++) { System.out.println("请输入第"+(i+1)+"课课门成绩:"); //单门成绩的平均分 double score=input.nextDouble(); sum=sum+score; } //平均分 double avg=sum/5; System.out.println("5门课程的平均分为:"+avg); } }
二.break和continue
1.使用场合
break常用于switch结构和循环结构中
continue一般用于循环结构中
2.作用(循环结构中)
break语句终止某个循环,程序跳转到循环块外的下一条语句
continue跳出本次循环,进入下一次循环
三.循环结构总结
区别1:语法
区别2:执行顺序
while 循环:先判断,再执行
do-while循环:先执行,再判断
for循环:先判断,再执行
区别3:适用情况
循环次数确定的情况,通常选用for循环
循环次数不确定的情况,通常选用while或do-while循环
示例: public class Demo02 { public static void main(String[] args) { Scanner input=new Scanner(System.in); //总分 double sum=0; for (int i = 0; i < 5; i++) { System.out.println("请输入第"+(i+1)+"课课门成绩:"); //单门成绩的平均分 double score=input.nextDouble(); sum=sum+score; } //平均分 double avg=sum/5; System.out.println("5门课程的平均分为:"+avg); } }
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循环结构.