流程控制和数组

上传人:ni****g 文档编号:570088406 上传时间:2024-08-01 格式:PPT 页数:36 大小:328.50KB
返回 下载 相关 举报
流程控制和数组_第1页
第1页 / 共36页
流程控制和数组_第2页
第2页 / 共36页
流程控制和数组_第3页
第3页 / 共36页
流程控制和数组_第4页
第4页 / 共36页
流程控制和数组_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《流程控制和数组》由会员分享,可在线阅读,更多相关《流程控制和数组(36页珍藏版)》请在金锄头文库上搜索。

1、手机游戏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

2、(ab) a=30; 3.1 流程控制 3.1.1 条件语句 if语句 if 单独使用if语句流程图:aba=30truefalse第第3章章 流程控制和数组流程控制和数组3.1 流程控制 3.1.1 条件语句 if语句 if 单独使用【案例1】当游戏开始的时候,需要设置人物的位置和生命值。int exp = 0;/玩家生命值int x = 0;/玩家x位置坐标int y = 0;/玩家y位置坐标boolean begin = true;/游戏开始的标志量System.out.println(游戏开始之前 exp=+exp+ x=+x+ y=+y);if(begin=true)x = 10;y

3、 = 10;exp = 100;System.out.println(游戏开始之后 exp=+exp+ x=+x+ y=+y);第第3章章 流程控制和数组流程控制和数组3.1 流程控制 3.1.1 条件语句 if语句 if 单独使用在上面的代码中,对于游戏是否开始的判断是通过if括号内的begin变量来判断,当begin变量为真的时候,代表游戏开始。游戏开始后,才能为玩家的位置和生命值进行赋值。上面代码执行后,会在控制台上打印出如下内容:游戏开始之前 exp=0 x=0 y=0游戏开始之后 exp=100 x=10 y=10第第3章章 流程控制和数组流程控制和数组3.1 流程控制 3.1.1

4、条件语句 if语句 if else if-else语句在条件表达式的值为false时执行else语句。如果if表达式的值为true,那么else块的代码就不执行了。 if(condition) /条件成立时,执行的命令Statement1;Statement2;.else /否则要执行的命令Statement3;Statement4.第第3章章 流程控制和数组流程控制和数组3.1 流程控制 3.1.1 条件语句 if语句 if else 例如: if(a b)a=30; /如果a大于b,将a的值赋为30。elsea = 20; /否则,将a的值赋为20aba=30a=20truefalseif

5、-else语句运行流程图如下: 第第3章章 流程控制和数组流程控制和数组3.1 流程控制 3.1.1 条件语句 if语句 if else 【案例】在游戏中,游戏将结束的条件通常都是玩家的生命值为0,则游戏结束。那么这段文字用代码如何描述呢?下面的案例就将这段条件判断的语言描述转化为代码。 int exp = 100;System.out.println(exp = +exp);if(exp 0)System.out.println(游戏进行中);elseSystem.out.println(游戏结束);exp -=110;System.out.println(-);/ (接下一页)第第3章章

6、流程控制和数组流程控制和数组 /(接上一页)System.out.println(exp变换之后 exp= +exp);if(exp 0)System.out.println(游戏进行中);elseSystem.out.println(游戏结束);3.1 流程控制 3.1.1 条件语句 if语句 if else 上面代码中, if条件用来判断exp值,如果exp的值大于0的情况,则游戏进行,否则游戏将结束。当exp的值未做改变的时候,程序输出“游戏进行中”,当exp的值被改变后,则程序输出的是“游戏结束” 。第第3章章 流程控制和数组流程控制和数组3.1 流程控制 3.1.1 条件语句 if语

7、句 if else 程序输出结果如下 :exp = 100游戏进行中-exp变换之后 exp= -10游戏结束第第3章章 流程控制和数组流程控制和数组3.1 流程控制 3.1.1 条件语句 if语句 if else if else 当if后面的条件不满足时,判断else if后面括号里的新条件是否满足,如果满足即执行此内的语句,如果不满足则继续判断下面的else if,如果不再有else if,则执行else内的语句。 if(condition1) /条件1成立时,执行的命令Statement1;else if(condition2) /条件2成立时,执行的命令Statement2;else/

