Java--运算符

Java的运算符可分为下面几类

基本都是些 很简单的逻辑,有些需要注意的会在下方写一下。


一、算术运算符

+-*/这些就是逻辑上大家习惯的加减乘除操作,需要注意的是在此类二元运算符中会存在运算符的向上转型(类型提升)问题,即10.2+3,因为10.2为double,所以结果也为double型。

%运算不只可以用于整形,也可以用于浮点型。

自增 自减操作需要特别注意,如:int a=2;int b=a++; int c=++a; 此时b的结果为2,c的结果为4。 因为运算b时b=a++,是先把a的值付给b,然后a自加,而c=++a,是a先自加,再把值付给c。这种运算符在循环时尤其需要注意。


二、布尔逻辑表达符(只可用于bool类型的操作,如:1<2&&2>3)

&&:逻辑与运算符,true&&true==true;true&&false==false;false&&true==false;false&&false==false; 即只要有false结果便为false,Java中的短路操作会在当第一位为false时便不继续运算,结果直接为false,以提升效率

||:逻辑或运算符,true||true==true;true||false==true;false||true==true;false&&false==false; 即只要有true结果便为true,短路操作与&&操作符相仿。

!:逻辑非运算符,即得到它的反义。!true=false;


三、位运算符

位运算符都是对二进制情况下的每一位进行操作,需要将每个数字都化为二进制,每一位的运算规则与逻辑运算符相仿。当然true、false也可以用位运算符,因为true相当于1,false相当于0,但是建议true与false用逻辑运算符。

~:取反,如int b=~3;,结果b=-4,因为3二进制为1011,取反0100,-4。

&:按位与,如8&4,8=1000,4=0100,结果为0=0000;

|:按位或,如8|4,8=1000,4=0100,结果为12=1100;

^:按位异或,即每一位相同为1,不同为0。如8^4,8=1000,4=0100,结果为3=0011;

<<,>>:左移右移运算符,左移一位等于乘2,右移一位等于除以2,如3<<1=6。  一个数乘以n次2最快的运算方式是左移n位。


四、扩展运算符

扩展运算符比较简单,分为+=,-=,*=,/=

以+=举例,a+=b   相当于a=a+b,其他运算符逻辑相同。


五、字符串连接符

只有一个,“+”,当+两侧有一个是字符串时+自动将另一个转换为字符串进行字符串连接。


六、三元运算符(条件运算符)

三元运算符相当于简单的if,else语句。

如1>2?true:false,即?以前的为bool类型的语句,若true则输出?后面的字符,若false则输出:后面的字符,本题为若1>2,则输出true,否则输出false。


七、运算符优先级

运算符优先级不需要记,只需记住乘除优先于加减即可,其他的用小括号来提升优先级即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值