算术运算符
整数运算规则:
如果操作数中有一个为long类型 结果也为long
没有long时,即使操作数全为short,byte,结果也是int
浮点运算规则:
只要有一个是double 结果便是double
只有两个都是float,结果才是float
整体原则: 范围小的——>范围大的会自动转
范围大的——>范围小的需要注意
long>int>short>byte
double>float
取模运算:
操作数可以是浮点数,但一般是整数,结果是余数
余数的符号与左边操作数相同
-7%3=-1;
一元运算:
自增自减运算
a++先赋值,在自增
++a先自增,在赋值
赋值运算符:
a += b ————a=a + b
a *=b+3 ————a=a*(b+3)
逻辑运算符:
& 逻辑与 if(b1&b2) 都为true才是true
| 逻辑或 一个为true便为true
^ 异或运算 相同为false 不同为true
&& 短路与 第一个操作数为false 后面不再进行运算
|| 短路或 只要有一个为true 则返回true
位运算符:
~ 取反0->1 1->0
& 按位与
| 按位或
^ 按位异或
<< 左移运算符,相当于×2
>> 右移运算符,相当于÷2
条件与运算符:
x ? y : z
x为boolean类型表达式 先计算X,如果为true,则结果为y,否则结果为z
运算符优先级:
括号>算数运算符>关系运算>逻辑运算>赋值运算符
逻辑非>逻辑与>逻辑或( !> &&>|| )