第三讲程序结构_第1页
第三讲程序结构_第2页
第三讲程序结构_第3页
第三讲程序结构_第4页
第三讲程序结构_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、程序结构在语言之中一共分为三种:顺序结构、选择结构、循环结构。一、顺序结构所有的代码按照先后的顺序依次进行执行,例如,如下代码:public class Hello public static void main(String args) int x = 2 ;x = x + 2 ;System.out.println(x) ;二 、分支结构(选择结构) 就相当于提供了一些条件判断,根据判断的结果来选择执行何种操作,对于分支结构主要操作语法:if、if.else、if.else ifelse,这三种结构的完整语法如下:if语法:ifelse语法:ifelse ifelse语法:if (布尔表达

2、式) 条件满足时执行的程序;if (布尔表达式) 条件满足时执行的程序; else 条件不满足时执行的程序;if (布尔表达式1) 条件满足时执行的程序; else if (布尔表达式2) 条件满足时执行的程序; . else 所有条件都不满足时执行的程序;2.1 if语法参数说明: 布尔表达式或关系表达式:可以是一个单纯的布尔变量与常量或者是逻辑运算符表达式,关系表达式的返回结果必须是一个布尔值。 范例:if语句老板对员工说,如果这月的销售额达到 10 万元的话,月底会给每位员工多发500 元的奖金。将其转换为程序设计语句为: if(本月销售额是否等于10万) 月底会给每位员工多发500元奖

3、金 下面来看一段程序。 【例】 定义一个float 类型的变量,用于保存商品定价。判断变量是否小于等于60,给出相应的信息。public class IfExercise public static void main(String args) float price = 59.5f; /定义float型变量用于保存价格 if (price = 60) /判断价格是否小于等于60 System.out.println(价格可以接受); /给出提示信息 System.out.println(选购完毕); /给出提示信息 从运行结果图中可以看出,由于变量price 的值小于60,因此语句“价格可以

4、接受”会输出。而最后一句代码,不管条件语句中的条件是否满足,都会被执行。图为简单的 if条件语句的流程图。练习1如果王梁的Java考试成绩大于90分,王梁就能获得一个iPhone5作为奖励练习2王梁Java成绩大于90分,并且音乐成绩大于80分时,或者Java成绩等于100分,音乐成绩大于70分时,老师奖励他2.2if.else语句 if.else 语句是条件语句最常用的一种形式,它针对某种条件有选择地做出处理。通常表现为“如果满足某种条件,就进行某种处理,否则就进行另一种处理”。ifelse语句的执行流程掌握了ifelse语句的语法后,就可以编写包含 ifelse语句的程序。可以将上例进一步

5、修改,实现如果价格小于60,则表示可以购买商品;如果价格大于 60,则表示价格太贵,不能购买商品。 【例】 使用 if . else 条件语句,判断变量是否大于 60,并给出相应的提示信息。public class IfElseExercise public static void main(String args) float price = 59.5f; /定义float型变量用于保存价格 if (price = 60) /判断价格是否小于等于60 System.out.println(价格可以接受!); /给出提示信息 else / 如果条件不成立 System.out.println(

6、太贵了,拒绝购买!); /给出提示信息 System.out.println(选购完毕!); /给出提示信息 本实例运行结果如图所示。 从运行结果图中可以看出,因为变量price小于60,因此 if 表达式返回true,执行if后的语句序列,而else后的代码不会被执行。 说明 ifelse语句可以使用三元运算符代替。例如上面的表达式可以修改成表达式“(price 20) /判断变量是否大于20 System.out.println(变量number大于20); /给出提示信息 else if(number 10) /判断变量是否大于10 System.out.println(变量number

7、大于10且小于20); /给出提示信息 else if(number 0) /判断变量是否大于0 System.out.println(变量number大于0且小于10); /给出提示信息 else System.out.println(变量number小于等于0); 练习1我想买车,买什么车决定于我在银行有多少存款:如果我的存款超过500万,我就买凯迪拉克否则,如果我的存款超过100万,我就买帕萨特否则,如果我的存款超过50万,我就买依兰特否则,如果我的存款超过10万,我就买奥托否则,我买捷安特。以上需求,如何用程序实现练习2如果今天是周六或周日,打算外出。如果气温在30度以上,去游泳;否则

