您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > Java > java基础教程 (6)
第六章循环结构学习目标:while语句for循环结构do循环break和continue关键字使用循环•循环语句的作用是反复执行同一块代码直到满足结束条件。•在现实世界的许多问题中需要用到循环控制。例如:累加求和。while循环•语法形式为:while(布尔表达式){语句块;}•执行过程:1、先计算布尔表达式2、若为真则执行语句块,并转回再计算布尔表达式3、若为假则跳出循环,执行后面的语句。小心:一定不要在while(布尔表达式)后面加;while循环的流程图truefalse循环体布尔表达式例:用while语句求1+2+…+10的和。publicclassWhileTry{publicstaticvoidmain(String[]args){inti;intsum=0;//累加器清0i=1;//i的初始值为1while(i=10){sum+=i;i++;}System.out.println(sum=+sum);}}查看结果:WhileTry.java要打印一个如下所示的矩形@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@内部循环打印列,外部循环打印行“行慢列快”嵌套while循环查看结果:NestedWhileLoop.java按照预先定义好的次数循环执行一组语句等同于while循环,但有更集中的结构for循环语法形式为:for(表达式1;表达式2;表达式3){语句块;}for循环的流程图每个for语句都有一个用于决定循环开始和结束的变量,通常称这个变量为循环控制变量。表达式1用来给循环控制变量赋初值,它只在循环开始的时候执行一次。表达式2是一个布尔表达式,用来决定何时终止循环。表达式3用于改变循环控制变量的值。truefalse求解表达式3表达式2循环体for语句的下一句求解表达式1for循环示例•例如,要使循环执行某一段代码1000次,可以表达为:•for(inti=0;i1000;i++)•{•…//一段代码•}for(inti=1;i=100;i++)for(inti=100;i=1;i--)for(inti=7;i=77;i+=7)i是循环控制变量•可将while(布尔表达式)语句块改写为:for(;布尔表达式;)语句块例:用for语句求1+2+…+10的和publicclassForTry{publicstaticvoidmain(String[]args){inti,sum;sum=0;//累加器清0for(i=1;i=10;i++){sum+=i;}System.out.println(sum=+sum);}}用for循环完成要打印一个如下所示的矩形@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@嵌套for循环进一步:如何实现对打印的行和列的值可随意控制和修改?嵌套for循环查看结果:NestedForLoop.java•语法形式do{语句块;}while(布尔表达式);•执行过程:先执行一次循环体中的语句,然后测试布尔表达式的值。如果布尔表达式的值为真,那就返回执行循环体中的内容。do-while语句将不断地测试布尔表达式的值并执行循环体中的内容直到布尔表达式的值为假为止。注意:while(布尔表达式)后面必须有;do循环do-while循环的流程图true循环体布尔表达式false查看结果:FindAThree.javaWhile——可以无限次地重复执行语句,并且执行语句的次数可以是0次或多次Do——可以无限次地重复执行语句,并且执行语句的次数可以是1次或多次For——可以按照预先定义好的次数循环执行语句比较多种循环结构查看结果:TestDo.javabreak语句break用在switch中,作为各个分支的出口。break用在while、for和do循环,可终止循环。在嵌套循环中,一个break语句只向外跳出一层。break用在if语句中,满足条件时便跳出。查看结果:BreakLoop.java和BreakLoop2.java•while(true){…}与for(;;){…}均是无限循环,需要break语句跳出循环continue语句continue语句只能用在while、for和do循环,用来终止当前这一轮的循环,重新判断循环条件,决定是否重新开始下一轮的循环。而不是终止整个循环的执行。publicclassContinueTest{publicstaticvoidmain(Stringargs[]){for(inti=0;i10;i++){System.out.print(i+);if((i%2)==0)continue;System.out.println();}}}查看结果:ContinueTest.java查看结果:Multiples.java练习•请指出下面各个程序片段存在的错误•1)inti=0;while(i10);{i++;System.out.println(i+”;”);}此处的;•2)for(doublex=0.1;x!=1.0;x+=0.1)System.out.println(x+”;”);!!!应当慎重对浮点数作等于或不等于判断(15.2%0.5)==0.2//结果为false,而不是true•3)inti=0,sum;while(i=100)sum+=i;i++;错误1:sum使用前未初始化错误2:少{},造成无限循环
本文标题:java基础教程 (6)
链接地址:https://www.777doc.com/doc-6360871 .html