运算符
Java运算符,是一种特殊的符号。用表示数据的运算,赋值和比较。
- 算数运算符
- 赋值运算符
- 比较运算符
- 位运算符
- 逻辑运算符
- 三目运算符
1. 算数运算符
符号:加(+),减(-),乘(*),除(/),取余(%)
自增:++
自减:--
作用在于:整数和浮点型。
最终的结果:十进制。只要是byte,short,int,long,char,float,double相加结构都是十进制。
所有的运算的结果的最小范围一定是:---int
a. 自增:++
-
不同行:
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. 自减:--
跟自增++同理
2. 赋值运算符
- 等号 =,只要赋值了就修改内存控制的二进制
- 基础数据类型的默认值:
byte short int long 都是0
float double == 0.0
boolean == false
char==u0000 空格 -
赋值运算符的扩展:
+=,-=,*=,/=,%=
3. 比较运算符
< > == >= <= != 用于条件判断中
a. == 逻辑判断,是内存地址的比较-(二进制),还需考虑前面的数据类型。
b. = 赋值
"==" 数字是值的比较,对象(封装数据类型)是内存地址的比较。
如果是基础数据类型值比较==,值相等那么都是true,如果是封装数据类型都是false---hashCode()
4. 逻辑运算符
- 短路:或 || 且 && 非 !
- 不短路:或 | 且 & 非 ^ (从性能上讲,不推荐使用。)
5. 三目运算符
格式:(逻辑判断(boolean))?true:fakse;
6. 位运算符(7个) ---计算
>> 右移运算符
>>> 无符号右移
<< 左移,二进制整体往左边移动两位,空白位用0填充。
& 按位与,如果两个同时为1返回就是1,其他的都是0。
| 按位或,如果有一位是1那么就是1,其他的都是0。
^ 按位异或,两个相同的时候0,不同时返回1。
~ 按位非,单数字取反
作用:快速计算一个数字想要得到结果,最终都是以二进制的方式进行计算。
思路: 把十进制转成二进制,再进行移位操作。
true & false ---逻辑符合
5 & 9 ---位运算
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。