java运算符

1、操作符的优先级
1) .(点)、()(小括号)、[](中括号)
2)+(一元正号)、-(一元负号)、!(逻辑非)、~(按位非)++(自增)、--(自减)
3)*(乘号)、/(除号)、%(取余)
4)+(加号)、-(减号)
5)>>(右移位)、>>>(无符号右移位)、<<(左移位)
6)>、>=、<、<=、(关系运算符)、instansof(判断左边对象是否属于右边的类型)
7)==(判断是否相等)、!=(不等于)
8)&(按位与、非短路与)
9)|(按位或、非短路或)
10)^(按位异或)
11)&&(逻辑与、短路与)
12)||(逻辑或、短路或)
13)? : (三目运算符)
14)=(赋值运算符)


2、具体运算符的使用与作用
1).使用在对象与方法或对象与字段之间
2)()可以改变既定的优先级
3)[]使用在数组对象上
4)-一元负号,除了取反之外,还会将byte或short类型的变量转换为int型
5)+一元正号,会将byte或short类型的变量转换为int型
6)!逻辑非,一元操作符,只能用于boolean型值,为取反的意思
7)~按位非,一元操作符,输入0则返回1,输入1则返回0,为取反的意思
8)++自增操作,如果++前置,则先进行自增,然后执行其他如赋值等操作,如果++后置,则先执行如赋值等操作,然后进行自增
9)--自减操作,如果--前置,则先进行自减,然后执行其他如赋值等操作,如果--后置,则先执行如赋值等操作,然后进行自减
10)*乘法符号
11)/除法符号,如果用于整型数值之间,则结果为取模,如果有一个值为浮点型,则结果为浮点型
12)%取余,如果用于整型数值之间,则结果为整型,如果有一个值为浮点型,则结果为浮点型
13)+加法符号,除了通常意义上的加法外,还会将byte或short类型的变量转换为int型
14)-减法符号,除了通常意义上的减法外,还会将byte或short类型的变量转换为int型
15)<<左位移符号,首先将数转换为二进制数,然后向左移动,即高位去掉对应移动的位数,低位补上对应个0,如果高位去掉的都是0,则相当于乘以2的n次方,n表示移动的位数
16)>>右位移符号,首先将数转换为二进制数,然后向右移动,如果该数符号为正,则最高位插入0,其余高位也插入0,低位数直接去掉,相当于除以2的n次方,n表示移动的位数;
如果该数符号为负,则最高位插入1,其余高位插入0,低位数直接去掉;
17)>>>不考虑正负位移,直接向右移动对应的位数,高位全部补0
18)>、>=、<、<=、==、!= 为关系运算符,其中==和!=可用于所有基本类型及引用类型,但是其余四个不能用于引用类型和boolean类型。
19)&和|都是二元操作符,作为逻辑运算符使用时,与&&、||功能类似,只是没有短路功能;作为按位运算符使用时,首先在转换为二进制数时,会将byte或short类型转换为int型数据,
即会产生32位。然后进行按位与、或运算。
20)^按位异或,先将十进制数转为二进制数,然后按位运算,规则为如果对应位上的值一致,则该位的结果为0,反之为1。因而有两个特性,任何数与0进行异或恒等于本身,任何数与本身异或恒等于0。
利用异或操作,可以不借助第三个变量,将两个变量值进行交换,n = n ^ l; l = l ^ n; n = n ^ l;  另一种方法为: n = n + l; l = n - l; n = n - l;
21)&& 和 || 为二元逻辑运算符,左右两边均为boolean类型的值,结果也为boolean类型的值,二者均有短路作用,即如果 &&前面的值为false,则后面不再计算,直接得出结果为false;
如果||前面的值为true,则不计算后面的表达式,直接给出true。
22)三目运算符,?前面的表达式为true,则取冒号前面的值,?前面的表达式为false,则取冒号后面的值
23)=赋值运算符,如果是基本数据类型,则赋值的是值本身,如果是引用类型的赋值,则赋值的只是引用,而非对象。

3、说一个注意事项:
即 i = i + b 并不等价于 i += b;
比如:byte i = 1; int b = 2;则 i = i + b报编译错误,因为int型数据不能赋值给byte类型的变量;
 i += b;则可以编译通过,因为该语句的实质是 i = (byte)(i + b)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值