8、就去爬山如果今天不是周六或周日,就要工作。如果天气好,去客户单位谈业务;否则,在公司上网查资料2.4 学会使用switch语句 在编程中一个常见的问题就是检测一个变量是否符合某个条件,如果不匹配,再用另一个值来检测它,依此类推下去。当然这种问题使用if条件语句可以完成。例如: if(grade = A) System.out.println(真棒); if(grade = b) System.out.println(做得不错); 这个程序显得比较笨重,程序员需要测试不同的值来给出输出语句。在 Java 中,可以用 switch 语句将动作组织起来,这样就能以一个较简单明了的方式,来实现“多选一

9、”的选择。语法如下: switch (条件表达式) case常量表达式1:语句块1;break ;case常量表达式2:语句块2;break ;case常量表达式3:语句块3;break ;.default:语句块n+1;break ;参数说明: l 条件表达式:必要参数,任意的byte、short、int 和char 类型的变量。 l 常量表达式:常量表达式必须是与条件表达式类型相兼容的值。 l 语句块:可选参数,一条或多条语句,不需要大括号。当表达式的值与常量表达式的值相匹配时执行。如果不匹配则继续判断其他值,直到常量表达式n。 l break:可选参数,用于跳出switch语句。 l d

10、efault:可选参数,如果没有该语句,switch语句中的表达式不与任何case语句的常量值相同时,switch语句不做任何处理。 switch语句的执行流程如图所示。 【例】public class Hello public static void main(String args) int ch = 0 ;switch(ch) case 0 :System.out.println(数值是0。) ;break ;case 1 :System.out.println(数值是1。) ;break ;case 2 :System.out.println(数值是2。) ;break ;defaul

11、t :System.out.println(没有条件满足。) ;break ;本实例的运行结果如图所示。 switch语句中的break 语句,也可以说成结束switch 语句,因为case 子句只是不同分支的标识,用来匹配表达式的值,是分支的入口。当 case 与表达式匹配之后,就开始执行分支语句,而不再比较之后的任何 case子句的常量。所以,每个case分支的最后,需要使用break语句来中断switch 语句,防止继续执行其他的case分支语句或者default 语句。例如上面的实例如果将每个case语句后的break语句去掉,程序修改为:public class Hello publ

12、ic static void main(String args) int ch = 0 ;switch(ch) case 0 :System.out.println(数值是0。) ;case 1 :System.out.println(数值是1。) ;case 2 :System.out.println(数值是2。) ;default :System.out.println(没有条件满足。) ;注意对于switch随着版本的不同,也有所更改,JDK 1.5之后也可以利用枚举作为判断条件,而JDK 1.7之后,switch里面也可以判断字符串了(String),这个可以理解为JDK 1.7才支持

13、的新功能。public class Hello public static void main(String args) String str = two ;switch(str) case one :System.out.println(壹) ;break ;case two :System.out.println(贰) ;break ;case three :System.out.println(叁) ;break ;default :System.out.println(没有) ;break ;由于在case语句后没有break 子句,因此在获取匹配的数值时,没有退出程序,而是继续执行程

14、序。三、循环结构循环的概念主要指的是某一块代码可以被重复执行多次。而循环的操作,分为两种语法:while循环、for循环。3.1、while循环:dowhile:while:do 循环体;循环条件修改; while (循环判断) ;while (循环判断) 循环体;循环条件修改;while语句是循环语句,也是条件判断语句。它的循环重复执行方式,是利用一个条件来控制是否要继续重复执行这个语句。 while 循环语句的执行流程为:当条件表达式的返回值为真时,则执行中的语句,当执行完中的语句后,重新判断条件表达式的返回值,直到表达式返回的结果为假时,退出循环。while 循环语句的执行流程,如图所示

