基本运算符

发布时间 2023-11-27 10:04:50作者: 同学?

1.算术运算符:+(加),-(减),*(乘),/(除),%(求余)
在进行除法运算时,0不能做除数
整数和小数做除法时是有区别的,整数之间做除法时,只保留整数而舍弃小数
如果对负数取模,可以把模数负号忽略不计,但被模数是负数则不可忽略

2.赋值运算符:=
将右方操作数所含的值赋给左方的操作数

3.比较运算符:>(比较左方是否大于右方),<(比较左方是否小于右方),==(比较左方是否等于右方)
>=(比较左方是否大于等于右方),<=(比较左方是否小于等于右方),!=(比较左方是否不等于右方)

4.自增和自减运算符:
++a(--a)//在使用变量a前,先使a的值+1(-1)
a++(a--)//在使用变量a后,再使a的值+1(-1)
假设a等于5,
b=++a:先将a的值+1,然后赋给b,此时a和b的值都为5
b=a++:先将a的值赋给b,再使a的值+1,此时a的值等于6,b的值等于5

5.逻辑运算符:逻辑运算符的操作元必须是boolean型数据
&,&&(逻辑与)都为真才为真;
||(逻辑或)有一个为真就为真;
!(逻辑非)取反
^(逻辑亦或)亦或追求的是异,两边逻辑不同时为真
逻辑运算符&&,||,当第一个表达式为false则不会去判断第二个,属于短路运算符
而那些始终执行逻辑运算符两边的表达式称为非短路运算符

6.位运算符:位运算符是直接对二进制进行运算,位运算符除按位与和按位或外,其他只能处理整数的操作数
&(按位与)两个数都为1才为1,否则为0
|(按位或)两个数都为0才为0,否则为1
~(按位取反)是1则为0,是0则为1
^(按位异或)同时为0或1时,结果为0否则为1

<<:左移,例如31左移3位就是248(31*2*2*2)
0000 0000 0000 0000 0000 0000 0001 1111(31)
0000 0000 0000 0000 0000 0000 0001 1111000(31<<3)
0000 0000 0000 0000 0000 0000 1111 1000(248)
>>:右移
当该数是负数时,看左边空缺的数第一个数,是1则填1,是0则填0
>>>:无符号右移
当该数为负数时,不论第一个数是1还是0都补0

7.三元运算符
格式:条件式?值1:值2
如:boolean a=20<45?true:false,表达式20<45返回为真那么a取值为true

运算符优先级:
(),[] 高
!,+(正),-(负),~,++,--
*,/,%
+(加)-(减)
<<,>>,>>>
<<=,>>=,instanceof
==,!=
&(按位与)
^
I
&&
||
?
=,=+,-=,*=,/=,%=,&=,|=,^=,~=,<<=,>>=,>>>= 低


8.在输出时使用“+”拼接后结果会变成字符串类型,再进行数学运算时仍会以字符串类型进行拼接,但在使用“+”拼接前不会改变之前的运算方法

9.扩展赋值运算符+=,-=,/=,*=,%=
在使用扩展赋值运算符时,变量在参与运算时会把结果自动强制转换为当前变量类型