第三章控制语句 2_第1页
第三章控制语句 2_第2页
第三章控制语句 2_第3页
第三章控制语句 2_第4页
第三章控制语句 2_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java流程控制语句回顾Java语言中对于定义标示符有哪些基本要求?(遵循哪些规范?)Java内置了几种基本数据类型?它们分别是什么?简述Java中的常用运算符。本讲重点分支(选择)语句循环语句跳转(break,continue)语句流程控制概述流程控制分为三种基本结构:顺序结构:按照命令,从上到下,从左到右执行语句分支(选择)结构:根据条件,执行不同的语句,可以得到不同的结果。循环结构:指对于一些重复执行的语句,用户指定条件或次数,由机器自动识别执行。分支语句分支语句根据一定的条件,有选择地执行或跳过特定的语句Java分支语句分类1、if-else语句2、switch语句

1、若令狐冲的Java考试成绩大于90分,师父就奖励他一本武功秘笈分支语句——if-else语句(1)使用if条件结构可以解决if条件结构是根据条件判断之后再做处理if(条件){//语句}if(令狐冲Java成绩>90){

师父奖励令狐冲;}结合问题1基本的if条件结构表达式语句假真演示示例1:使用基本if条件结构分支语句——if-else语句(1)

2、令狐冲Java成绩大于90分,而且音乐成绩大于80分,师父奖励他;或者Java成绩等于100分,音乐成绩大于70分,师父也可以奖励他分析:怎样把多个条件连接起来?使用逻辑运算符运算符表达式说明&&条件1&&

条件2仅仅两个条件同时为真,结果为真||条件1||条件2只要两个条件有一个为真,结果为真!!条件条件为真时,结果为假条件为假时,结果为真问题2的条件如何编写分支语句——if-else语句(1)多使用小括号()控制优先级score1>90&&score2>80||score1==100&&score2>70运算符的优先级:最高的优先级:小括号,即()最低的优先级:赋值运算符,即=优先级顺序:!>算术运算符>比较运算符>&&>||publicclassLh02

{publicstaticvoidmain(String[]args){intscore1=100;//令狐冲的语文成绩

int

score2=72;//令狐冲的历史成绩

if((score1>90&&score2>80)

||(score1==100&&score2>70)){System.out.println("师父说:不错,给你《独孤九剑》剑谱");}}}?分支语句——if-else语句(2)

3、如果令狐冲考试成绩大于90分,师父就奖励他《独孤九剑》,否则师父就罚他上思过崖闭关思过使用两个基本if条件结构使用if-else条件结构实现if(score>90){System.out.println("师父说:不错,给你《独孤九剑》剑谱");}if(score<=90){System.out.println("师父说:不孝徒,上思过崖闭关思过去吧");}分支语句——if-else语句(2)

if-else条件结构if(条件){//语句1}else{//语句2}if(令狐冲考试成绩>90){

师父奖励令狐冲;}else{

师父罚他闭关思过;}结合问题4真表达式语句1假语句2使用if-else条件结构解决问题3publicclassLh03{publicstaticvoidmain(String[]args){intscore=89;//令狐冲的语文成绩

if(score>90){ System.out.println("师父说:不错,给你《独孤九剑》剑谱");}else{ System.out.println("师父说:不孝徒,上思过崖闭关思过去吧");}}}演示示例3:使用if-else结构分支语句——if-else语句(2)分支语句——if-else语句(3)

4.

对令狐冲的结业考试成绩评测成绩>=90:优秀成绩>=80:良好 成绩>=60:中等成绩<60:差使用多重if结构多重if结构就是在else部分中还包含其他if块分支语句——if-else语句(3)if

(条件){//语句

}

elseif

(条件)

{//语句

}else

{//语句

}可以有多个可以省略多重if结构假真真假表达式1语句1表达式2语句2语句3分支语句——if-else语句(3)使用多重if结构解决问题4

int

score=70;//考试成绩

if(score>=90){

System.out.println("优秀");}

elseif(score>=80){

System.out.println("良好");}

elseif(score>=60){

System.out.println("中等");}

