JavaSE学习——运算符
算术运算符
加法(+) 减法(-) 乘法(*) 除法(/) 取模(%)
自增自减(以自增为例)
1. 自增运算符作用于自身
例如:
int i = 1;
i++;//变量i的值加1,变成2
i++;//变量i的值加1,变成3
2. 自增运算符表达式结果赋值给其他变量
例如:
int i = 1;
int j = i++;//变量i的值赋给j,j等于1,i自增1,i等于2
int j = ++i;//i自增1,i等于3,变量i的值赋给j,j等于3
3. 自增运算符表达式赋值给自身变量
把整个表达式看成是一个整体。
如果变量名在前面(i++),那么整个表达式的值就是原来值不变。
如果变量名在后面(++i),那么整个表达式的值就是原来的值加1.
例如:
int i = 1;
int i = i++;//此时i的值不变,i等于1
int i = ++i;//i的值自增1,i等于2
赋值运算
= += -= *= /= %=fu
比较运算符
等于(==) 不等于(!=) 大于(>) 小于(<) 大于等于(>=) 小于等于(<=) instanceof
比较运算的结果是boolean类型的值(true或false)
instanceof是判断一个对象是否属于某种类型
逻辑运算符
& | && || ^ !
& :两边都为true ,结果为true
| :只要有一边为true,结果为true
&& :两边都为true ,结果为true,当有一个false出现就不会再继续判断
|| : 只要有一边为true,结果为true,当有一个true出现就不会再继续判断
^ : 两边不一样,结果为true ,否则为false,举个例子打印一下
! : 逻辑非,举个例子打印一下
位运算符
位运算就是 二进制的位进行运算。
比如 3&4
转换成二进制数据运算
0000 0011
& 0000 0100
-----------------
0000 0000
& 同时为真:1 1-->1
可以把1看成是true,把0看成是false
& :与 位运算,两边为1,结果为1
| :或 位运算,有一个为1,结果为1
^ : 异或,两边不一样,就为1,否则为0
~ : 取反,1变成0 ,0 变成1 ~(-5)结果4
<< : 向左位移动,例如1<<3 结果8
0000 0001
0000 1000
>>: 向右位移动,例如8>>2
>>>: 无符号向右移动
三目运算符
X?Y:Z
X为boolean类型
Y和Z为数据
X为true时结果为Y
X为false时结果为Z