8、否则要执行的命令Statement5;第第3章章 流程控制和数组流程控制和数组3.1 流程控制 3.1.1 条件语句 if语句 if else if else 案例:if (a 40) b=10; else if (a30) b=20; else if (a20) b=30; else b=40;第第3章章 流程控制和数组流程控制和数组3.1 流程控制 3.1.1 条件语句 if语句 if else if else if-else if-运行流程图如下:a40falseb=10truea30b=20truefalsea20b=30trueb=40false第第3章章 流程控制和数组流程控制和数

9、组3.1 流程控制 3.1.1 条件语句 if语句 if else if else 【案例3-7】在一个游戏中,当玩家的经验达到某一数值的时候,才可以升级。public class DemoIfpublic static void main(String args)int exp=500;/声明值if(exp400)System.out.println(升到4级);System.out.println(进入下一关);/如果上个条件不满足的情况下,判断else if之后的条件else if(exp200)System.out.println(升到3级);else if(exp100)System

10、.out.println(升到2级);第第3章章 流程控制和数组流程控制和数组3.1 流程控制 3.1.1 条件语句 if语句 if else if else / (接上一页)else/都不满足时,执行最后的else System.out.println(不升级); System.out.println(执行if后的语句);在上面代码中,exp代表经验值,当exp每增长100,则升一级,否则不升级。 第第3章章 流程控制和数组流程控制和数组3.1 流程控制 3.1.1 条件语句 if语句 if else if else 代码执行的结果如下 :升到4级进入下一关执行if后的语句第第3章章 流程控

11、制和数组流程控制和数组3.1 流程控制 3.1.1 条件语句 switch语句switch语句的语法是:switch (expression)case value1 : statement1;break;case value2 : statement2;break;case valueN : statemendN;break;default : defaultStatement; 第第3章章 流程控制和数组流程控制和数组3.1 流程控制 3.1.1 条件语句 switch语句例如:int i = 1;switch( i )case 1:System.out.println(one);break

12、;case 2: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子句

13、中的值valueN必须是常量,而且所有case子句中的值应该是不同的。最后的default子句是可选的。 switch将控制传给语句标志case后面的值与表达式的值相同的第一个语句,否则switch将控制传给含有default标志的语句。如果没有default标志,控制将被传给switch块后面的第一个语句。 另外,在同一个switch块中不能有两个case标志使用相同的值。 第第3章章 流程控制和数组流程控制和数组3.1 流程控制 3.1.1 条件语句 switch和if-else if在某些情况下可以互换,比如当做为判断条件的变量是byte型、short型、char型或int型,并且判断的

14、值都是定值的时候,才可以互换。如果该变量是一个取值范围,那就只能使用if-else if来做判断。 switch经常使用break来结束switch的执行。只要值与表达式匹配,程序就从这个点开始一直执行下去。所以后面的语句全部会被执行 。 break语句不是必须的,但不写尽管语法没错,可能会出现某些逻辑的错误。 第第3章章 流程控制和数组流程控制和数组3.1 流程控制 3.1.2 循环语句 while语句通过判断循环条件的值来决定是否继续循环。如果值为true,则重复执行判断条件后的语句;执行完判断条件后的语句,会再次返回,对循环条件进行判断,直到变量或表达式为false时,就跳过while语

15、句,开始执行while后语句。 while循环的语法是: initialization /初始化条件while (termination) /循环条件body; /循环体iteration; /迭代,变更循环条件当表达式termination为true时,执行中的语句,执行完iteration后,再次返回termination,对termination进行判断,如果为false,则退出括号。第第3章章 流程控制和数组流程控制和数组3.1 流程控制 3.1.2 循环语句 例如:int i = 0;while (i 5) System.out.println(i); i+ 首先判断i值是否小于5,

