Java基础语法--运算符

运算符

  1. 算术运算符
Sign 作用 例子
+ 加号或者正号 3+5
- 减号或者负号 5-3
* 乘法运算 5*3
/ 除法运算 5/3
% 取余数 5%3
++i 先自增再运算 ++5
i++ 先运算再自增 5++
--i 先自减再运算 --5
i-- 先运算再自减 5--
+ 字符串拼接 "中国" +2020,--->"中国2020"
  1. 赋值运算符

常见赋值运算符:=

扩展运算符:+= ,-=,*=,/=,%=,此类赋值运算符不改变原有数据类型

例如:

short i = 5;
i = i +2   // 此处编译报错,左边为short型数据,右边short + int 为int,高到低的赋值要使用强制转换
    
// 使用扩展赋值运算符就没有这样的错误
    
short i = 5;
i +=2;

  1. 比较运算符
Sign 意义
< 小于
> 大与
== 等于
!= 不等于
=< 小于等于
>= 大与等于
instanceof 检查是否是类的对象 eg:"Hello" instanceof String

比较运算符的结果为逻辑值:false 或者true

  1. 逻辑运算符
a b a&b(逻辑与) a&&b(短路与) a|b(逻辑或) a||b(短路或) !a(逻辑非) a^b(逻辑异或)
true false F F T T F T
true true T T T T F F
false ture F F T T T T
false false F F F F T F

逻辑与、短路与;逻辑或,短路或结果一样,但是短路运算符,只要前一个条件足够判定结果时,后面的立即被短路,不被执行

逻辑非:即取反

逻辑异或:相异为真

  1. 位运算符
运算符 运算 规则 荔枝
<< 左移 左移一定程度上相当于乘以2的几次方,空位用0补 3 << 2 = 12 -- > 3*2*2=12
>> 右移 右移一定程度上相当于除以2的几次方,最高位为0空位用0补,最高位为1空位用1补 3 >> 1 = 1 -- > 3/2=1
>>> 无符号右移 空位用0补 3 >>> 1 = 1 --> 3/2=1
& 与运算 二进制下,同1取1 6 & 3 = 2
| 或运算 二进制下,有1取1 6 | 3 = 7
^ 异或运算 二进制下,为异取1 6 ^ 3 = 5
~ 取反运算 二进制下,补码按各位取反 ~6 = -7
  1. 三元运算符

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

如果条件表达式成立则取表达式1,否则取表达式2

表达式1和表达式2的数据类型应是同类型或者可以统一的,否则报错

比如:表达式1为byte 表达式2 为short 可以统一成int 编译没问题,如果表达式1为String,表达式2位int 则无法统一,程序报错

posted @ 2020-05-19 13:56  sinohydro  阅读(125)  评论(0)    收藏  举报