内容
- 算数运算符
- 赋值运算符
- 比较运算符
- 逻辑运算符
- 位运算符
- 位移运算符
- 三元运算符
java中的运算符,有以下几种:
算术运算符:+ 、 - 、 * 、 / 、 % 、 ++ 、 --
赋值运算符:= 、 += 、 -= 、 *= 、 /= 、 %=
关系运算符:> 、 < 、 >= 、 <= 、 == 、 !=
逻辑运算符:! 、 & 、 | 、 ^ 、 && 、 ||
位运算符:& 、 | 、 ^ 、 ~ 、 >> 、 << 、 >>>(了解)
字符串连接运算符:+
三目运算符 ?:
一、算数运算符
- 加法运算符+,在连接字符串时要注意,只有直接与字符串相加才会转成字符串。
- 除法“/”当两边为整数时,取整数部分,舍余数。当其中一边为浮点型时,按正常规则相除。
- “%”取模(取余数),小数取余没有意义。
- ++运算符:会在原有值得基础上自增1
- --运算符:会在原有值得基础上自减1
使用算术运算符需要注意
1.+有多种使用方法,
对于一个操作数,可以作为正号,表示正数。
对于两个操作数,可以用于求和运算。
对于两个字符串,可以进行字符串的拼接。注意:+只要遇到字符串就起连接作用
2.-有两种使用方法,
对于一个操作数,可以作为负号,表示负数。
对于两个操作数,可以用于做减法运算。
3.对于java语言来讲,除法分为两种情况,一种是取商,一种是取余,也叫取模。
取商:/
取余:%
4.自增和自减,++,--,是对于整数来讲的。不要对其他类型进行操作。
二、赋值运算符
运算符 | 运算规则 | 范例 | 结果 |
---|---|---|---|
= | 赋值 | int n=2 | 2 |
+= | 加后赋值 | int a = 2, a += 2 | 4 |
-= | 减后赋值 | int a = 2, a -= 2 | 0 |
*= | 乘后赋值 | int a = 2, a *= 2 | 4 |
/= | 整除后赋值 | int a = 2, a /= 2 | 1 |
%= | 取模后赋值 | int a = 2, a %= 2 | 0 |
三、比较运算符
比较运算符,又叫关系运算符,它是用来判断两个操作数的大小关系及是否相等关系的,结果是布尔值true或者false
运算符 | 运算规则 | 范例 | 结果 |
---|---|---|---|
== | 相等于 | 4 == 3 | false |
!= | 不等于 | 4 !=3 | true |
< | 小于 | 4 < 3 | false |
> | 大于 | 4 > 3 | true |
<= | 小于等于 | 4 <=3 | false |
>= | 大于等于 | 4 >= 3 | true |
四、逻辑运算符
逻辑运算符,它是用于布尔值进行运算的,运算的最终结果为布尔值true或false
运算符 | 运算规则 | 范例 | 结果 |
---|---|---|---|
& | 与,理解为并且 | false & true | false |
| | 或,理解为或者 | false|true | true |
^ | 异或 | true^false | true |
! | 非 | !true | false |
&& | 短路与 | false && true | false |
|| | 短路或 | false||true | false |
- &&:短路与,遇到一个false就返回结果为false,后面不再计算
- ||:短路或,遇到一个true就返回结果为true,后面不再计算
- !:取非,取反
- ^:异或操作,操作数值不同,结果为真,相同反而为假。
五、位运算符
位运算符对两个操作数中的每一个二进制位都进行运算
位运算符功能:
- 按位取反:~
- 按位与:&
- 按位或:|
- 按位异或:^
运算符 | 运算规则 | 范例 | 结果 |
---|---|---|---|
~ | 原来为1转为0,原来为0转为1 | ~01001111 | 10110000 |
& | 对应位上都是1结果位1,有一个为0就位0 | 11001011&01101101 | 01001001 |
| | 对应位上都是0结果位0,有一个为1就位1 | 11001011|01101101 | 11101111 |
^ | 对应位上数值相同为0,不同为1 | 11001011^01101101 | 01101101 |
六、位移运算符
位移运算符,是指将数值转为二进制后,按位左移或者右移。
有以下三种:
- 左移:"a<<b; "
将二进制形式的a逐位左移b位,最低位空出的b位补0 - 带符号右移:"a>>b; "
将二进制形式的a逐位右移b位,最高位空出的b位补原来的符号位 - 无符号右移:"a>>>b;"
将二进制形式的a逐位右移b位,最高位空出的b位补0
以2227为例:
2227 = | 00000000 00000000 00001000 10110011 |
---|---|
2227 <<3 = | 00000000 00000000 01000101 10011000 |
2227 >>3 = | 00000000 00000000 00000001 00010110 |
2227 >>>3 = | 00000000 00000000 00000001 00010110 |
-2227 = | 11111111 11111111 11110111 01001101 |
-2227 <<3 = | 11111111 11111111 10111010 01101000 |
-2227 >>3 = | 11111111 11111111 11111110 11101001 |
-2227>>>3 = | 00011111 11111111 11111110 11101001 |
七、三元运算符
所谓三元运算符,是指该运算符同时操作三个操作数,所以叫做三元。那么对应的,类似于a+b,c/d等这种运算符,同时操作两个操作数的就叫做二元运算符。类似于i++,!a,等这种对应一个操作数的运算符,就叫做一元运算符。
三元运算符的语法结构是:
X ? Y : Z
1.X必须是boolean类型表达式。
2.Y和Z必须数据类型保持一致。
执行顺序
先执行X
true 执行 Y
false 执行 Z
先计算x的值,若为true,整个三目运算的结果为表达式y的值,否则整个运算结果为表达式z的值。
网友评论