16、如满足则打印i的值,并把i值递增1。之后再次判断i值是否小于5,如此循环执行。当不满足时,退出while语句块。 第第3章章 流程控制和数组流程控制和数组3.1 流程控制 3.1.2 循环语句 上例执行流程图如下:i5打印truefalse第第3章章 流程控制和数组流程控制和数组3.1 流程控制 3.1.2 循环语句 while循环首先测试循环条件,循环体中的代码可能永远不会执行。如果要确保循环体至少执行1次,应该把测试条件放到最后,可以使用dowhile循环实现 do-while循环的语法是: initialization /初始化条件do body; /循环体iteration; /迭代,

17、变更循环条件 while (termination); /循环条件dowhile语句先执行循环体,即执行body和iteration,然后才判断循环条件,接着再执行循环体,然后再次判断循环条件,如此往复。 第第3章章 流程控制和数组流程控制和数组3.1 流程控制 3.1.2 循环语句 把while语句中的例子,用dowhile改写,代码如下: int i = 0;doSystem.out.println(i); i+ while (i 5);第第3章章 流程控制和数组流程控制和数组3.1 流程控制 3.1.2 循环语句 dowhile执行流程图所示:打印i5truefalse第第3章章 流程控

18、制和数组流程控制和数组3.1 流程控制 3.1.2 循环语句 【案例3-12】用do循环来求0100的整数的和。int amount=0;/用来存放总数的变量int i=0; /定义一个循环控制变量doamount=amount+i;i+;while(i=100);/打印出总和System.out.println(+amount);注意:使用dowhile时,不要忘记最后while语句结尾处的分号。第第3章章 流程控制和数组流程控制和数组3.1 流程控制 3.1.2 循环语句 for语句是一个经常使用的循环结构,它使用计数器或者类似的变量控制循环,并且在每次循环后修改计数器或类似的变量的值,其

19、语法结构如下: for循环的语法是: for (initialization; termination; iteration)body; /循环体/* initialization /初始化条件 termination /循环条件iteration /迭代,变更循环条件*/第第3章章 流程控制和数组流程控制和数组3.1 流程控制 3.1.2 循环语句 for循环首先运行初始化条件,然后判断循环条件。如果循环条件的值为true,循环体语句被执行,然后循环。再次判断循环条件是否满足。如此往复,直到循环条件的值为false,for循环执行结束。例如:for(int i = 0;i 5;i+)Syst

20、em.out.println(i);注: Java编程语言允许在for循环结构中使用逗号作为分隔符。 例如,for (i= 0, j = 0; j=10) break;执行这段程序时,尽管while条件表达式始终为真,全循环只运行10次。第第3章章 流程控制和数组流程控制和数组3.1 流程控制 3.1.3 流程控制关键字 2continuecontinue语句只出现在循环语句中,其作用是使程序跳过当前循环,转移到条件判断处进行下一次判断。例如: for(int i = 0;i 3;i+)if (i = 1)continue;System.out.println(i);上例运行结果,会打印出0、

21、2,而i=1的那次循环,被continue语句跳过了。第第3章章 流程控制和数组流程控制和数组本课小结本课讲解了流程控制的相关知识。本课讲解了流程控制的相关知识。主要掌握主要掌握if、switch分支语句;分支语句;while、dowhile、for循环语句循环语句的应用的应用 第第3章章 流程控制和数组流程控制和数组小测验单选题单选题1. 以下描述正确的是( )A. if语句可以嵌套使用,if-else语句也可以嵌套使用B. if语句不可以嵌套使用,只有if-else语句才可以嵌套使用C. if语句可以嵌套使用,if-else语句不可以嵌套使用D. 无论if语句还是if-else语句均不可以嵌套使用 多选题多选题2.下列利用for语句,实现了10次的循环的有( )A.for(int i = 1;i10;i+)B.for(int i = 1;i=10;i+)C. for(int i = 0;i10;i+)D.for(int i = 0;i=10i+) A BC 第第3章章 流程控制和数组流程控制和数组课后作业【作业【作业1】用】用if语句实现求出三个数中的最大值。语句实现求出三个数中的最大值。 【作业【作业2】用】用while语句实现求出语句实现求出100以内奇数的和。以内奇数的和。第第3章章 流程控制和数组流程控制和数组

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号