Java运算符,是一种特殊的符号。用表示数据的运算,赋值和比较。java
符号:加(+),减(-),乘(*),除(/),取余(%) 自增:++ 自减:-- 做用在于:整数和浮点型。 最终的结果:十进制。只要是byte,short,int,long,char,float,double相加结构都是十进制。 全部的运算的结果的最小范围必定是:---int
a. 自增:++性能
不一样行:code
int a =1; a++; ++a; System.out.println(a); //3 a++ 与 ++a 在不一样行效果是等价的。
相同行:在运算中,或者逻辑判断中,或者方法的传参中就存在差别了对象
int a =5; int b = a++ + 6; System.out.println(b); // 11 System.out.println(a); // 6 int a1 =5; int b1 = ++a1 + 6; System.out.println(b1); // 12 System.out.println(a1); // 6 分析[int b = a++ + 6;]运算步骤: 先运算再递加。 step1: a + 6 = 11 step2: a++ = 6 所以结果是 b=11,a=6 分析[int b = ++a + 6;]运算步骤: 先递加再运算。 step1: ++a1 = 6 step2: a1+ 6 = 12 所以结果是 b1=12,a1=6
b. 自减:--
跟自增++同理内存
赋值运算符的扩展:hash
+=,-=,*=,/=,%=
< > == >= <= != 用于条件判断中
a. == 逻辑判断,是内存地址的比较-(二进制),还需考虑前面的数据类型。
b. = 赋值class
"==" 数字是值的比较,对象(封装数据类型)是内存地址的比较。
若是是基础数据类型值比较==,值相等那么都是true,若是是封装数据类型都是false---hashCode()基础
格式:(逻辑判断(boolean))?true:fakse;扩展
>> 右移运算符 >>> 无符号右移 << 左移,二进制总体往左边移动两位,空白位用0填充。 & 按位与,若是两个同时为1返回就是1,其余的都是0。 | 按位或,若是有一位是1那么就是1,其余的都是0。 ^ 按位异或,两个相同的时候0,不一样时返回1。 ~ 按位非,单数字取反 做用:快速计算一个数字想要获得结果,最终都是以二进制的方式进行计算。 思路: 把十进制转成二进制,再进行移位操做。 true & false ---逻辑符合 5 & 9 ---位运算