Java运算符分为: 算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、三目运算符
算术运算符:
public class yunsuanfuDemo01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//算数运算符 + - * / %(取余) +(连接符,连接字符窜)
int x=5450;
x=x/1000*1000;
System.out.println(x);
//结果为5000,前后为整型,结果从小数转为int型。
}
}
赋值运算符:
符号: =、+= 、-=、*=、/=、%=
=:赋值
+=
public class yunsuanfuDemo01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
short s=3;
// s+=4; //此种写法Java底层自动会把数据强制转换。
s=(short)(s+4);
System.out.println(s);
}
//面试回答法:第一种编译通过,第二种写法编译不通过。原因是Java会进行自动类型提升,将高类型的值赋
//类型的值,会出现精度的丢失。第一种写法Java底层提供了强制类型的转换。
}
比较运算符:
逻辑运算符:
逻辑运算符的作用是连接两个boolean类型的表达式。
& :与
&运算符特点:
true&true=true;
true&false=false;
false&true=false;
false&false=false;
&的运算规律
&运算符两边只要有一个false,结果肯定是false,只有两边都为true,结果则为true。
| :或
| 运算符特点
true | true =true;
true | false=true;
false | true=true;
false | false =false;
| 或运算符的规律
|或运算符两边只要有一个为true,结果肯定是true。只有当两边都为false时,结果才为false。
^:异或
true ^ true =false;
true ^ false= true;
false^true = true;
false ^ false =false ;
^的规律
如果^符号两边结果相同 ,则结果为false,如果^符号两边结果不同,则结果为true。
^ 异或一个数以后,再异或这个数,结果还是原来那个没异或之前的数。
!非运算符
事务的反面
!true=true , !false=true, !!true=true。
& 无论&运算符左右两边的结果是什么,右边都会参与运算。
&& 只有当左边的运算结果为真时,右边的才会参与运算。
| 无论左边的结果是什么,右边都参与运算。
|| 只有左边为真,右边就不参与运算了。
位运算符:
异或运算
>> <<移位运算符的特点是什么?什么时候用?
<<: 左移几位就是该数乘以2的几次方。 可以用来完成2的次幂运算
>>: 右移几位就是该数除以2的几次方。 注意高位原来什么就用什么来补。
>>>: 此为无符号右移,数据进行右移时,高位出现的空位,无论原来高位是什么数,空位都用0来补。
方法:先把需要移动的数字转化为二进制数字,然后进行移位,把有效数字转化为十进制数字。
注意:都为2的倍数。
三元运算符