运算符,表达式
运算符与表达式
- 算数运算符与算数表达式
----------运算符 -------------优先级-----------结合方向------
-----------加减----------------4----------------自左向右--------
-----------乘除------------------3--------------自左向右---------
2.算数混合运算
精度从高到低
byte short char int long float double
- 如果表达式中有double型数据,则按双精度计算。
- 如果表达式中最高精度是float型数据,则按单精度计算。
- 如果表达式中最高精度是long型数据,则按long精度计算。
- 如果表达式中最高精度是long型数据,则按long精度计算。
- 如果表达式中最高精度低于int型数据,则按int精度计算。
- Java允许把不超过byte,short,char的取值范围的算数表达式的值赋给byte,short和char型变量。
3.关系运算符与关系表达式
例如:2>8&&9>2的结果为false。
逻辑运算符&&和||也称作短路逻辑运算符,这是因为,当2>8的值是false时,&&运算符在运算时不进行9>2的值,所以其结果为false。。。
4.位运算符
按位与 &
按位或 |
按位异或^
取反~
左移<<
右移>>
用法:
- 按位与运算符 &
按位与运算符是双目运算符,将参与运算的两操作数各自对应的二进制为进行于操作。只有对应的两个二进制位均为1 是,结果对应的二进制位才为 1,否则为0。 - 按位或运算符“|”是双目运算符,将参与运算的两操作数各自对应的二进制位进行或操作。只有对应的两个二进制都是0 是,结果对应的二进制位才是0,否则为1。
- 按位异或运算符“^”是双目运算符,将参与运算的两操作数各自对应的二进制为进行异或操作。只有对应的两个二进制位不相同是,结果对应的二进制唯才是1,否则为0。
- 按位非运算符~是单目运算符,将操作数中的二进制位0变成1,1变成0。
- 左移运算 左移运算符“<<”是双目运算符。把“<< ”左边的运算数的各二进位全部左移若干位,由“<<”右边的数指定移动的位数,高位丢弃,地位补0。
- 右移运算右移运算符“>>”是双目运算符。把“>> ”左边的运算数的各二进位全部右移若干位,“>>”右边的数指定移动的位数。
5.instanceof运算符
该运算符是二目运算符,左面的操作元是一个对象,右面是一个类。当左面的对象是右面的类或子类创建的对象时 ,该运算符运算的结果是true,否则是false。