流程控制和数组_第1页
流程控制和数组_第2页
流程控制和数组_第3页
流程控制和数组_第4页
流程控制和数组_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

1、流程控制和数组 条件语句循环语句流程控制关键字 条件语句循环语句循环语句掌握Java语言的流程控制的使用 3.1 流程控制 3.1.1 条件语句 如果圆括号中的条件成立,就执行statement语句指定的操作,条件不成立就接着执行statement之后的语句。条件必须放在圆括号内。 Java中的条件语句格式如下:if(condition)statement1;statement2; if语句 if 单独使用 例如:如果a大于b,将a的值赋为30。if(ab) a=30; 3.1 流程控制 3.1.1 条件语句 if语句 if 单独使用if语句流程图:aba=30truefalse 3.1 流程

2、控制 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 = 10;exp = 100;System.out.println(游戏开始之后 exp=+exp+ x=+x+ y=+y); 3.1 流程控制 3.1.1 条件语句 if语句 i

3、f 单独使用在上面的代码中,对于游戏是否开始的判断是通过if括号内的begin变量来判断,当begin变量为真的时候,代表游戏开始。游戏开始后,才能为玩家的位置和生命值进行赋值。上面代码执行后,会在控制台上打印出如下内容:游戏开始之前 exp=0 x=0 y=0游戏开始之后 exp=100 x=10 y=10 3.1 流程控制 3.1.1 条件语句 if语句 if else if-else语句在条件表达式的值为false时执行else语句。如果if表达式的值为true,那么else块的代码就不执行了。 if(condition) /条件成立时,执行的命令Statement1;Statement

4、2;.else /否则要执行的命令Statement3;Statement4. 3.1 流程控制 3.1.1 条件语句 if语句 if else 例如: if(a b)a=30; /如果a大于b,将a的值赋为30。elsea = 20; /否则,将a的值赋为20aba=30a=20truefalseif-else语句运行流程图如下: 3.1 流程控制 3.1.1 条件语句 if语句 if else 【案例】在游戏中,游戏将结束的条件通常都是玩家的生命值为0,则游戏结束。那么这段文字用代码如何描述呢?下面的案例就将这段条件判断的语言描述转化为代码。 int exp = 100;System.ou

5、t.println(exp = +exp);if(exp 0)System.out.println(游戏进行中);elseSystem.out.println(游戏结束);exp -=110;System.out.println(-);/ (接下一页) /(接上一页)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的

6、情况,则游戏进行,否则游戏将结束。当exp的值未做改变的时候,程序输出“游戏进行中”,当exp的值被改变后,则程序输出的是“游戏结束” 。 3.1 流程控制 3.1.1 条件语句 if语句 if else 程序输出结果如下 :exp = 100游戏进行中-exp变换之后 exp= -10游戏结束 3.1 流程控制 3.1.1 条件语句 if语句 if else if else 当if后面的条件不满足时,判断else if后面括号里的新条件是否满足,如果满足即执行此内的语句,如果不满足则继续判断下面的else if,如果不再有else if,则执行else内的语句。 if(condition1)

7、 /条件1成立时,执行的命令Statement1;else if(condition2) /条件2成立时,执行的命令Statement2;else/否则要执行的命令Statement5; 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.1 流程控制 3.1.1 条件语句 if语句 if else if else if-else if-运行流程图如下:a40falseb=10truea30b=20truefalsea20

8、b=30trueb=40false 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

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

10、itch语句的语法是:switch (expression)case value1 : statement1;break;case value2 : statement2;break;case valueN : statemendN;break;default : defaultStatement; 3.1 流程控制 3.1.1 条件语句 switch语句例如:int i = 1;switch( i )case 1:System.out.println(one);break;case 2:System.out.println(two”);break;default:System.out.pri

11、ntln(Default); 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后面的值与表达式

