第三章 运算符fwps.docx
- 文档编号:5386763
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:10
- 大小:103.82KB
第三章 运算符fwps.docx
《第三章 运算符fwps.docx》由会员分享,可在线阅读,更多相关《第三章 运算符fwps.docx(10页珍藏版)》请在冰豆网上搜索。
第三章运算符fwps
运算符
赋值运算符;
把数据变量表达式的结果赋值给其他变量(拷贝)例子
某班的A学员Java成绩是80分,B学员与A学员成绩相同,输出B学员成绩
注意是右边的赋值给左边是copy
另外=还可以和算术运算符合用+=-+*=/=%=a-=b---------------a=a-b;
连等执行顺序从右向左
练习:
1变量的互换
intnum1=19;
intnum2=89;
inttemp;
temp=num1;
num1=num2;
num2=temp;
System.out.println(num1);
System.out.println(num2);
-----------------------------------
算数运算符;
+加运算符
-减运算符
*乘运算符
/除运算符
%取模运算(除运算的余数)
++增量运算符
--减量运算符
注意:
如果对两个整形做除法结果一定是整形整数除以0时,将会报运行时错误;如果整数中被除数小于除数,结果将永远为0,所以实际开发时候使用浮点数较好。
求余
绝对值相除;
*左边操作数决定结果的正负
*如果左边小于右边则等于左边
2%5
自增自减运算不自动进行类型提升。
所以:
byteb=12;
bytec=b++;
是对的。
*前缀是先执行自增或自减运算,再运行表达式。
*后缀是先运行表达式,再执行自增或自减运算。
演示根据天数(46)计算周数和剩余的天数
练习分解个十百千位
先取模得到最后的各位然后再除再取模
intnum=8461;
intgewei=num%10;//分解获得个位数
intshiwei=num/10%10;//分解获得十位数
intbaiwei=num/100%10;//分解获得百位数
intqianwei=num/1000;//分解获得千位数
System.out.println("数字:
"+num);
System.out.println("千位数是:
"+qianwei);
System.out.println("百位数是:
"+baiwei);
System.out.println("十位数是:
"+shiwei);
System.out.println("个位数是:
"+gewei);
作业计算两个日期之间的月数见例子MonthCounter.java
同理先分解出月数然后除得到年
intintYearMon1=20095;
intintYearMon2=20081;
intintYear1=intYearMon1/10;
intintYear2=intYearMon2/10;
intintMonth1=intYearMon1%10;
intintMonth2=intYearMon2%10;
intxMonth=(intYear1-intYear2)*12+(intMonth1-intMonth2);
System.out.println(xMonth);
字符串连接符:
将数字与字符串组合连接到一起时,“+”会将数值作为字符串处理,执行字符串连接功能另外注意字符串换行必须使用+;
见例子testadd.java
System.out.println(22+22);
System.out.println("22"+"22");
System.out.println(22+"22");
System.out.println(6+7+'A');
System.out.println(6+7+"A");
System.out.println(6+"A"+7);
------------------------------------------------
关系运算符
==等于
!
=不等于
>大于
<小于
>=大于等于
<=小于等于
instanceof
用来做比较运算
比较后结果:
boolean类型
条件结构
程序不可能是从上到下顺序执行的经常会有选择判断比如登陆
我们经常会根据某个条件是否成立来选择不同的处理方式这时候可以使用if条件判断语句
if
令狐冲的Java考试成绩大于90分,师父就奖励他《独孤九剑》剑谱
注意键盘输入的使用;
关键语句
importjava.util.Scanner;
Scannerinput=newScanner(System.in);
input.nextInt();
input.nextLine();
结合if讲解逻辑运算符与或非
1令狐冲Java成绩大于90分,而且音乐成绩大于80分,师父奖励他
分析:
这时候要判断多个条件了java中使用逻辑运算符连接条件
运算符表达式说明
&&条件1&&条件2仅仅两个条件同时为真,结果为真
||条件1||条件2只要两个条件有一个为真,结果为真
!
!
条件条件为真时,结果为假条件为假时,结果为真
^逻辑异或A^B两边相同则为假
2Java成绩等于100分,或者音乐成绩大于70分,师父也可以奖励他
3java成绩不小于90师傅就可以奖励他
这个问题是当某个条件不成立的时候执行这里牵涉到了优先级的问题后面讲
3单与单或短路
短路与(&&)当左边的结果不为真右边不再运算
短路或当左边的结果为真右边不再运算;
if((2<1)&&((1/0)>2)){
System.out.println("yes");
}
三目运算符
三目运算符(?
:
)相当于条件判断,表达式x?
y:
z用于判断x是否为真,如果为真,表达式的值为y,否则表达式的值为z。
例如:
intx=5;
inta=(x>3)?
5:
3;
则a的值为5。
如果x=2,则a的值为3。
运算符的优先级问题
令狐冲Java成绩大于90分,而且音乐成绩大于80分,师父奖励他;或者Java成绩等于100分,音乐成绩大于70分,师父也可以奖励他
分析:
条件
令狐冲Java成绩大于90分,and音乐成绩大于80分,
Or
Java成绩等于100分and音乐成绩大于70分
score1>90&&score2>80||score1==100&&score2>70
这样对吗?
实际运算符是有优先级的比如+*如果是&&高于>那显然会出问题
顺序运算符
1.括号,如()和[]
2.一元运算符,如-(负)+(正)、++、--和!
3.算术运算符,如
a*、/、%、
B+-
4.关系运算符,如
A>、>=、<、<=、instanceof
B==和!
=
5.逻辑运算符,如&、^、|、&&、||(这里面按优先级排列)
6.条件运算符和赋值运算符,如?
:
、=、*=、/=、+=和-=
实际按优先级来看上面写的是没错的但每次你都要这样分析一遍也太累了
其实在实际的开发中,不需要去记忆运算符的优先级别,也不要刻意的使用运算符的优先级别,对于不清楚优先级的地方使用小括号去进行替代可惜面试。
。
。
ifelse
如果令狐冲考试成绩大于90分,师父就奖励他《独孤九剑》,否则师父就罚他上思过崖闭关思过
这个可以用两个if来解决但更好的是ifelse;
小结
提问
说出已学过的数据类型有哪些?
举例说明已学过的运算符有哪些?
if和if-else条件结构执行的顺序是什么?
课堂练习;
1小布什买了一筐鸡蛋,如果坏蛋少于5个,他就吃掉,否则他就去退货
2、要求用户输入两个数a、b,如果a能被b整除或a加b大于1000,则输出a,否则输出b
多重条件结构
对学员的结业考试成绩评测
成绩>=90:
优秀
成绩>=80:
良好
成绩>=60:
中等
成绩<60:
差
这个问题怎么解决?
多条if可以吗
多重结构来解决
if(){}
elseif(){}
。
。
。
else{}
看流程图
Else可以没有但必须在最后elseif0---多个
他和多条if的区别
If是无论如何每条语句都要做判断的而elseif则一个条件成立其他不运行遇到这种条件使用多重效率高
注意elseif的顺序不要出现逻辑错误要考虑好条件的顺序;
成绩>=80:
良好
成绩>=60:
中等
成绩>=90:
优秀
补充:
当只有一条语句的时候括号可以不写
变量的作用域;
任何一个大括号中都可以声明变量但变量不能再作用域外使用;
局部变量和外面的变量可以重名
switch
令狐冲参加比武大会
如果获得第一名,将出任武林盟主
如果获得第二名,将出任武当掌门
如果获得第三名,将出任峨嵋掌门
否则,将被逐出师门
switch(值){
case值:
{
break;
}
case值:
{
break;
}
Default:
{
}
}
intmingCi=1;
switch(mingCi){
case1:
System.out.println("出任武林盟主");
break;
case2:
System.out.println("出任武当掌门");
break;
case3:
System.out.println("出任峨嵋掌门");
break;
default:
System.out.println("被逐出师门");
}
注意:
1只能是int
2不要忘记break
3case不能重复
4default可以没有哦位置也不固定
实际上switch和elseif差不多但switch只能处理等值elseif都可以但当三重以上就是用switch结构更清晰
练习
1输入赵本山的考试成绩,显示所获奖励
成绩>=90分,妈妈给他买MP4
成绩==100分,爸爸给他买辆车
90分>成绩>=60分,妈妈给他买本参考书
成绩<60分,什么都不买
注意逻辑
2
张三为他的手机设定了自动拨号
按1:
拨爸爸的号
按2:
拨妈妈的号
按3:
拨爷爷的号
按4:
拨奶奶的号
3输入年月输出年月天数
135781012为大月
46911为平月
2月闰年为29平年为28闰年:
能被400整除,或者能被4整除而不能被100整除。
Scannerinput=newScanner(System.in);
Intyear=input.nextInt();
Intmonth=input.nextint();
switch(month)
{.case9:
.
case4:
.
case6:
.
case11:
.
System.out.println("day=30");//month值为9、4、6、11时,将输出day=30.
break;.
case2:
.{.if(ans=='Y').{.System.out.println("是闰年!
!
29天");//如果ans是'Y',输出"是闰年!
!
29天"..}.
else.{.System.out.println("非闰年,28天!
!
");//如果ans不是'Y',将输出"非闰年,28天!
!
"..}.}.break;.
default:
.
System.out.println("day=31");//其他情况下输出"day=31".break;..}.}.}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三章 运算符fwps 第三 运算 fwps