流程控制和数组

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

专业教程理论讲解部分手机游戏JAVA语言基础第3章流程控制和数组第3章流程控制和数组•条件语句•循环语句•流程控制关键字•条件语句•循环语句•循环语句•掌握Java语言的流程控制的使用第3章流程控制和数组3.1流程控制3.1.1条件语句如果圆括号中的条件成立,就执行statement语句指定的操作,条件不成立就接着执行statement之后的语句。条件必须放在圆括号内。Java中的条件语句格式如下:if(condition){statement1;statement2;……}if语句if单独使用第3章流程控制和数组例如:如果a大于b,将a的值赋为30。if(ab)a=30;3.1流程控制3.1.1条件语句if语句if单独使用if语句流程图:aba=30truefalse第3章流程控制和数组3.1流程控制3.1.1条件语句if语句if单独使用【案例1】当游戏开始的时候,需要设置人物的位置和生命值。intexp=0;//玩家生命值intx=0;//玩家x位置坐标inty=0;//玩家y位置坐标booleanbegin=true;//游戏开始的标志量System.out.println(游戏开始之前exp=+exp+x=+x+y=+y);if(begin==true){x=10;y=10;exp=100;}System.out.println(游戏开始之后exp=+exp+x=+x+y=+y);第3章流程控制和数组3.1流程控制3.1.1条件语句if语句if单独使用在上面的代码中,对于游戏是否开始的判断是通过if括号内的begin变量来判断,当begin变量为真的时候,代表游戏开始。游戏开始后,才能为玩家的位置和生命值进行赋值。上面代码执行后,会在控制台上打印出如下内容:游戏开始之前exp=0x=0y=0游戏开始之后exp=100x=10y=10第3章流程控制和数组3.1流程控制3.1.1条件语句if语句if–elseif-else语句在条件表达式的值为false时执行else语句。如果if表达式的值为true,那么else块的代码就不执行了。if(condition){//条件成立时,执行的命令Statement1;Statement2;......}else{//否则要执行的命令Statement3;Statement4......}第3章流程控制和数组3.1流程控制3.1.1条件语句if语句if–else例如:if(ab)a=30;//如果a大于b,将a的值赋为30。elsea=20;//否则,将a的值赋为20aba=30a=20truefalseif-else语句运行流程图如下:第3章流程控制和数组3.1流程控制3.1.1条件语句if语句if–else【案例】在游戏中,游戏将结束的条件通常都是玩家的生命值为0,则游戏结束。那么这段文字用代码如何描述呢?下面的案例就将这段条件判断的语言描述转化为代码。intexp=100;System.out.println(exp=+exp);if(exp0){System.out.println(游戏进行中);}else{System.out.println(游戏结束);}exp-=110;System.out.println(----------------------);//(接下一页)第3章流程控制和数组//(接上一页)System.out.println(exp变换之后exp=+exp);if(exp0){System.out.println(游戏进行中);}else{System.out.println(游戏结束);}3.1流程控制3.1.1条件语句if语句if–else上面代码中,if条件用来判断exp值,如果exp的值大于0的情况,则游戏进行,否则游戏将结束。当exp的值未做改变的时候,程序输出“游戏进行中”,当exp的值被改变后,则程序输出的是“游戏结束”。第3章流程控制和数组3.1流程控制3.1.1条件语句if语句if–else程序输出结果如下:exp=100游戏进行中----------------------exp变换之后exp=-10游戏结束第3章流程控制和数组3.1流程控制3.1.1条件语句if语句if–elseif–else当if后面的条件不满足时,判断elseif后面括号里的新条件是否满足,如果满足即执行此内的语句,如果不满足则继续判断下面的elseif,如果不再有elseif,则执行else内的语句。if(condition1){//条件1成立时,执行的命令Statement1;……}elseif(condition2){//条件2成立时,执行的命令Statement2;……}……else{//否则要执行的命令Statement5;……}第3章流程控制和数组3.1流程控制3.1.1条件语句if语句if–elseif–else案例:if(a40){b=10;}elseif(a30){b=20;}elseif(a20){b=30;}else{b=40;}第3章流程控制和数组3.1流程控制3.1.1条件语句if语句if–elseif–elseif-elseif-运行流程图如下:a40falseb=10truea30b=20truefalsea20b=30trueb=40false第3章流程控制和数组3.1流程控制3.1.1条件语句if语句if–elseif–else【案例3-7】在一个游戏中,当玩家的经验达到某一数值的时候,才可以升级。publicclassDemoIf{publicstaticvoidmain(String[]args){intexp=500;//声明值if(exp400){System.out.println(升到4级);System.out.println(进入下一关);//如果上个条件不满足的情况下,判断elseif之后的条件}elseif(exp200){System.out.println(升到3级);}elseif(exp100){System.out.println(升到2级);第3章流程控制和数组3.1流程控制3.1.1条件语句if语句if–elseif–else//(接上一页)}else{//都不满足时,执行最后的elseSystem.out.println(不升级);}System.out.println(执行if后的语句);}}在上面代码中,exp代表经验值,当exp每增长100,则升一级,否则不升级。第3章流程控制和数组3.1流程控制3.1.1条件语句if语句if–elseif–else代码执行的结果如下:升到4级进入下一关执行if后的语句第3章流程控制和数组3.1流程控制3.1.1条件语句switch语句switch语句的语法是:switch(expression){casevalue1:statement1;break;casevalue2:statement2;break;……casevalueN:statemendN;break;[default:defaultStatement;]}第3章流程控制和数组3.1流程控制3.1.1条件语句switch语句例如:inti=1;switch(i){case1:System.out.println(one);break;case2:System.out.println(two”);break;default:System.out.println(Default);}第3章流程控制和数组3.1流程控制3.1.1条件语句switch语句上例代码中,根据i的值会执行不同的case语句,如果a的值为1,打印结果为“one”;如果a的值为2,打印结果为“two”;i为其他值时,都会打印“Default”。switch语句后的表达式的值必须是特定类型的。只可以使用byte型、short型、char型或int型,不能是float型,double型,boolean型,甚至long型。case子句中的值valueN必须是常量,而且所有case子句中的值应该是不同的。最后的default子句是可选的。switch将控制传给语句标志case后面的值与表达式的值相同的第一个语句,否则switch将控制传给含有default标志的语句。如果没有default标志,控制将被传给switch块后面的第一个语句。另外,在同一个switch块中不能有两个case标志使用相同的值。第3章流程控制和数组3.1流程控制3.1.1条件语句switch和if-elseif在某些情况下可以互换,比如当做为判断条件的变量是byte型、short型、char型或int型,并且判断的值都是定值的时候,才可以互换。如果该变量是一个取值范围,那就只能使用if-elseif来做判断。switch经常使用break来结束switch的执行。只要值与表达式匹配,程序就从这个点开始一直执行下去。所以后面的语句全部会被执行。break语句不是必须的,但不写尽管语法没错,可能会出现某些逻辑的错误。第3章流程控制和数组3.1流程控制3.1.2循环语句while语句通过判断循环条件的值来决定是否继续循环。如果值为true,则重复执行判断条件后的语句;执行完判断条件后的语句,会再次返回,对循环条件进行判断,直到变量或表达式为false时,就跳过while语句,开始执行while后语句。while循环的语法是:[initialization]//初始化条件while(termination){//循环条件body;//循环体[iteration;]//迭代,变更循环条件}当表达式termination为true时,执行{}中的语句,执行完iteration后,再次返回termination,对termination进行判断,如果为false,则退出{}括号。第3章流程控制和数组3.1流程控制3.1.2循环语句例如:inti=0;while(i5){System.out.println(i);i++}首先判断i值是否小于5,如满足则打印i的值,并把i值递增1。之后再次判断i值是否小于5,如此循环执行。当不满足时,退出while语句块。第3章流程控制和数组3.1流程控制3.1.2循环语句上例执行流程图如下:i5打印truefalse第3章流程控制和数组3.1流程控制3.1.2循环语句while循环首先测试循环条件,循环体中的代码可能永远不会执行。如果要确保循环体至少执行1次,应该把测试条件放到最后,可以使用do…while循环实现do-while循环的语法是:[initialization]//初始化条件do{body;//循环体[iteration;]//迭代,变更循环条件}while(termination);//循环条件•do…while语句先执行循环体,即执行body和iteration,然后才判断循环条件,接着再执行循环体,然后再次判断循环条件,如此往复。第3章流程控制和数组3.1流程控制3.1.2循环语句把while语句中的例子,用do…while改写,代码如下:inti=0;do{System.out.println(i);i++}while(i5);第3章流程控制和数组3.1流程控制3.1.2循环语句do…while执行流程图所示:打印i5truefalse第3章流程控制和数组3.1流程控制3.1.2循环语句【案例3-12】用do循环来求0~100的整数的和。intamount=0;//用来存放总数的变量inti=0;//定义一个循环控制变量do{amount=amount+i;i++;}while(i=100);//打印出总和System.out.println(+amount);•注意:使用do…while时,不要忘记最后while语句结尾处的分号。第3章流程控制和数组3.1流程控制3.1.2循环语句for语句

1 / 36
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功