操作符接受一个或多个参数,并生成一个新值。

加号和一元的正号(+)、减号和一元的负号(-)、乘号(*)、除号(/)以及赋值号(=)、取模(%)。

String类支持“+”和“+=”,表示字符串连接。

自动递增和递减:分为“前缀式”和“后缀式”。前缀式,执行运算,再生成值(即先加减,后使用);后缀式,先生成值,再执行运算(即先使用,再加减)。

关系操作符:小于(<)、大于(>)、小于或等于(<=)、大于或等于(>=)、等于(==)、不等于(!=)。

等于和不等于适用于所有的基本数据类型,而其他比较符不适用于boolean类型。而等于和不等于也适用于所有对象。

逻辑操作符“与”(&&)、“或”(||)、“非”(!)能根据参数的逻辑关系,生成一个布尔值(true或false)。

“短路”现象:一旦能够明确无误地确定整个表达式的值,就不再计算表达式余下部分。

十六进制数适用于所有整数数据类型,以前缀0x(或0X),后面跟随0-9或小写(或大写)的a-f来表示。

八进制数由前缀0以及后续的0-7的数字来表示。

按位操作符用来操作整数基本数据类型中的单个“比特”(bit),即二进制位。按位操作符会对两个参数中对应的位执行布尔代数运算,并最终生成一个结果。

操作数  操作数  按位与(&)  按位或(|)  按位异或(^)
 1  0   0  1  1
 1  1   1  1  0
 0  0   0  0  0
 0  1   0  1  1

 

 

 

 

 

按位“非”(~),也称取反操作符,它属于一元操作符,只对一个操作符进行操作(其他按位操作符是二元操作符)。按位“非”生成与输入位相反的值:若输入0,则输出1;若输入1,则输出0。

按位操作符可与等号(=)联合使用,以便合并运算和赋值:&=、|=和^=都是合法的。~是一元操作符,不能与=联合使用。

对于布尔值,按位操作符具有逻辑操作符相同的效果,只是他们不会中途“短路”。

移位操作符操作的运算对象也是二进制的位。移位操作符只可用来处理整数类型。左移位操作符(<<)能按照操作符右侧指定的位数将操作符左边的操作数向左移动(在低位补0)。“有符号”右移位操作符(>>)则按照操作符右侧指定的位数将操作符左边的操作数向右移动。“有符号”右移位操作符使用“符号扩展”:若符号为正,则在高位插入0;若符号为负,则在高位插入1.Java中增加了一种“无符号”右移位操作符(>>>),它使用“零扩展”:无论正负,都在高位插入0.

三元操作符也称为条件操作符。boolean-exp?value0:value1;如果boolean-exp布尔表达式的结果为true,就计算value0,反之,就计算value1。

类型转换操作符。

类型转换运算可以显式地进行这种类型的转换,或者在不能自动进行转换的时候强制进行类型转换。

窄化转换(narrowing conversion)和扩展转换(widening conversion)。

 操作符优先级:单目乘除位关系,逻辑三目后赋值。

  • 单目: +(正数) , -(负数), ++, – 等

  • 乘除: *, /, %, +, -

  • 位: <<, >>, >>>

  • 关系: >, >=, <, <=, ==, !=

  • 逻辑: &&, ||, &, |, ^

  • 三目: A > B ? X : Y

  • 最后复制: =

 posted on 2018-04-27 17:15  会飞的金鱼  阅读(148)  评论(0)    收藏  举报