尚硅谷JavaSE基础
2.6 运算符
2.6.1 常见运算符
算术运算符
关系运算符
逻辑运算符
赋值运算符
三目运算符
2.6.2运算符详细介绍
1、算术运算符
基本算术运算符
+ - * / %
注意:/左右两边都是整型,结果取整
自增、自减运算符
++ --
特点:
①属于一元运算符
i++、--i
②可以作为独立的语句或作为表达式使用
作为独立的语句使用:
i++;等价于++i;效果上等价于 i=i+1;
作为表达式使用:
int j = i++; 先赋值后自增// int temp = i++; i++; j = temp;
int j = ++i; 先自增后赋值 ///
③自增、自减运算符,底层做了优化,所以效率较高,其次 不用手动的类型转换
int i = 10;
i*=1.523;//√
System.out.println(i);//15
2、关系运算符
> < >= <= == !=
3、逻辑运算符
名称 语法 特点
&& / & 与 条件1&& 条件2 两个条件都成立,结果为true
|| / | 或 条件1|| 条件2 只要有一个条件成立,结果为true
! 非 !条件 如果条件成立,结果为false,否则为true
&&和&的区别:
&& 如果第一个条件不成立,则不再执行第二个条件,效率较高
& 不管第一个条件是否成立,都要执行第二个条件,效率较低
||和|的区别:
|| 如果第一个条件成立,则不再执行第二个条件,效率较高
| 不管第一个条件是否成立,都要执行第二个条件,效率较低
4、赋值运算符
1、基本赋值运算符
=
2、复合赋值运算符
+= 、-= 、*=等
特点:
1、运算顺序从右往左
2、赋值运算符的左边只能是变量,右边可以是变量、常量、表达式、方法调用
3、复合赋值运算符具备以下特点
①i+=3;效果上等价于 i=i+3;但效率比i=i+3;较高
②编译器内部做了优化,不用我们手动的类型转换了
③复合赋值的变量必须提前进行初始化
5、三目运算符
说明
条件?操作数1 :操作数2
特点:
1、如果条件成立,结果为操作数1,否则为操作数2!
2、两个操作数的类型要求一致或兼容
6、运算符优先级
|
. () {} ; , |
R—>L |
++ -- ~ !(data type) |
L—>R |
* / % |
L—>R |
+ - |
L—>R |
<< >> >>> |
L—>R |
< > <= >= instanceof |
L—>R |
== != |
L—>R |
& |
L—>R |
^ |
L—>R |
| |
L—>R |
&& |
L—>R |
|| |
L—>R |
? : |
R—>L |
= *= /= %= |
|
+= -= <<= >>= |
|
>>>= &= ^= |= |