Java 运算符
- 算术运算符
- 关系运算符:
- 位运算符
- 逻辑运算符
- 赋值运算符
- 其他运算符
《一》算术运算符:+ - * / % ++ --
1、前缀自增自减法(++a,--a): 先进行自增或者自减运算,再进行表达式运算。
2、后缀自增自减法(a++,a--): 先进行表达式运算,再进行自增或者自减运算
《二》关系运算符:== != > < >= <=
返回值:true false
《三》位运算符:& | ^ ~ >> << >>>
A = 0011 1100 B = 0000 1101
& 与 例:A & B = 0000 1100
| 或 例:A | B = 0011 1101
^ 亦或 例:A ^ B = 0011 0001
~ 取反 例: ~ A= 1100 0011
>> 右移 例:A >> 2 = 1111
<< 左移 例:A << 2 = 1111 0000
>>> 按位右移补零操作符 例:A >>> 2 = 0000 1111
《四》逻辑运算符
&& | 逻辑与:A && B | A为假时,B不执行 |
| | | 逻辑或:A | | B | A为真时,B不再执行 |
! | 逻辑非:用来反转操作 |
《五》赋值运算符
= | 赋值运算符,右操作数的值赋给左侧操作数 | C = A :把A的值赋给C |
+ = | 加和赋值操作符 | C + = A等价于 C = C + A |
- = | 减和赋值操作符 | C - = A等价于 C = C -A |
* = | 乘和赋值操作符 | C * = A等价于C = C * A |
/ = | 除和赋值操作符 | C / = A等价于C = C / A |
(%)= | 取模和赋值操作符 | C%= A等价于C = C%A |
<< = | 左移位赋值运算符 | C << = 2等价于C = C << 2 |
>> = | 右移位赋值运算符 | C >> = 2等价于C = C >> 2 |
&= | 按位与赋值运算符 | C&= 2等价于C = C&2 |
^ = | 按位异或赋值操作符 | C ^ = 2等价于C = C ^ 2 |
| = | 按位或赋值操作符 | C | = 2等价于C = C | 2 |
《六》三元运算符(?:)例:
int max = ( a > b ) ? a : b
《七》instanceof运算符
public class Teacher extends Person{ public static void main(String[] args){ Person p = new Teacher(); Teacher t = new Teacher(); //Teacher e = new Person();//编译不通过,子类不能创建父类对象 System.out.println("p instanceof Teacher? "+ (p instanceof Teacher));//true System.out.println("p instanceof Person? " + (p instanceof Person));//true System.out.println("t instanceof Teacher? " + (t instanceof Teacher));//true System.out.println("t instanceof Person? " + (t instanceof Person));//true //System.out.println("e instanceof Teacher? " + (e instanceof Teacher));//错误 //System.out.println("e instanceof Person? " + (e instanceof Person));//错误 } } class Person{}
《八》Java运算符优先级(别人的拿过来记忆)
类别 | 操作符 | 关联性 |
---|---|---|
后缀 | () [] . (点操作符) | 左到右 |
一元 | + + - !〜 | 从右到左 |
乘性 | * /% | 左到右 |
加性 | + - | 左到右 |
移位 | >> >>> << | 左到右 |
关系 | >> = << = | 左到右 |
相等 | == != | 左到右 |
按位与 | & | 左到右 |
按位异或 | ^ | 左到右 |
按位或 | | | 左到右 |
逻辑与 | && | 左到右 |
逻辑或 | | | | 左到右 |
条件 | ?: | 从右到左 |
赋值 | = + = - = * = / =%= >> = << =&= ^ = | = | 从右到左 |
逗号 | , | 左到右 |