运算符
赋值运算符 =
变量名 = 表达式;
将右边的值给左边的变量
int a = (b+3)+(b-1);
表达式就是符号(如加好、减号)与操作数(如b,3等)的组合
算术运算符
+、-、*、/、%、++、–
复合赋值运算符:+=、-=、*=、/=、%=
int num1 = 5;
int num2 = 2;
int sum = 5+2;
结果sum的值为7
除法 / 需要注意
如果除号两边都是整数,结果一定是整数,会舍弃小数位
/10 就是删除数字的个位数
取余 %
%一般用来判断奇数和偶数,
%10:返回数字的个位数
++自增运算符
如果++单独使用,放在变量前面或者放在变量后面,没有区别,都是将变量的值自增1
如果++放在表达式里面使用
- ++在变量前面,先将变量的值自增1,再进行其他运算
- ++在变量后面 先取值参与运算,最后自增1
+= -= *= /= %= 都包含隐式转换
byte num=20;
num+=20; //等同于num=(byte)(num+20);
//如果直接写num=num+20;会报错
关系运算符
运算符 | 含义 | 范例 | 结果 |
---|---|---|---|
== | 等于 | 5=6 | false |
!= | 不等于 | 5!=6 | true |
> | 大于 | 5>6 | false |
< | 小于 | 5<6 | true |
>= | 大于等于 | 5>=6 | false |
<= | 小于等于 | 5<=6 | true |
注意:
=为赋值运算符,== 为等于运算符
关系表达式的结果为布尔值
>、<、>=、<= 运算符的优先级别高于 ==、!=
>、<、>=、<=运算符只支持数值类型的数据比较
逻辑运算符
运算符 | 含义 | 运算符规则 |
---|---|---|
&& | 短路与 | 两个操作数都是true,结果才是true |
|| | 短路或 | 两个操作数一个是true,结果就是true |
! | 非 | 操作数为true,结果为false |
操作数为fase,结果为true |
条件运算符(三元运算符)
条件 ? 表达式1 : 表达式2
当条件成立时,执行表达式1,不成立则执行表达式2
位运算符
计算机中的数据以二进制形式存在
- 十进制5
- 二进制101
二进制和十进制数据如何换算?
位元素安抚对操作数以二进制为单位进行运算
运算符 | 含义 | 运算规则 |
---|---|---|
& | 按位与 | 两个操作数都是1,结果才为1 |
| | 按位或 | 两个操作数一个是1,结果为1 |
^ | 按位异或 | 两个操作数相同,结果为0 |
两个操作数不同,结果为1 | ||
~ | 按位非/取反 | 操作数为1,结果为0 |
操作数为0,结果为1 | ||
<< | 左移 | 右边空位补0 |
>> | 右移 | 左侧空位补最高位,即符号位 |
运算符的优先级
- 单目运算符包括! ~ ++ – ,优先级别高
- 优先级别最低的是赋值运算符
- 可以通过()控制表达式的运算顺序,()优先级最高
- 从右向左结合性的只有赋值运算符、三目运算符和单目运算符
- 算术运算符>关系运算符>逻辑运算符