三章运算符fwps_第1页
三章运算符fwps_第2页
三章运算符fwps_第3页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、运算符赋值运算符;运算符含义示例等价表达式+=加并赋值运算符a += ba = a + b=减并赋值运算符a= ba = ab*=乘并赋值运算符a *= ba = a * b/=除并赋值运算符a /= ba = a / b%=取模并赋值运算符a %= ba = a % b&=与并赋值运算符a &= ba = a & b|=或并赋值运算符a |= ba = a | bA =或并赋值运算符a a= ba = a a b<< =左移并赋值运算符a <<= ba = a << b>> =右移并赋值运算符a >>= ba

2、 = a >> b>>> =右移并赋值运算符a >>>= ba = a >>> b把数据变量表达式的结果赋值给其他变量(拷贝)例子某班的A学员Java成绩是80分,B学员与A学员成绩相同,输出 B学员成绩 注意是右边的赋值给左边是copy另外 = 还可以和算术运算符合用+= -+*= /= %=a-=b a=a-b;连等执行顺序从右向左 练习:1变量的互换int numl = 19;int num2 = 89; int temp; temp = nu ml;numl = num2;num2 = temp;System.out.p

3、ri ntln(nu ml);System.out.pri ntln(nu m2);算数运算符;+加运算符减运算符*乘运算符/%除运算符取模运算(除运算的余数)+增量运算符减量运算符如果对两个整形做除法 结果一定是整形整数 除以0时,将会报运行时错误;如果整数中被 除数小于除数,结果将永远为0,所以实际开发时候使用浮点数较好。求余绝对值相除;*左边操作数决定结果的正负*如果左边小于右边则等于左边2%5自增自减运算不自动进行类型提升。所以:byte b = 12 ;byte c = b+ ;是对的。*前缀是先执行自增或自减运算,再运行表达式。*后缀是先运行表达式,再执行自增或自减运算。演示根据天