else{

System.out.println("差");}大于等于90分大于等于60分,小于80分小于60分大于等于80分,小于90分演示示例5:使用多重if结构分支语句——switch语句

5、令狐冲参加比武大会如果获得第一名,将出任武林盟主如果获得第二名,将出任武当掌门如果获得第三名,将出任峨嵋掌门否则,将被逐出师门使用if条件结构如何实现?

代码publicclassLh05{publicstaticvoidmain(String[]args){intorder=2;//名次

if(order==1){System.out.println("天下第一,唯吾独尊,作武林盟主吧!!"); }elseif(order==2){System.out.println("以一招之差惜败,你就暂且作个武当掌门吧!!"); }elseif(order==3){System.out.println("就做我们的峨眉掌门吧!");

}else{System.out.println("辛苦了大半天,什么名次也没有拿到。。"); }}}更好的解决办法:使用switch结构switch(表达式){

case

常量1:

语句;

break;

case

常量2:

语句;

break;

default:

语句;}switch结构分支语句——什么是switch结构计算表达式的值如果等于常量1如果等于常量2如果没有找到匹配的值使用switch结构解决问题5分支语句——如何使用switch结构intorder=1;switch(order){

case

1:System.out.println("出任武林盟主");

break;

case2:System.out.println("出任武当掌门");

break;

case3:System.out.println("出任峨嵋掌门");

break;

default:System.out.println("被逐出师门");}第一名的情况下第二名的情况下第三名的情况下其他情况下演示示例6:使用switch结构注意1:如果每个case执行完后跳出,需要在每个case后break;注意2:case后面的常量必须各不相同注意3:switch后面小括号中表达式的值必须是整型或字符型分支语句——比较switch和多重if结构相同点不同点switch多重if都可以实现多分支结构只能处理等值的条件判断,且条件是整型变量或字符变量的等值判断处理在else部分还包含其它if结构,特别适合某个变量处于某个区间时的情况小结:条件控制switch(表达式){

case

常量1:

语句;

break;

case

常量2:

语句;

break;

default:

语句;}if

(条件){

满足条件要执行的代码}if

(条件){

满足条件要执行的代码}else{ 不满足条件要执行的代码}if

(条件){

语句1}elseif(条件){ 语句2}else{ 语句3}1、输入你兜里的钱数,如果大于100,输出:“啊,今天吃大餐吧!”,否则输出:“就随便吃点吧”2、要求用户输入两个数a、b,如果a能被b整除或a加b大于1000,则输出a,否则输出b小结练习小结练习3.一年有四个季节(3、4、5月是春季,6、7、8月是夏季,9、10、11月是秋季,12、1、2是冬季),根据输入的年份判断是什么季节4.张三为他的手机设定了自动拨号按1:拨爸爸的号按2:拨妈妈的号按3:拨爷爷的号按4:拨奶奶的号编程实现此业务循环生活中的循环打印50份试卷10000米赛跑旋转的车轮循环结构的特点循环结构

循环条件循环操作锲而不舍地学习循环循环语句是用来控制那些根据运行期情况需要反复执行的语句系列。Java中的循环语句whiledo/whilefor什么while循环特点:先判断,再执行while(循环条件

){

循环操作}符合条件,循环继续执行;否则,循环退出循环中被重复执行的操作int

i=1;while(i<=30

){

System.out.println("我能行!"); i++;}循环操作循环条件真假3、如何用程序描述下面这个故事呢?为了备战,令狐冲锲而不舍地练习,盈盈严格把关…“盈盈,怎么样,可以了吗?”“不行,高音部分唱得还不是很好,钢琴还要继续练啊!”没有听到“很棒”的评价,看来革命尚未成功,令狐冲并不气馁:早上5点练声,上午练钢琴,下午到声乐老师家练习唱歌,晚上练习舞蹈基本功。

循环条件

