`
nail2008
  • 浏览: 45634 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SCJP笔记_章四_运算符

    博客分类:
  • SCJP
 
阅读更多

第四章 运算符

 

 

4.1 Java运算符

考试目标7.6 编写代码,正确应用恰当的运算符,包括赋值运算符(限于=、+=、-=),算数运算符(限于+、-、*、/、%、++、--),关系运算符(限于<、<=、>、>=、==、!=),instanceof运算符,逻辑运算符(限于&、!、^、!、&&、||),以及产生预期的结果。编写代码,判断两个对象或两个基本类型的对象的相等性。

 

4.1.1 赋值运算符

“=”上一章介绍很多了,不说了。

复合赋值运算符(+=,-=,*=,/=)

要知道=右边的优先级永远高于+=或其他的复合赋值元素符。

 

4.1.2 关系运算符

 

相等性运算符

== 和 !=

 

基本值的相等性

当比较字符时,Java使用字符的Unicode值作为字值。

 

引用变量的相等性

==用来比较对象时,仅当两个变量都引用同一个对象时,==才返回true。

 

枚举的相等性

枚举不可扩展,但是如果两个变量引用了相同的枚举常量,则它们==。

 

4.1.3 instanceof 比较

instanceof 只用于引用变量,以检查对象是否为某种类型。

instanceof 运算符只能用于测试对象(或null)属于相同类层次结构中的类类型。

对于接口,如果对象的任何一个超类实现了instanceof运算符右边的接口,则该对象就会通过instanceof测试。 

 

instanceof 编译器错误

不能将instanceof运算符在跨两个不同的类层次间测试。

 

4.1.4 算术运算符

+ - * /

 

求余运算符%

 

字符串连接运算符+

如果任何一个操作数为String,则+为连字符

如果两个操作数都是数字,则+为加法

 

递增和递减运算符++ --

 

4.1.5 条件运算符

x=(布尔表达式)?为true时所赋的值:为false时所赋的值

 

4.1.6 逻辑运算符

 

短路逻辑运算符&& ||

逻辑运算符(非短路)& |

 

短路和非短路的区别是:那 x1 && y1 和 x2 & y2 来说。

如果 x1 为false,那么不会运行y1语句;但是x2不管结果是什么,y2都会运行。

 

逻辑运算符^和!

^异或,如果恰好只有(有且仅有)一个操作数为true,则返回true。 

 

常用操作符的优先级顺序:

 

优先级 操作符分类 操作符
一元操作符 ! ++ -- - 
 | 数学运算符 * / % + -
 | 比较操作符 > < >= <= != ==
 | 逻辑操作符 && || & | ^
 V 三元操作符 x?y:z
赋值操作符 = *= -= += /= %=

 

0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics