JAVA 运算符

原创
2017/03/12 12:21
阅读数 5

运算符号:

1)、算术运算符。

运算符 运算 范例 结果
+ 正号 +3 3
- 负号 b=4; -b -4
+ 加号 5+5 10
- 减号 5-4 1
* 乘号 3*4 12
/ 除号 5/5 1
++ 自增(前) a=2;b=++a; a=3;b=3;
++ 自增(后) a=2;b=a++; a=3;b=2;
-- 自减(前) a=2;b=--a; a=1;b=1;
-- 自减(后) a=2;b=a--; a=1;b=2;
+ 字符串相加 “he”+“llo” “hello”
% 取模 5%5 0

%:任何整数模2不是0就是1,所以只要改变被模数就可以实现开关运算。

字符串数据和任何数据使用“+”都是相连接,最终部分都变成字符串

2)、赋值运算符。

= 、 +=、 -=、 *=、 /=、 %=。

x+=4    把左右两边的和赋值给左边,相当于x=x+4。

x=3    把右边赋值给左边

 

3)、比较运算符。

运算符 运算 范例 结果
== 相等于 4==3 false
!= 不等于 4!=3 true
< 小于 4<3 false
> 大于 4>3 true
<= 小于等于 4<=3 false
>= 大于等于 4>=3 true
instanceof 检查是否是类的对象 “hello” instanceof String true

(1)比较运算符的结果都是boolean型,也就是结果要么是true要么是false

(2)比较运算符“==”不能误写成“=”

4)、逻辑运算符。

运算符 运算 范例 结果
& and(与) false&true false
| or(或) false|true true
^ Xor(异或) true^false ture
! not(非) !true false
&& and(短路与) false&&true false
|| or(短路或) false||true false

逻辑运算符除了 !  外都是用于连接两个boolean类型表达式。

&: 只有两边都为true结果是true。否则就是false。

|:只要两边都为false结果是false,否则就是true

^:异或:和或有点不一样。 两边结果一样,就为false。两边结果不一样,就为true.

& 和 &&区别: 

& :无论左边结果是什么,右边都参与运算。

&&:短路与,如果左边为false,那么右边不参数与运算。

| 和|| 区别:

|:两边都运算。

||:短路或,如果左边为true,那么右边不参与运算。

5)、位运算符:用于操作二进制位的运算符。

运算符 运算 范例 结果
<< 左移 3<<2 12→3*2*2=12
>> 右移 3>>1 1→3/2=1
>>> 无符号右移 3>>>1 1→3/2=1
& 与运算 6&3 2
| 或运算 6|3 7
^ 异或运算 6^3 5
~ 反码 ~6 -7

<<相当于乘以2的倍数    >>相当于除以2的倍数(带负号右移)

移n位就是乘以或除以2的你次幂,>>最高位补什么由原有数据的最高位而定,如果最高位是0右移后用0补空位,如果最高位是1,右移后用1补空位。

>>>无论最高为是什么,右移后都用0补。

练习:对两个变量的数据进行互换。不需要第三方变量。

int a  = 3,b = 5;-->b = 3,a = 5;

a = a + b; a = 8;

b = a - b; b = 3;

a = a - b; a = 5;

a = a ^ b;//

b = a ^ b;//b = a ^ b ^ b = a

a = a ^ b;//a = a ^ b ^ a = b;

练习:高效的算出 2*8 = 2<<3;

6)、三元运算符

(条件表达式)?表达式1:表达式2

如果条件为true,运算后的结果是表达式1,如果条件为false,运算后的结果是表达式2

int x 3,y=4;

z=(x>y)>x:y;

结果为:z=4

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部