三、操作符

一、在最底层,Java中的数据是通过使用操作符来操作的。

 

二、equals()方法不适用于“基本类型”,基本类型直接使用 == 或者 != 即可。

 

三、当使用逻辑操作符时,可能会遇到短路现象,即一旦能够明确无误地确定整个表达式的值,就不再计算表达式余下部分了。

 

四、直接常量后面的后缀字符标志了它的类型

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

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

 

五、C/C++/Java中,用e来表示“10的幂次”

 

六、按位操作符:或 | 与 & 非 ~ 异或 ^

  非也叫取反,只能对一个操作数进行操作,所以不可以和 = 联合使用。

 

七、“有符号”右移位操作符使用“符号扩展”:若符号为正,则在高位插入0,若符号为负,则在高位插入1

  Java中新增加了一种“无符号”右移位操作符(>>>),它使用“零扩展”:无论正负,都在高位插入0

  如果对char、byte、或者short类型的数值进行移位处理,在移位之前,会被转换成int类型,并且得到的结果也是一个int类型的值。

  一个long类型的数值进行处理,最后得到的结果也是long类型的。

  如果对byte或short值进行这样的移位运算,得到的可能不是正确的结果。

 

八、三元操作符if-else 他是操作符中的一种,因为它最终也会生成一个值

  boolean-exp? value0 : value1

  如果boolean-exp的结果为true,就计算value0,并且表达式的结果就是该操作符的值,反之亦然。

 

九、+和+=在Java中有特殊的用途,就是连接字符串

  如果表达式以一个字符串起头,那么后续所有操作数都必须是字符串型

  可以使用一个空的string后面跟随+和一个基本类型的变量,来执行字符串的转换

 

十、在类型转换时,窄化转换有可能面临信息丢失的危险,在进行窄化转换的时候,必须注意截尾与舍入的问题,例如27.6转化成int的时候结果就为27

  通常,表达式中出现的最大的数据类型决定了表达式最终结果的数据类型。

 

十一、Java中没有sizeof

posted @ 2015-05-07 00:13  Iridescent_zzy  阅读(212)  评论(0编辑  收藏  举报