循环操作使用while循环的步骤1、分析循环条件和循环操作2、套用while语法写出代码3、检查循环是否能够退出怎样使用while循环3-1怎样使用while循环3-2System.out.print("表演得怎么样

?(y/n):");answer=input.next();while(!answer.equals("y"))

{ System.out.println("早上5点开始练声

!"); System.out.println("上午练习钢琴

!"); System.out.println("下午到声乐老师家练习唱歌

!");

System.out.println("晚上练习舞蹈基本功!");

System.out.print("表演得怎样

?(y/n):"); answer=input.next();}System.out.println("圆满完成

!");循环条件循环操作比较两个String类型的值是否相等演示示例编码规范:缩进、换行怎样使用while循环3-34、录入班级人数和学员成绩,计算班级学员的平均成绩循环条件:目前录入的成绩数目小于总人数循环操作:录入学生成绩,并累加求和

演示示例4:使用while循环结构

while(i<=stuNum){System.out.print("请输入学号"+i+"的成绩:");score=input.nextInt();sum=sum+score;i++;}avg=sum/stuNum; while循环常见问题3-1/*打印4次“欢迎你,亲爱的学员”*/publicstaticvoidmain(String[]args){ inti=0;

while(i<4){ System.out.println("欢迎你亲爱的学员");

i++; }}

永远都不会退出的循环称为死循环循环一直执行,不会退出,哪里出错了?条件改变while循环常见问题3-2/*打印4次“欢迎新学员”*/publicstaticvoidmain(String[]args){ inti=1;

while(i<4){System.out.println("欢迎新学员");i++; }}i<=4只打印了三次,哪里出错了?

注意检查循环次数是否满足需求while循环常见问题3-3/*打印4次“欢迎新学员”*/publicstaticvoidmain(String[]args){inti=0;while(i>5){System.out.println("欢迎新学员");i++;}}

注意:如果一开始条件就不满足,while循环一次都不执行

i<5一次都没有打印,哪里出错了?do-while循环5、如何用程序讲述下面的故事?苦练半年,眼看大赛在即,盈盈提议:彩排一次,如果很令人满意,以后就不用彩排了,否则每天都要彩排,直到现场表现让她满意为止!他能否用动听的歌声震撼盈盈,用美妙的钢琴声博得赞赏呢?……do{

循环操作}while(循环条件);while(循环条件){

循环操作}while循环先判断,再执行不适合描述此故事?什么是do-while循环do{

循环操作}while(循环条件

);先执行一遍循环操作符合条件,循环继续执行;否则,循环退出特点:先执行,再判断循环操作循环条件真假怎样使用do-while循环2-1do{ System.out.println("唱歌

!"); System.out.println("演奏肖邦钢琴曲

!"); System.out.print("可以了吗

?(y/n):"); answer=input.next();}while(!answer.equals("y")

);System.out.println("大功告成

!");循环条件先执行一遍循环操作演示示例5:怎样使用do-while循环2-26、连续录入学生姓名,输入“q”则系统退出Stringname;Scannerinput=newScanner(System.in);do{ System.out.print("请输入学生姓名:"); name=input.next();}while

(!name.equals("q"));System.out.println("程序结束");演示示例6:while循环和do-while循环的区别语法不同初始情况不满足循环条件时while循环一次都不会执行do-while循环不管任何情况都至少执行一次do{

循环操作}while(循环条件);while

(循环条件){

循环操作}先判断,再执行先执行,再判断比较while和do-while为什么使用for循环

inti=0;while(i<100){System.out.println("我最棒");i++;}

for(inti=0;i<100;i++){

System.out.println("我最棒");}for比while更简洁while循环结构for循环结构for循环的语法和执行顺序什么是for循环for(

;

;

){

;}条件为true

循环体被执行for

(

inti=0

;

i<100;

i++

){System.out.println("我最棒");}代码规范:格式对齐、代码的缩进表达式1表达式2表达式3循环操作参数初始化条件判断更新循环变量1243如何使用for循环3-11、循环录入某学员的5门课成绩,计算平均分循环次数:5循环条件:循环的次数不足5,继续循环循环操作:录入成绩,计算成绩之和使用for循环结构的步骤1、分析循环条件和循环操作2、套用for语法写出代码3、检查循环是否能够退出结合问题1如何使用for循环3-2//省略声明变量

for(inti=0;i<5;i++){

//循环5次录入5门课成绩

System.out.print("请输入5门功课中第"+(i+1)+"门课的成绩:");

score=input.nextInt();

sum=sum+score;

}

avg=sum/5;

//计算平均分

System.out.println(name+"的平均分是:"+avg);初始值:i=0循环条件:i<5循环变量改变:i++循环操作执行5次演示示例1:使用for循环结构如何使用for循环3-32、输出如图所示加法表for(inti=0,j=val;i<=val;i++,j--){System.out.println(i+"+"+j+"="+(i+j));}1、循环初始化:i=0;j=输入值2、循环条件:i<=输入值3、循环操作:计算i+j4、循环变量的改变:i++,j--完整代码表达式3可以是用“,”隔开的多个表达式,运算顺序从左到右表达式1中可以声明多个同一类型的值并赋值,用“,”隔开演示示例2:使用for循环结构for循环常见问题4-1for(;i<10;i++){

System.out.println("这是"+i);}inti=0;编译错误:变量i没有初始化for(<初始化循环变量>;<循环条件>;<修改循环变量的值>){

<循环体语句>;}不能省略可省略表达式1省略,循环变量的初始值在for语句之前由赋值语句取得for循环常见问题4-2for(inti=0;;i++){

System.out.println("这是"+i);}编译正确,但是缺少循环条件,造成死循环for循环常见问题4-3for(inti=0;i<10;){

System.out.println("这是"+i);

}i++;省略表达式3,在循环体内应设法改变循环变量的值以结束循环编译通过,但是循环变量的值无变化,造成死循环for循环常见问题4-4for(;;){

System.out.println("这是测试");}表达式全省略,无条件判断,循环变量无改变,应在循环体内设法结束循环,否则会造成死循环小结1求1~100之间不能被3整除的数之和(使用for循环结构)为什么需要break语句inti=2;switch(i){case1:System.out.println("星期一");

break;case2:System.out.println("星期二");

break;}//其他语句遇到break,立即跳出switch语句回顾break用于switch语句描述4000米长跑比赛for(inti=0;i<10;i++){跑400米;}

if(不能坚持){break;//退出比赛}第8圈,快累死了…我要退出…什么是break语句break:改变程序控制流用于do-while、while、for中时,可跳出循环而执行循环后面的语句while(…){………………

break;………………}跳出整个循环break通常在循环中与条件语句一起使用如何使用break语句2-13、循环录入某学生5门课的成绩并计算平均分,如果某分数录入为负,停止录入并提示录入错误循环录入成绩,判断录入正确性:录入错误,使用break语句立刻跳出循环;否则,累加求和演示示例3:使用break语句如何使用break语句2-2……for(inti=0;i<5;i++){//循环5次录入5门课成绩System.out.print("请输入5门功课中第"+(i+1)+"门课的成绩:");score=input.nextInt();//从控制台接收数据

if(score<0){wrong=false;//出错标识

break;//退出循环}sum=sum+score;}…循环外的语句…对录入的分数进行判断,如果小于0,标记出错状态,并立即跳出整个for循环1~10之间的整数相加,得到累加值大于20的当前数1、使用循环进行累加,从1到102、判断累加值是否大于203、如果大于20,则跳出循环,并打印当前值//定义一个变量,进行累加

intsum=0;

for(inti=1;i<=10;i++){sum=sum+i;

if(sum>

20

){

System.out.print("当前数是:"+i);

break;

}}

小结2演示运行效果为什么需要continue语句4、循环录入Java课的学生成绩,统计分数大于等于80分的学生比例1、通过循环,获得分数大于等于80分的学生人数num2、判断:如果成绩<80,不执行num++,直接进入下一次循环什么是continue语句continue:只能用在循环里continue

作用:跳过循环体中剩余的语句而执行下一次循环while(…){………………

continue;…………}继续下一次循环通常与条件语句一起使用,加速循环for(inti=0;i<10;i++){跑400米;

if(!口渴){

continue;//不喝水,继续跑}接过水壶,喝水;}示例如何使用continue

for(inti=0;i<total;i++){

System.out.print("请输入第"+(i+1)+"位学生的成绩:");score=input.nextInt();

if(score<80){

continue;}n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论