【文档说明】Java程序设计第3章-程序的控制语句.ppt,共(39)页,714.000 KB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-2280.html
以下为本文档部分文字说明:
第3章程序的控制语句知识点回顾◆标识符和保留字◆JAVA数据类型◆运算符与表达式2本章目标◆程序的控制语句⚫选择语句⚫迭代语句⚫跳转语句3程序控制语句◆使用控制语句来产生执行流,从而完成程序状态的改变◆程序控制语句分类⚫选择、迭代、跳转4选择语句◆选择
语句功能允许程序根据表达式的结果或变量的状态选择不同的执行路径◆选择语句分类:if语句、switch语句5语法格式一:if(条件语句){语句或语句块1;}语法格式二:if(条件语句){语句或语句块1;}
else{语句或语句块2;}选择语句-if语句语法格式三:if(条件语句1){语句块1;}elseif(条件语句2){语句块2;}……elseif(条件语句n){语句块n;}else{语句块n+1;}6publicclassIfDemo{publicstaticvoi
dmain(Stringargs[]){booleanbl=true;if(bl)System.out.println("true");elseSystem.out.println("false");}
}思考:是否还有更好的写法?7publicclassIfElseDemo{publicstaticvoidmain(Stringargs[]){intstate=3;if(state==1){System.out.println("1...");}elseif(state==2){System.o
ut.println("2...");}elseif(state==3){System.out.println("3...");}}}思考:输出结果8Lab3-1、用Java实现一个用户登录程序1、用户输入用户名和密码,点击确定按钮可以登录2、如果正确则提示登录成功3、否则
登录失败,提示错误信息9switch(expr){caseconst1:statement1;break;……caseconstN:statementN;break;[default:statement_dafault;break;]}选择语句-switch语句10◆sw
itch语句规则⚫表达式expr的返回值必须是下述几种类型之一:int,byte,char,short;⚫case子句中的值constant必须是常量,且所有case子句中的值应是不同的;⚫defau
lt子句是任选的;⚫break语句用来终止switch语句的执行(在一些特殊情况下,多个不同的case值要执行一组相同的操作,这时可以不用break)。选择语句-switch语句11publicclassSwitchDemo{publicstaticvoidma
in(String[]args){intstate=2;switch(state){case1:System.out.println("1....");case2:System.out.println("2.....");case3:System.out.println("3.....");bre
ak;default:System.out.println("default");}}}思考:输出结果?default是否一定执行12输出结果?publicclassSwitchDemo2{publicstaticvoid
main(String[]args){shortstate=2;switch(state){case1:case2:case3:System.out.println(“是小于等于3的数.....");bre
ak;default:System.out.println("大于3的数");}}}13Lab3-2、完成100分值到5分值转换1、100分值范围:0~20~40~60~80~1002、5分值范围:E~D~C~B~A14◆迭代语句功能使程序能够重复执行一
条或多条语句◆迭代语句的四个组成部分⚫初始化部分(init_statement)⚫迭代条件部分(test_exp)⚫迭代体部分(body_statement)⚫迭代部分(alter_statement)迭代语句15◆while语句[i
nitialization]while(termination){body;[iteration;]}注意:termination是boolean类型的expression;当termination为true时,进入while,否则退出while迭代语句-while语句16//
打印输出0到9的值publicclassWhileDemo1{publicstaticvoidmain(String[]args){intcount=0;//初始化部分while(count<10){//循环条件部分System.out.println(“count...”+count);//
迭代体部分count++;//迭代部分}}}17publicclassWhileDemo2{publicstaticvoidmain(String[]args){intcount=0;while(count>10){System
.out.println("count..."+count);count++;}System.out.println("count..."+count);}}输出结果?如果把while(count>10)改为while(true)的结果?18intx=3;while(x=
=3);System.out.println("sfsf");添加;后结果是?不添加;后结果是?19◆do-while语句[initialization]do{body;[iteration;]}while(termination);注意:无论[initial
ization]为何值时,都会执行一次while;while(termination);后面以”;“结束的迭代语句-dowhile语句20输出结果为?publicclassDoWhileDemo1{publi
cstaticvoidmain(String[]args){intcount=0;do{System.out.println("count="+count);count++;}while(count<10);}}21publ
icclassDoWhileDemo2{publicstaticvoidmain(String[]args){intcount=0;do{System.out.println("count..."+count);count++;}while(count==10);
}}输出结果?22Lab3-3修改Lab3-1登录程序,如果输入用户名或密码错误,使其可以反复输入,直到正确为止。23◆for语句⚫for语句执行时,首先执行初始化操作,然后判断终止条件是否满足,如果满足,则执行迭代体中的语句,最后执行迭代部分
。完成一次迭代后,重新判断终止条件。⚫初始化、终止以及迭代部分都可以为空语句(但分号不能省),三者均为空的时候,相当于一个无限迭代(deadloop)。⚫在初始化部分和迭代部分可以使用逗号语句,来进行多个操作。逗号语句是用逗号分隔的语句序列。for(initionalization;termina
tion;iteration){body;}1234迭代语句-for语句24输出结果是?publicclassForDemo1{publicstaticvoidmain(String[]args){for(inti=0;i<15;i++){System.out.println("i.
..."+i);}}}25输出结果是?for(inti=0;;i++){System.out.println("i..."+i);}for(inti=0;i<10;){System.out.println("i..."+i);}inti=0;for(;;){System
.out.println("i…”);}26Lab3-4打印输出1~100之间所有的素数27迭代语句-foreach循环◆foreach循环for(typeitr-var:collection){statement–block}⚫其中type指定类型,itr-var指定迭代变量名。
⚫Type必须与集合中存储的元素类型相同(或相互兼容)28publicclassForEachDemo1{publicstaticvoidmain(String[]args){intnums[]={1,2,3,4,5,6,7,8,9
,10};intsum=0;for(intx:nums){System.out.println(“valueis:”+x);sum+=x;}System.out.println(“1到10的和为:”+sum);}}输出结果?29跳转语句◆跳转语句功能允许程序以非线性的方
式执行◆跳转语句分类:break语句、continue语句、return语句30跳转语句-break语句◆break语句⚫在switch语中,break语句用来终止switch语句的执行。⚫在Java中,可以为每个代码块加一个标号
,一个代码块通常是用大括号{}括起来的一段代码。break语句用于终止某个语句块的执行{……break;……}⚫它可被用作goto语句的一种“先进”方式31publicclassBreakDemo1{publicstaticvo
idmain(String[]args){inti=0;while(i<=100){if(i==10)break;i++;System.out.println(“i=”+i);}}}输出结果?32◆break语句出现在多层嵌套的语句块中时,可以通过标签指明要终止的是哪一层语句
块label1:{……breaklabel1;……}跳转语句-break语句33publicclassBreakDemo2{publicstaticvoidmain(String[]args){lbl
a:{System.out.println("lbla....");lblb:{System.out.println("lblb....");breaklbla;}System.out.println(“lblaend…”);}}}输出结果?34跳转语句-continue语句◆co
ntinue语句⚫用来结束本次迭代,跳过迭代体中下面尚未执行的语句,接着进行终止条件的判断,以决定是否继续迭代。⚫对于for语句,在进行终止条件的判断前,还要先执行迭代语句。它的格式为:continue;⚫用continue跳转到标号指明的外层迭
代中,格式为:continueouterLable;35Lab3-5打印输出1~50之间的前10个数36跳转语句-return语句◆return语句⚫return语句从当前方法中退出,返回到调用该方法的语句处,并从紧跟该语句的下一
条语句继续程序的执行。⚫return语句通常用在一个方法体的最后,否则会产生编译错误,除非用在if-else语句中。⚫语法格式:returnexpression;或return;37总结◆选择语句选择语句分类:if语句、switch语句◆迭代语句迭代语句分类:while语句,do-wh
ile语句,for语句,for-each语句◆跳转语句跳转语句分类:break语句、continue语句、return语句3839谢谢!