15、dowhile 语句,是先执行循环体中的内容,再判断条件,如果条件不满足,下次就不再执行循环体中的内容,即循环体中的内容要至少被执行一次。通过这样的语法就可以发现,实际上do.while表示先执行后判断,而while循环表示先判断后执行,如果循环条件都不满足的情况下,do.while至少执行一次,而while一次都不会执行。通过以上给出的两个格式,应该可以发现出循环结构的特点:循环的结束判断;每次循环体执行的时候,循环条件要求修改。范例:使用while两种循环实现1 100的累加dowhile:while(布尔表达式):public class Hello public static void

16、 main(String args) int sum = 0 ;/保存累加的结果int x = 1 ;/进行结束的判断do sum += x ;/累加x + ;/ x自增长 while (x = 100) ;/满足则继续执行System.out.println(sum) ;public class Hello public static void main(String args) int sum = 0 ;/保存累加的结果int x = 1 ;/进行结束的判断while (x = 100) sum += x ;/累加x + ;/ x自增长System.out.println(sum) ;例:

17、输入一名学生姓名和他的5门课的成绩,求平均分并显示3.2、for循环:for循环的最大特点是已经明确的知道了循环次数,for循环的语法如下:for (循环的初始值;循环的判断条件;迭代语句) 循环体;迭代语句:用于改变循环变量的值的语句。在执行 for 循环时,第一步执行初始化语句,完成某一变量的初始化工作,例如int i=0;下一步判断循环条件的值,若循环条件的值为 true,则进入循环体;在执行完循环体后紧接着计算迭代语句,这部分通常是增加或减少循环控制变量的一个表达式。这样一轮循环就结束了。第二轮循环从计算循环条件开始,若循环条件返回true,则继续循环,否则跳出整个 for 语句。范例

18、:实现1 100的累加推荐作法:不推荐作法:public class Hello public static void main(String args) int sum = 0 ;/保存累加的结果for (int x = 1 ; x = 100 ; x +) sum += x ;System.out.println(sum) ;public class Hello public static void main(String args) int sum = 0 ;/保存累加的结果int x = 1 ;/初始值for ( ; x = 100 ; ) sum += x ;x + ;/循环条件修改

19、System.out.println(sum) ;总结关于循环的出现情况:while循环:在不确定循环次数,但是确定循环结束条件的情况下使用;for循环:确定循环次数的情况下使用。对于循环而言,也可以进行循环的嵌套操作。范例:输出一个乘法口诀表,需要两层循环public class Hello public static void main(String args) for (int x = 1 ; x = 9 ; x +) /控制循环行for (int y = 1; y = x ; y + ) System.out.print(x + * + y + = + x * y + t) ;Syst

20、em.out.println() ;/换行范例:打印三角型public class Hello public static void main(String args) int line = 9 ;/打印9行for (int x = 0 ; x 9 ; x +) /循环次数,控制行for (int y = 0 ; y line - x ; y +) System.out.print( ) ;for (int y = 0 ; y = x ; y +) System.out.print(* ) ;System.out.println() ;注意:一般情况下,在使用循环语句时,要保证循环可以正常结束

21、,也就是必须保证循环条件的结果存在为false的情况,否则循环体将无休止地执行下去,从而形成死循环。四、循环跳转语句 一个工作良好的循环体,在某些条件下可能需要终止循环,或者在某些条件下需要放弃本次循环。Java 语言定义的break语句和continue语句用于循环的跳转,它们可以实现上述功能。4.1 结束本次循环的continue语句 continue语句在循环体中用于终止当前的循环,返回到循环开始处,接着开始新的循环。但需要注意的是continue语句只能出现在循环语句while、for、dowhile语句中。 【例】 本实例使用for 循环语句与continue语句,获取1100各数中可以整除10的数。public class Countinue public static void main(String args) System.out.println(可以被10整除的数有:

温馨提示

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

评论

0/150

提交评论