1.运算符分类
算数运算符、赋值运算符、比较运算符(关系运算符)、逻辑运算符、位运算符、三元运算符(三目运算符)
1.1.算数运算符
- ++ 和 - - 的用法
- 单独使用 放在操作前 / 后效果一样
- 参与运算使用
操作数前 :先自增或自减,再参与运算
int a = 10;
a ++;
System.out.println(a); //输出 11
操作数后 :先参与运算,再自增或自减
int a = 1;
int b;
b = a++;
System.out.println(a); // a = 2
System.out.println(b); // b = 1
1.2.逻辑运算符
- 分类
与 & ,遇false则false
或 | ,遇true则true
异或^,两边都相同为false,不同为true
非 !,非true则false - &&与&的区别
结果一样
&&具有短路效果,左边为false,右边不执行
int a = 1;
int b = 2;
System.out.println((++a==1)&&(++b==2)); // false
System.out.println("a = " + a); // a = 2
System.out.println("b = " + b); //b = 2
- 同理,|| 与 | 的区别
结果一样
|| 具有短路效果,左边为true,右边不执行
1.2.位运算符
- 分类
& 有0则0
| 有1则1
^ 相同则0,不同则1
~ 按位取反 - 特点
^ : 一个数据对另一个数据位异或两次,该数本身不变
System.out.println(5^10^10); // 5
System.out.println(5^10^5); // 10
可用于不需要第三方变量即可实现两个整数变量的交换
1.3.三元运算符
- 格式(可用来获取两个数中的最大值)
关系表达式 ?表达式1 :表达式 2
int a = 1;
int b = 2;
int c;
c = a > b ? a : b;
System.out.println(c); // 2