java 操作符

java操作符优先级操作符说明

  1. 赋值操作符(=):右值可以是任意常数、变量或者表达式(只要他能生成一个值就可以),左值必须是一个明确的、已经命名的变量。不能把任何东西赋值给一个常数。

基本类型赋值和引用类型赋值区别:

  基本类型赋值:基础类型赋值存储了实际的数值,对于基本类型赋值a=b b的内容就赋值给了a,若修改b的值,a的值不受影响

  引用类型赋值:赋值是对对象引用地址的赋值。

  2. 移位操作符(<< >> >>>)

  <<左移操作符:Integer.MAX_VALUe()只占用31位,最高位代表符号为,在执行左移操作时,最高位代表符号位,负数左移操作有可能成为正数,正数有可能移位成负数

  >>有符号右移操作符:有符号右移操作符使用符号扩展,若符号为+,则在最高位插入0;若符号位-,在最高位插入1

  >>>无符号右移操作符:0扩展符,无论正负,都在最高位插入0

  注:char byte short进行移位操作前,它们会先转换成int类型。对基本数据类型执行算术运算或者按位运算,只要类型比int小(即char byte short),那么在运算之前,这些值会自动转换成int类型,这样最终生成的结果位int类型,   float 与 double想乘结果位double,int 和 long相加结果为long,这就是java类型转换提升

  

posted @ 2017-05-05 10:01  ddngyang  阅读(127)  评论(0)    收藏  举报