第三章:操作符

2017-11-27  本文已影响0人  MAXPUP

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

  1. 副作用:有些操作符会改变操作数自身的值。
  2. 别名现象:对象赋值操作的是引用,只是将引用从一个地方复制到另一个地方。这是java操作对象的基本方式。同样适用于将一个对象传递给方法。
  3. 算术操作符:+、-、*、/、%
  4. Random类,生成不同类型的随机数(nextInt()、nextFloat()。。。)java中Random详解以及和Math.random()
    短路现象:一旦能够明确无误地确定整个表达式的值,就不再计算表达式余下部分了。
  5. 直接常量:L(l)、F(f)、D(d)、0x(0X)、0
  6. 指数记数法:1.39E57,E代表10的幂次,编译器通常会将指数作为双精度数处理。
  7. 按位操作符:&、|、~、^,可与等号联合使用。
    一般将布尔类型作为一种单比特值对待,可执行与、或、异或,但不能执行非。
    移位操作符:<<、>>(有符号,正高位插0,负高位插1),<<<、>>>(无符号,高位统一插0),对char、byte或者short类型的数值进行移位处理,操作之前会被转为int类型,且只有数值右端的低5位才能使用,若对一个long类型的数值进行处理,最后得到的结果也是long,且只会用到数值的低6位。移位可与等号组合使用,对byte、short值会出现问题,比如先转换为int,再右移,然后被截断,转为原来的类型。
  8. 类型转换:窄化转换有丢失信息的危险,需要显式类型转换,扩展转换则不必。java允许除了布尔以外的任何基本数据类型转换。多位转为少位执行截尾。一般来说,表达式中出现的最大数据类型决定了表达式最终结果(提升)。

注意:溢出是不会报错和出现异常的。

上一篇下一篇

猜你喜欢

热点阅读