第三讲程序结构

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

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

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

资源描述

程序结构在语言之中一共分为三种:顺序结构、选择结构、循环结构。一、顺序结构所有的代码按照先后的顺序依次进行执行,例如,如下代码:publicclassHello{publicstaticvoidmain(Stringargs[]){intx=2;x=x+2;System.out.println(x);}}二、分支结构(选择结构)就相当于提供了一些条件判断,根据判断的结果来选择执行何种操作,对于分支结构主要操作语法:if、if..else、if..elseif…else,这三种结构的完整语法如下:if语法:if…else语法:if…elseif…else语法:if(布尔表达式){条件满足时执行的程序;}if(布尔表达式){条件满足时执行的程序;}else{条件不满足时执行的程序;}if(布尔表达式1){条件满足时执行的程序;}elseif(布尔表达式2){条件满足时执行的程序;}...else{所有条件都不满足时执行的程序;}2.1if语法参数说明:布尔表达式或关系表达式:可以是一个单纯的布尔变量与常量或者是逻辑运算符表达式,关系表达式的返回结果必须是一个布尔值。范例:if语句老板对员工说,如果这月的销售额达到10万元的话,月底会给每位员工多发500元的奖金。将其转换为程序设计语句为:if(本月销售额是否等于10万){月底会给每位员工多发500元奖金}下面来看一段程序。【例】定义一个float类型的变量,用于保存商品定价。判断变量是否小于等于60,给出相应的信息。publicclassIfExercise{publicstaticvoidmain(String[]args){floatprice=59.5f;//定义float型变量用于保存价格if(price=60){//判断价格是否小于等于60System.out.println(价格可以接受);//给出提示信息}System.out.println(选购完毕);//给出提示信息}}从运行结果图中可以看出,由于变量price的值小于60,因此语句“价格可以接受”会输出。而最后一句代码,不管条件语句中的条件是否满足,都会被执行。图为简单的if条件语句的流程图。练习1如果王梁的Java考试成绩大于90分,王梁就能获得一个iPhone5作为奖励练习2王梁Java成绩大于90分,并且音乐成绩大于80分时,或者Java成绩等于100分,音乐成绩大于70分时,老师奖励他2.2.if...else语句if...else语句是条件语句最常用的一种形式,它针对某种条件有选择地做出处理。通常表现为“如果满足某种条件,就进行某种处理,否则就进行另一种处理”。if…else语句的执行流程掌握了if…else语句的语法后,就可以编写包含if…else语句的程序。可以将上例进一步修改,实现如果价格小于60,则表示可以购买商品;如果价格大于60,则表示价格太贵,不能购买商品。【例】使用if...else条件语句,判断变量是否大于60,并给出相应的提示信息。publicclassIfElseExercise{publicstaticvoidmain(String[]args){floatprice=59.5f;//定义float型变量用于保存价格if(price=60){//判断价格是否小于等于60System.out.println(价格可以接受!);//给出提示信息}else{//如果条件不成立System.out.println(太贵了,拒绝购买!);//给出提示信息}System.out.println(选购完毕!);//给出提示信息}}本实例运行结果如图所示。从运行结果图中可以看出,因为变量price小于60,因此if表达式返回true,执行if后的语句序列,而else后的代码不会被执行。说明if…else语句可以使用三元运算符代替。例如上面的表达式可以修改成表达式“(price=60)?价格可以接受!:太贵了,拒绝购买!”。练习如果王梁Java考试成绩大于98分,老师就奖励他一个iPhone5,否则老师就罚他当众唱歌2.3.if…elseif多分支语句if...elseif多分支语句用于针对某一事件的多种情况进行处理。通常表现为“如果满足某种条件,就进行某种处理,否则如果满足另一种条件才执行另一种处理”。【例】在主方法中定义int型变量,使用if...elseif语句判断其范围。publicclassVerdict{publicstaticvoidmain(String[]args){intnumber=14;//定义int型变量if(number20){//判断变量是否大于20System.out.println(变量number大于20);//给出提示信息}elseif(number10){//判断变量是否大于10System.out.println(变量number大于10且小于20);//给出提示信息}elseif(number0){//判断变量是否大于0System.out.println(变量number大于0且小于10);//给出提示信息}else{System.out.println(变量number小于等于0);}}}练习1我想买车,买什么车决定于我在银行有多少存款:如果我的存款超过500万,我就买凯迪拉克否则,如果我的存款超过100万,我就买帕萨特否则,如果我的存款超过50万,我就买依兰特否则,如果我的存款超过10万,我就买奥托否则,我买捷安特。以上需求,如何用程序实现练习2如果今天是周六或周日,打算外出。如果气温在30度以上,去游泳;否则就去爬山如果今天不是周六或周日,就要工作。如果天气好,去客户单位谈业务;否则,在公司上网查资料2.4学会使用switch语句在编程中一个常见的问题就是检测一个变量是否符合某个条件,如果不匹配,再用另一个值来检测它,依此类推下去。当然这种问题使用if条件语句可以完成。例如:if(grade==A){System.out.println(真棒);}if(grade==b){System.out.println(做得不错);}这个程序显得比较笨重,程序员需要测试不同的值来给出输出语句。在Java中,可以用switch语句将动作组织起来,这样就能以一个较简单明了的方式,来实现“多选一”的选择。语法如下:switch(条件表达式){case常量表达式1:语句块1;[break;]case常量表达式2:语句块2;[break;]case常量表达式3:语句块3;[break;]...default:语句块n+1;[break;]}参数说明:条件表达式:必要参数,任意的byte、short、int和char类型的变量。常量表达式:常量表达式必须是与条件表达式类型相兼容的值。语句块:可选参数,一条或多条语句,不需要大括号。当表达式的值与常量表达式的值相匹配时执行。如果不匹配则继续判断其他值,直到常量表达式n。break:可选参数,用于跳出switch语句。default:可选参数,如果没有该语句,switch语句中的表达式不与任何case语句的常量值相同时,switch语句不做任何处理。switch语句的执行流程如图所示。【例】publicclassHello{publicstaticvoidmain(Stringargs[]){intch=0;switch(ch){case0:System.out.println(数值是0。);break;case1:System.out.println(数值是1。);break;case2:System.out.println(数值是2。);break;default:System.out.println(没有条件满足。);break;}}}本实例的运行结果如图所示。switch语句中的break语句,也可以说成结束switch语句,因为case子句只是不同分支的标识,用来匹配表达式的值,是分支的入口。当case与表达式匹配之后,就开始执行分支语句,而不再比较之后的任何case子句的常量。所以,每个case分支的最后,需要使用break语句来中断switch语句,防止继续执行其他的case分支语句或者default语句。例如上面的实例如果将每个case语句后的break语句去掉,程序修改为:publicclassHello{publicstaticvoidmain(Stringargs[]){intch=0;switch(ch){case0:System.out.println(数值是0。);case1:System.out.println(数值是1。);case2:System.out.println(数值是2。);default:System.out.println(没有条件满足。);}}}注意对于switch随着版本的不同,也有所更改,JDK1.5之后也可以利用枚举作为判断条件,而JDK1.7之后,switch里面也可以判断字符串了(String),这个可以理解为JDK1.7才支持的新功能。publicclassHello{publicstaticvoidmain(Stringargs[]){Stringstr=two;switch(str){caseone:System.out.println(壹);break;casetwo:System.out.println(贰);break;casethree:System.out.println(叁);break;default:System.out.println(没有);break;}}}由于在case语句后没有break子句,因此在获取匹配的数值时,没有退出程序,而是继续执行程序。三、循环结构循环的概念主要指的是某一块代码可以被重复执行多次。而循环的操作,分为两种语法:while循环、for循环。3.1、while循环:do…while:while:do{循环体;循环条件修改;}while(循环判断);while(循环判断){循环体;循环条件修改;}while语句是循环语句,也是条件判断语句。它的循环重复执行方式,是利用一个条件来控制是否要继续重复执行这个语句。while循环语句的执行流程为:当条件表达式的返回值为真时,则执行{}中的语句,当执行完{}中的语句后,重新判断条件表达式的返回值,直到表达式返回的结果为假时,退出循环。while循环语句的执行流程,如图所示do…while语句,是先执行循环体中的内容,再判断条件,如果条件不满足,下次就不再执行循环体中的内容,即循环体中的内容要至少被执行一次。通过这样的语法就可以发现,实际上do..while表示先执行后判断,而while循环表示先判断后执行,如果循环条件都不满足的情况下,do..while至少执行一次,而while一次都不会执行。通过以上给出的两个格式,应该可以发现出循环结构的特点:·循环的结束判断;·每次循环体执行的时候,循环条件要求修改。范例:使用while两种循环实现1~100的累加do…while:while(布尔表达式):publicclassHello{publicclassHello{publicstaticvoidmain(Stringargs[]){intsum=0;//保存累加的结果intx=1;//进行结束的判断do{sum+=x;//累加x++;//x自增长}while(x=100);//满足则继续执行System.out.println(sum);}}publicstaticvoidmain(Stringargs[]){intsum=0;//保存累加的结果intx=1;//进行结束的判断while(x=100){sum+=x;//累加x++;//x自增长}System.out.println(sum);}}例:输入一名学生姓名和他的5门课的成绩,求平均分并显示3.2、for循环:for循环的最大特点是已经明确的知道了循环次数,for循环

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

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

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

×
保存成功