您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 05Java视频教程-循环语句
2009年浙江工业大学软件学院Java程序设计视频教程Java程序设计视频教程本讲主题循环语句与转向语句主讲教师:黄洪2循环语句与转向语句循环结构使得一部分语句可以重复执行多次,Java程序设计语言提供了三种循环语句:whiledo~whileforJava还提供了以下转向语句,辅助实现对程序执行流程的控制breakcontinuereturn3while循环语句语法形式为:while(布尔表达式){循环体}执行流程见右图false循环体布尔表达式true4例:用while循环求1+2+…+10的和publicclassWhileDemo{publicstaticvoidmain(String[]args){inti,sum;sum=0;//sum存放结果。初始化为0i=1;//i用于控制循环的次数。初始化为1while(i=10){sum+=i;i++;}System.out.println(sum=+sum);}}5do-while循环语句语法形式如下:do{循环体}while(布尔表达式);执行流程见右图循环体布尔表达式truefalse6for循环语句语法形式如下:for(赋值语句表;条件表达式;运算表达式表){循环体}执行流程如右图true执行运算表达式表条件表达式循环体For语句的下一句执行赋值语句表false7例:用for循环求1+2+…+10的和publicclassForDemo{publicstaticvoidmain(String[]args){intsum=0;//sum存放结果,初始化为0for(inti=1;i=10;i++){sum+=i;}System.out.println(sum=+sum);}}8使用for循环的注意事项赋值表达式表可以是用逗号分隔的多个赋值表达式,也可以为空。并且在该表达式中可以定义局部变量。如:for(inti=0,j=10;ij;i++){…}上述语句定义了两个局部变量i和j,这两个变量的作用范围是该循环语句。但赋值表达式表不能既使用已定义的变量,又定义新变量。如下述语句是错误的。for(i=0,intj=10;ij;i++){…}9使用for循环的注意事项条件表达式可以为空。为空时等同于true。运算表达式表可以是用逗号分隔的多个运算(赋值)表达式,也可以为空。循环体可以为空。循环体为空时可以取消”{}”,直接加一个”;”。10例:用for循环求1+2+…+10和的第二种写法publicclassForDemo2{publicstaticvoidmain(String[]args){inti,sum;for(i=1,sum=0;i=10;sum+=i,i++);System.out.println(sum=+sum);}}例:用for循环求1+2+…+10的和的另一种写法publicclassForDemo3{publicstaticvoidmain(String[]args){inti=1,sum=0;for(;;){sum=sum+i;i++;if(i10)break;//强行退出循环}System.out.println(sum=+sum);}}1112循环的嵌套一个循环体内又包含另一个完整的循环结构,称为循环的嵌套。内嵌的循环中还可以嵌套循环,形成多重循环。上述三种循环(while循环,do-while循环和for循环)语句之间可以相互嵌套使用。13几种循环结构的选用如果循环的次数不确定,则一般选用while循环。while循环循环体的执行次数可以是零次或多次。如果循环的次数不确定,但至少要执行一次,可以选用do循环。如果循环次数是确定的,则选用for循环,for循环通过三个表达式可以方便的控制循环执行规定的次数。14转向控制语句(跳转语句)break语句continue语句return语句15break语句break语句只能用在循环语句和switch语句中,其作用是结束循环语句或switch语句。break语句的一般语法格式为:break[标号];其中用“[]”括起的标号部分是可选的。16不带标号的break语句while(条件){语句块1break;语句块2}后续语句在循环语句中执行到break语句时,将终止break语句所在的循环,转而去执行循环语句后的第一条语句。为了使得循环得以执行,通常break语句会被放在一个if语句中,使得当某种条件满足时,才结束循环。在多重循环或switch嵌套的场合,一个不带标号的break语句只能跳出其所在的内层循环或switch;分析以下程序的执行流程1.publicclassTestSwitch{2.publicstaticvoidmain(String[]args){3.intx=1,y=2,i=0,j=0;4.switch(x){5.case1:switch(y){6.case1:i++;break;7.case2:j++;break;8.default:i++;j++;9.}10.case2:i++;j++;break;11.default:i++;j++;12.}13.System.out.println(“i=+i);14.System.out.println(“j=+j);15.}16.}17输出结果:i=1j=218带标号的break语句标号:While(条件1){while(条件2){语句块1break标号;语句块2}后续语句1}后续语句2标号是用于标示一个程序块的。可以将标号理解为程序块的名称。其形式为在程序块前的一个合法标识符后跟一个冒号(:)。如下所示:标号:程序块在循环语句中执行到带标号的break语句时,将终止标号所指的语句块,转而去执行该语句块后的第一条语句。典型用法是直接结束多重循环。为了使得循环得以执行,通常break语句会被放在一个if语句中,当某种条件满足时,才结束循环。带标号的break语句实例1.publicclassBreak22.{3.publicstaticvoidmain(String[]args)4.{5.intsum=0;6.coloop:7.while(sum=100)8.{9.for(intcount=0;count10;count++)10.{11.sum+=count;12.if(sum6)13.breakcoloop;14.}15.}16.System.out.println(sum=+sum);17.}18.}19输出结果:sum=1020continue语句Continue语句只能在循环语句中使用。其作用是结束本次循环,重新判断循环的条件,开始新一轮循环。continue语句的一般格式为:continue[标号];其中用”[]”括起的标号部分是可选的。21不带标号的continue语句while(条件){语句块1continue;语句块2}后续语句在循环语句中执行到continue语句时,将跳过循环体中continue语句后面的语句,重新判断循环的条件。为了使得continue后面的语句得以执行,通常continue语句会被放在一个if语句中,当某种条件满足时,才跳过后面的语句。在多重循环的场合,一个不带标号的continue语句只能跳过其所在的内层循环中位于其后面的语句序列;不带标号的continue语句实例1.publicclassContinue12.{3.publicstaticvoidmain(String[]args)4.{5.intindex=0;6.while(index50)7.{8.index+=10;9.if(index==30)10.continue;11.System.out.println(Theindexis+index);12.}13.}14.}2223带标号的continue语句标号:While(条件1){while(条件2){语句块1continue标号;语句块2}后续语句1}后续语句2在多重循环语句中执行到带标号的continue语句时,将直接跳到标号所指的外层循环,重新判断循环条件。为了使得continue后面的语句得以执行,通常continue语句会被放在一个if语句中,当某种条件满足时,才不执行其后面的语句。24return语句Return语句的作用是终止当前方法的执行,返回到这个方法的调用者。所有非void方法必须包含一个return语句作为方法最后执行的语句,该语句停止方法的执行,并返回指定类型的值。语法如下:return[expression];expression的类型应与方法的返回类型一致。25现在,请完成前面的任务编写一个程序,将1到100之间的偶数求和并输出。26上机练习编程实现下面的程序:1、从1~100以内能被2整数但不能被3整除的整数,要求每行按10个数的形式对其输出。2、编写一个程序,显示9×9乘法表3、求出e=1+1/1!+1/2!+1/3!+…1/n!+…的近似值,要求误差小于0.0001提示:n越大误差越小,使用double型。
本文标题:05Java视频教程-循环语句
链接地址:https://www.777doc.com/doc-3118094 .html