4、数(46)计算周数和剩余的天数练习分解个十百千位先取模得到最后的各位然后再除再取模int num = 8461;int gewei = num % 10; /分解获得个位数int shiwei = num / 10 % 10; / 分解获得十位数 int baiwei = num / 100 % 10; / 分解获得百位数 int qia nwei = num / 1000; / 分解获得千位数 (” 数字:"+ num);System.out.println("千位数是:"+ qianwei); System.out.println("百位数是:&qu

5、ot;+ baiwei); System.out.println("十位数是:"+ (” 个位数是:"+ gewei);作业 计算两个日期之间的月数见例子MonthCounter.java同理先分解出月数然后除得到年in t in tYearMo n1 = 20095;int in tYearMo n2 = 20081;int in tYear1 = in tYearMo n1/10;int in tYear2 = in tYearMo n2/10;int intMonth1 = intYearMon 1%10;int in tM on th2 = in tYea

6、rM on 2%10;int xMo nth = (in tYear1-i ntYear2)*12 + (in tM on th1-i ntMo nth2); System.out.pri ntln(xMon th);字符串连接符:将数字与字符串组合连接到一起时,“ +会将数值作为字符串处理,执行字符串连接功能另外注意字符串换行必须使用+ ;见例子 testadd.javaSystem.out.pri ntln(22+22);System.out.pri ntl n("22"+"22");System.out.pri ntl n( 22+"22

7、");System.out.pri ntl n(6+7+'A');System.out.pri ntl n( 6+7+"A");System.out.pri ntl n( 6+"A"+7);关系运算符=等于!=不等于>大于<小于>=大于等于<=小于等于in sta nceof用来做比较运算比较后结果:boolean类型条件结构程序不可能是从上到下顺序执行的经常会有选择判断比如登陆if条件判断语句我们经常会根据某个条件是否成立来选择不同的处理方式这时候可以使用if令狐冲的Java考试成绩大于90分,师父就奖

8、励他独孤九剑剑谱注意键盘输入的使用;关键语句import java.util.Sca nner;Scanner in put = new Sca nn er(System.i n); in put .n extI nt();in put. nextL in e();结合if讲解逻辑运算符与或非1令狐冲Java成绩大于90分,而且音乐成绩大于 80分,师父奖励他分析:这时候要判断多个条件了java中使用逻辑运算符连接条件运算符表达式说明&&条件1 &&条件2仅仅两个条件同时为真,结果为真II条件1 |条件2只要两个条件有一个为真,结果为真!条件条件为真时,结果为假

9、条件为假时,结果为真A逻辑异或A a B两边相同则为假运算符含义示例规 贝S!取反! aa为真时,结果为假;为假时,结果为真&非简洁与a & ba、b都为真时,结果为真a、b有一个为假时,结果为假I非简洁或a I ba、b有一个为真时,结果为真a b都为假时,结果为假A异或a a ba、b不同真假时结果为真a、b同真或同假时,结果为假&&简洁与a && ba、b都为真时,结果为真a、b有一个为假时,结果为假II简洁或a II b5 / 11a、b有一个为真时,结果为真a b都为假时,结果为假2 Java成绩等于100分,或者音乐成绩大于70分,师

10、父也可以奖励他3 java成绩不小于90师傅就可以奖励他这个问题是当某个条件不成立的时候执行这里牵涉到了优先级的问题后面讲3单与单或短路短路与(&&)当左边的结果不为真右边不再运算 短路或当左边的结果为真右边不再运算;if(2<1) &&(1/0)>2)System.out.pri ntln ("yes");三目运算符三目运算符(?:)相当于条件判断,表达式x?y:z用于判断x是否为真,如果为真,表达式的值为y,否则表达式的值为z。例如:int x = 5;int a = (x>3)?5:3;则a的值为5。如果x = 2,则

11、a的值为3。运算符的优先级问题令狐冲Java成绩大于90分,而且音乐成绩大于80分,师父奖励他;或者Java成绩等于100分,音乐成绩大于 70分,师父也可以奖励他分析:条件令狐冲Java成绩大于90分,and音乐成绩大于80分,OrJava成绩等于100分and音乐成绩大于 70分 scorel > 90 && score2 >80| scorel = 100 && score2 > 70这样对吗? 实际运算符是有优先级的比如+ * 如果是&&高于那显然会出问题顺序 运算符1. 括号,如()和2. 兀运算符,如 -(负)+ (

12、正)、+、-和3. 算术运算符,如a *、/、 %、4. 关系运算符,如A 、=、=、instanceofB =和!=5. 逻辑运算符,如&、A、卜&&、| (这里面按优先级排列)6. 条件运算符和赋值运算符,如? : =、*=、/=、+=和-=实际按优先级来看 上面写的是没错的 但每次你都要这样分析一遍也太累了其实在实际的开发中, 不需要去记忆运算符的优先级别,也不要刻意的使用运算符的优先级别,对于不清楚优先级的地方使用小括号去进行替代可惜面试。if else如果令狐冲考试成绩大于90分,师父就奖励他独孤九剑,否则师父就罚他上思过崖闭关思过这个可以用两个if来解决但更

13、好的是if else;小结提问说出已学过的数据类型有哪些?举例说明已学过的运算符有哪些?if和if-else条件结构执行的顺序是什么?课堂练习;1小布什买了一筐鸡蛋,如果坏蛋少于5个,他就吃掉,否则他就去退货2、要求用户输入两个数 a、b,如果a能被b整除或a加b大于1000,则输出a,否则输出b多重条件结构对学员的结业考试成绩评测成绩=90优秀成绩=80良好成绩=60中等成绩60:差这个问题怎么解决?多条 if可以吗多重结构来解决if ()else if()o o oelse看流程图Else可以没有但必须在最后elseif 0-多个他和多条if的区别If是无论如何每条语句都要做判断的而els

14、e if则一个条件成立其他不运行 遇到这种条件使用多重效率高注意else if的顺序不要出现逻辑错误要考虑好条件的顺序成绩=80 :良好成绩=60 :中等成绩=90 :优秀补充当只有一条语句的时候括号可以不写变量的作用域;但变量不能再作用域外使用;任何一个大括号中都可以声明变量 局部变量 和外面的变量可以重名switch令狐冲参加比武大会如果获得第一名,将出任武林盟主 如果获得第二名,将出任武当掌门 如果获得第三名,将出任峨嵋掌门 否则,将被逐出师门switch (值)case 值: break;case 值: break;Default: int mi ngCi = 1; switch (m

15、in gCi)case 1:(” 出任武林盟主”); break;case 2:(” 出任武当掌门"); break;case 3:(” 出任峨嵋掌门"); break;default:System.out.println("被逐出师门");1只能是int2不要忘记break3 case不能重复4 default可以没有哦位置也不固定实际上switch和elseif差不多 但switch只能处理等值 else if 都可以是用switch结构更清晰练习1输入赵本山的考试成绩,显示所获奖励 成绩=90分,妈妈给他买 MP4 成绩=100分,爸爸给他买辆车9

16、0分成绩=60分,妈妈给他买本参考书 成绩60分,什么都不买注意逻辑2张三为他的手机设定了自动拨号按1 :拨爸爸的号按2:拨妈妈的号按3:拨爷爷的号按4:拨奶奶的号3输入年 月输出年月天数1 3 5 7 8 10 12为大月4 6 9 11为平月三重以上就100整除。U月闰年为29平年为28闰年:能被400整除,或者能被 4整除而不能被Scanner in put=new Sea nn er(System.i n);Int year = in put .n ext In t();Int month = in put .n ext in t();switch(m on th). case 9:.case 4:.case 6:.case 11:.System.out.println("day=30"); /month 值为 9、4、6、11 时,将输出 day=30.break;.case 2:. if(ans='Y'). . System.out.println("是闰年! 2

温馨提示

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

评论

0/150

提交评论