第三章 运算符fwpsWord下载.docx

上传人:b****6 文档编号:18368594 上传时间:2022-12-15 格式:DOCX 页数:10 大小:103.82KB
下载 相关 举报
第三章 运算符fwpsWord下载.docx_第1页
第1页 / 共10页
第三章 运算符fwpsWord下载.docx_第2页
第2页 / 共10页
第三章 运算符fwpsWord下载.docx_第3页
第3页 / 共10页
第三章 运算符fwpsWord下载.docx_第4页
第4页 / 共10页
第三章 运算符fwpsWord下载.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

第三章 运算符fwpsWord下载.docx

《第三章 运算符fwpsWord下载.docx》由会员分享,可在线阅读,更多相关《第三章 运算符fwpsWord下载.docx(10页珍藏版)》请在冰豆网上搜索。

第三章 运算符fwpsWord下载.docx

绝对值相除;

*左边操作数决定结果的正负

*如果左边小于右边则等于左边

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);

千位数是:

+qianwei);

百位数是:

+baiwei);

十位数是:

+shiwei);

个位数是:

+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);

22"

+"

);

System.out.println(22+"

System.out.println(6+7+'

A'

System.out.println(6+7+"

A"

System.out.println(6+"

+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&

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的顺序不要出现逻辑错误要考虑好条件的顺序;

补充:

当只有一条语句的时候括号可以不写

变量的作用域;

任何一个大括号中都可以声明变量但变量不能再作用域外使用;

局部变量和外面的变量可以重名

switch

令狐冲参加比武大会

如果获得第一名,将出任武林盟主

如果获得第二名,将出任武当掌门

如果获得第三名,将出任峨嵋掌门

否则,将被逐出师门

switch(值){

case值:

{

break;

}

case值:

Default:

intmingCi=1;

switch(mingCi){

case1:

System.out.println("

出任武林盟主"

case2:

出任武当掌门"

case3:

出任峨嵋掌门"

default:

被逐出师门"

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.

case2:

.{.if(ans=='

Y'

).{.System.out.println("

是闰年!

29天"

//如果ans是'

输出"

..}.

else.{.System.out.println("

非闰年,28天!

"

//如果ans不是'

将输出"

..}.}.break;

.

day=31"

//其他情况下输出"

.break;

..}.}.}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1