一、常见运算符
算术运算符
关系运算符
逻辑运算符
赋值运算符
三目运算符
二、运算符详细介绍
一)算术运算符
1、基本算术运算符
+ - * / %
注意:/左右两边都是整型,结果取整
2、自增、自减运算符
++ --
特点:
①属于一元运算符: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
二)关系运算符
> < >= <= == !=
三)逻辑运算符
名称 | 语法 | 特点 | |
&& / & | 与 | 条件1&& 条件2 | 两个条件都成立,结果为true |
|| / | | 或 | 条件1|| 条件2 | 只要有一个条件成立,结果为true |
! | 非 | !条件 | 如果条件成立,结果为false,否则为true |
&&和&的区别:
&& 如果第一个条件不成立,则不再执行第二个条件,效率较高
& 不管第一个条件是否成立,都要执行第二个条件,效率较低
||和|的区别:
|| 如果第一个条件成立,则不再执行第二个条件,效率较高
| 不管第一个条件是否成立,都要执行第二个条件,效率较低
四)赋值运算符
1、基本赋值运算符 =
2、复合赋值运算符 += 、-= 、*=
特点:
1、运算顺序从右往左
2、赋值运算符的左边只能是变量,右边可以是变量、常量、表达式、方法调用
3、复合赋值运算符具备以下特点
①i+=3;效果上等价于 i=i+3;但效率比i=i+3;较高
②编译器内部做了优化,不用我们手动的类型转换了
③复合赋值的变量必须提前进行初始化
五)三目运算符
条件?操作数1 :操作数2
特点:
1、如果条件成立,结果为操作数1,否则为操作数2!
2、两个操作数的类型要求一致或兼容
三、运算符优先级
()——>!——>++ -->算术运算符——>关系运算符——>逻辑运算符——>三目运算符——>赋值运算符