Java--运算符

来源:互联网 发布:高科技软件 编辑:程序博客网 时间:2024/05/20 05:53

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。


七、运算符优先级

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

0 0
原创粉丝点击