12、的值相同的第一个语句,否则switch将控制传给含有default标志的语句。如果没有default标志,控制将被传给switch块后面的第一个语句。 另外,在同一个switch块中不能有两个case标志使用相同的值。 3.1 流程控制 3.1.1 条件语句 switch和if-else if在某些情况下可以互换,比如当做为判断条件的变量是byte型、short型、char型或int型,并且判断的值都是定值的时候,才可以互换。如果该变量是一个取值范围,那就只能使用if-else if来做判断。 switch经常使用break来结束switch的执行。只要值与表达式匹配,程序就从这个点开始一直执

13、行下去。所以后面的语句全部会被执行 。 break语句不是必须的,但不写尽管语法没错,可能会出现某些逻辑的错误。 3.1 流程控制 3.1.2 循环语句 while语句通过判断循环条件的值来决定是否继续循环。如果值为true,则重复执行判断条件后的语句;执行完判断条件后的语句,会再次返回,对循环条件进行判断,直到变量或表达式为false时,就跳过while语句,开始执行while后语句。 while循环的语法是: initialization /初始化条件while (termination) /循环条件body; /循环体iteration; /迭代,变更循环条件当表达式terminatio

14、n为true时,执行中的语句,执行完iteration后,再次返回termination,对termination进行判断,如果为false,则退出括号。 3.1 流程控制 3.1.2 循环语句 例如:int i = 0;while (i 5) System.out.println(i); i+ 首先判断i值是否小于5,如满足则打印i的值,并把i值递增1。之后再次判断i值是否小于5,如此循环执行。当不满足时,退出while语句块。 3.1 流程控制 3.1.2 循环语句 上例执行流程图如下:i5打印truefalse 3.1 流程控制 3.1.2 循环语句 while循环首先测试循环条件,循环

15、体中的代码可能永远不会执行。如果要确保循环体至少执行1次,应该把测试条件放到最后,可以使用dowhile循环实现 do-while循环的语法是: initialization /初始化条件do body; /循环体iteration; /迭代,变更循环条件 while (termination); /循环条件dowhile语句先执行循环体,即执行body和iteration,然后才判断循环条件,接着再执行循环体,然后再次判断循环条件,如此往复。 3.1 流程控制 3.1.2 循环语句 把while语句中的例子,用dowhile改写,代码如下: int i = 0;doSystem.out.pr

16、intln(i); i+ while (i 5); 3.1 流程控制 3.1.2 循环语句 dowhile执行流程图所示:打印i5truefalse 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.1 流程控制 3.1.2 循环语句 for语句是一个经常使用的循

17、环结构,它使用计数器或者类似的变量控制循环,并且在每次循环后修改计数器或类似的变量的值,其语法结构如下: for循环的语法是: for (initialization; termination; iteration)body; /循环体/* initialization /初始化条件 termination /循环条件iteration /迭代,变更循环条件*/ 3.1 流程控制 3.1.2 循环语句 for循环首先运行初始化条件,然后判断循环条件。如果循环条件的值为true,循环体语句被执行,然后循环。再次判断循环条件是否满足。如此往复,直到循环条件的值为false,for循环执行结束。例如

18、:for(int i = 0;i 5;i+)System.out.println(i);注: Java编程语言允许在for循环结构中使用逗号作为分隔符。 例如,for (i= 0, j = 0; j=10) break;执行这段程序时,尽管while条件表达式始终为真,全循环只运行10次。 3.1 流程控制 3.1.3 流程控制关键字 2continuecontinue语句只出现在循环语句中,其作用是使程序跳过当前循环,转移到条件判断处进行下一次判断。例如: for(int i = 0;i 3;i+)if (i = 1)continue;System.out.println(i);上例运行结果,会打印出0、2,而i=1的那次循环,被continue语句跳过了。 本课小结本课讲解了流程控制的相关知识。本课讲解了流程控制的相关知识。主要掌握主要掌握if、switch分支语句;分支语句;while、dowhile、for循环语句的应循环语句的应用用 小测验单选题单选题1. 以下描述正确的是( )A. if语句可以嵌套使用,if-else语句也可以嵌套使用B. if语句不可以嵌套使用,只有if-els

温馨提示

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

评论

0/150

提交评论