2-运算符与选择结构.

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

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

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

资源描述

主题运算符与选择结构第二单元第1页/共39页掌握算术运算符、关系运算符逻辑运算符、赋值运算符条件运算符本章目标了解位运算符掌握各种选择结构的语法及用法点重掌握多分支if语句的语法及用法串讲:运算符运算符intnum1=5;intnum2=2;intyu=num1%num2;intshang=num1/num2;System.out.println(num1+%+num2+=+yu);System.out.println(num1+/+num2+=+shang);num1++;num2--;System.out.println(num1=+num1);System.out.println(num2=+num2);操作数操作数运算符串讲:算术运算符输出输出下面代码片断的输出结果是什么?示例%求余数/求商等价于:num1=num1+1;等价于:num2=num2–1;5%2=15/2=2num1=6num2=18080zhangScore=wangScore;//将右边的值给左边的变量intwangScore=80;//王浩成绩intzhangScore;//张萌成绩wangScore=zhangScore;System.out.println(“张萌成绩是+zhangScore);串讲:赋值运算符2-1学员王浩的Java成绩是80分,学员张萌的Java成绩与他的相同,输出张萌的成绩赋值运算符wangScorezhangScore副本代码错误问题a=(b+3)+(b–1)表达式表达式表达式串讲:赋值运算符2-2变量名=表达式;语法示例表达式就是符号(如加号、减号)与操作数(如b,3等)的组合串讲:复合赋值运算符+=,-=,*=,/=,…x+=5;等价于x=x+5;上机练习练习需求说明键盘输入四位数字的会员卡号使用“/”和“%”运算符分解获得会员卡各个位上的数字将各个位上数字求和分析通过求余运算分别获得会员卡号的个、十、百、千位的数字Scanner可以接收用户从键盘输入的数据如何使用Scanner一:使用前先导入Scanner类二:创建Scanner对象三:获得键盘输入的数据串讲:Scanner2-1importjava.util.Scanner;Scannerinput=newScanner(System.in);intnow=input.nextInt();串讲:Scanner2-2Scanner常用方法方法说明Stringnext()获得一个字符串intnextInt()获得一个整型数值串讲:关系运算符注意运算符含义范例结果==等于5==6false!=不等于5!=6true大于56false小于56true=大于等于5=6false=小于等于5=6true=为赋值运算符,==为等于运算符关系表达式的结果为布尔值、、=、=运算符的优先级别高于==、!=、、=、=运算符只支持数值类型的数据比较串讲:逻辑运算符注意运算符含义运算规则&&(短路)逻辑与两个操作数都是true,结果才为true||(短路)逻辑或两个操作数一个是true,结果为true!逻辑非true-false;false-true优先级:!-&&-||串讲:逻辑运算符注意运算符含义运算规则&(全路)逻辑与都是true,结果才为true|(全路)逻辑或有一个是true,结果为true^逻辑异或相同为false;不同为true;操作数类型只能是布尔类型,操作结果也是布尔值优先级别:!-&-^-|-&&-||小结请下面这段代码的运行结果是?提问publicstaticvoidmain(String[]args){System.out.println(!((23+30%2*3)12));}false串讲:位运算符2-1运算符含义运算规则&按位与两个操作数都是1,结果才为1|按位或两个操作数一个是1,结果为1^按位异或两个操作数相同,结果为0;两个操作数不同,结果为1;~按位非/取反操作数为1,结果为0;操作数为0,结果为1;左移右边空位补0右移左侧空位补最高位,即符号位无符号右移左侧空位补0串讲:位运算符2-2位运算的结果也是整型数位运算符对操作数以二进制位为单位进行运算如果操作数是char、byte、short,位运算前其值会自动晋升为int,运算结果也为int位运算的操作数是整型数注意串讲:条件运算符也称为:三目运算符或三元运算符语法示例intmin;min=57?5:7;System.out.println(min);min=107?10:7;System.out.println(min);小结单目运算符包括!~++--,优先级别高优先级别最低的是赋值运算符可以通过()控制表达式的运算顺序,()优先级最高从右向左结合性的只有赋值运算符、三目运算符和单目运算符算术运算符关系运算符逻辑运算符/**HelloWorld.java*2013-03-21*我的第一个Java程序*/publicclassHelloWorld{publicstaticvoidmain(String[]args){//输出消息到控制台System.out.println(HelloWorld!!!);}}文件的名称日期功能说明串讲:Java程序的注释示例为了美观,多行注释的每一行开头可写一个或多个*多行注释以“/*”开头以“*/”结尾注释以//开始以行末结束/***学生类*@author北大青鸟*/publicclassPB_Student{/***学生姓名*/Stringname=lzht;/***输出学生姓名和年龄*/publicvoidshow(){System.out.println(name);}}串讲:添加文档注释示例类的JavaDoc注释属性的JavaDoc注释方法的JavaDoc注释串讲:文档注释标签含义@author作者名@parameter参数及其意义@return返回值@version版本标识@since最早使用该方法/类/接口的JDK版本@throws异常类及抛出条件提问文档注释如何使用?有什么作用呢?串讲:生成注释文档生成注释文档的方法使用命令行方式生成使用Eclipse工具生成if(条件){//代码块}选择结构是根据条件判断结果选择不同的处理基本的if选择结构串讲:基本的if选择结构条件代码块真假语法示例if(王梁的Java考试成绩90){//获得一个iPhone5作为奖励;}只有一条语句时,建议不省略{}第23页/共60页importjava.util.Scanner;publicclassGetPrize{publicstaticvoidmain(String[]args){Scannerinput=newScanner(System.in);System.out.print(输入王梁的Java成绩:);//提示输入成绩intscore=input.nextInt();//从控制台获取王梁的成绩if(score90){//判断是否大于90分System.out.println(老师说:不错,奖励一个iPhone5!);}}}串讲:基本的if选择结构如果王梁的Java考试成绩大于90分,王梁就能获得一个iPhone5作为奖励示例第24页/共60页分析:怎样把多个条件连接起来?使用逻辑运算符串讲:使用复杂条件的if选择结构2-1王梁Java成绩大于90分,并且音乐成绩大于80分时,或者Java成绩等于100分,音乐成绩大于70分时,老师奖励他,该怎么做呢?问题运算符表达式说明&&条件1&&条件2仅仅两个条件同时为真,结果为真||条件1||条件2只要两个条件有一个为真,结果为真!!条件条件为真时,结果为假条件为假时,结果为真第25页/共60页intscore1=100;//王梁的Java成绩intscore2=72;//王梁的音乐成绩if((score190&&score280)||(score1==100&&score270)){System.out.println(老师说:不错,奖励一个iPhone5!);}串讲:使用复杂条件的if选择结构2-2示例第26页/共60页提问刚才问题的条件应该怎么写呢?运算符的优先级最高的优先级:()最低的优先级:=优先级顺序:!算术运算符比较运算符&&||if-else选择结构串讲:使用if-else选择结构2-1条件代码块1真假代码块2语法示例if(条件){//代码块1}else{//代码块2}if(王梁Java成绩98){//奖励一个iPhone5;}else{//惩罚当众唱歌}第27页/共60页score98?真假开始声明score并赋值奖iPhone5罚当众唱歌结束如果王梁Java考试成绩大于98分,老师就奖励他一个iPhone5,否则老师就罚他当众唱歌串讲:使用if-else选择结构2-2示例publicstaticvoidmain(String[]args){intscore=91;//王梁的Java成绩if(score98){System.out.println(老师说:不错,奖励一个iPhone5!);}else{System.out.println(老师说:惩罚当众唱歌!);}}第28页/共60页上机练习需求说明如果成绩大于等于60分,输出“成绩及格。”否则输出“成绩不及格。”练习第29页/共60页上机练习需求说明通过输入年份判断是否是闰年提示:闰年的判断规则:四年一闰;百年不闰A.能被4整除而不能被100整除.B.能被400整除.练习第30页/共60页讲解:多分支if语句语法语法if(条件1){//代码块1}elseif(条件2){//代码块2}else{//代码块3}可以有多个可以省略第31页/共60页提问如果要实现以下功能,该怎么做呢?对学员的结业考试成绩进行评测成绩=90输出:优秀成绩=80输出:良好成绩=60输出:中等成绩60输出:差条件1代码块1条件2代码块2代码块3真假假真intscore=70;//考试成绩if(score=90){System.out.println(优秀);}elseif(score=80){System.out.println(良好);}elseif(score=60){System.out.println(中等);}else{System.out.println(差);}大于等于90分大于等于60分,小于80分小于60分大于等于80分,小于90分讲解:多分支if语句示例2-1第32页/共60页关键代码intmoney=52;//我的存款,单位:万元if(money=500){System.out.println(太好了,我可以买凯迪拉克);}elseif(money=100){System.out.println(不错,我可以买辆帕萨特);}elseif(money=50){System.out.println(我可以买辆依兰特);}elseif(money=10){System.out.println(至少我可以买个奥托);}else{System.out.println(看来,我只能买个捷安特了);}讲解:多分支if语句示例2-2各个条件的顺序可以任意排列吗?第33页/共60页提问我想买车,买什么车决定于我在银行有多少存款:如果我的存款超过500万,我就买凯迪拉克否则,如果我的存款超过100万,我就买帕萨特否则,如果我的存款超过50万,我就买依兰特否则,如果我的存款超过10万,我就买奥托否则,我买捷安特。以上需求,如何用程序实现呢?使用多分支if语句处理问题时需要注意顺序上机练习练习需求说明如果成绩大于等于90分且小于等于100分,输出“A级”;如果大于等于80分,输出“B级”;如果大于等于70分,输出“C级”;如果大于等于60分,输出“D级”;低于60分输出“E级”第34页/共60页if(条件1){if(条件2){代码块1}else{代码块2

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

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

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

×
保存成功