运算符的分类
按操作数的数目分为3种
(1)一元运算符:只需一个运算对象的运算符称为一元运算符。
例:
x=-x;//将x值取反赋给x
y=++x;//将x值加1赋给y
(2)二元运算符:需要两个运算对象的运算符号称为二元运算符。
例:
x=x+2;
(3)三元运算符:需要三个运算对象。
例:
op1?op2:op3;//如果op1结果为真执行op2,否则执行op3
算术运算符
(1)双目算术运算符
注:(1)“/”运算符对整数和浮点数的情况不同,7/2结果为3,7.0/2.0的结果为3.5,整数相除舍掉小数部分,浮点数保留小数部分。
(2)取模运算“%”一般用于整数运算,它用来得到余数部分。当参与运算值为负时,结果的正负取决与被除数的正负。
(3)如果出现各种类型的数据的混合运算,系统将按自动转换原则将操作数转换为同一类型,再进行计算
( 2)单目算术运算符
注:++x先将x加一在赋值,x++先取x的值在使x加一。如:
int x=2; x=(x++)*2;//x结果为4 int b=2; b=(++b)*2//结果为6
关系运算符
关系运算符也称比较运算符,结果为布尔值
逻辑运算符
位运算符
位运算符对操作数以二进制比特(bit)位单位进行的操作运算,位运算符的操作数和结果都是整型数
(1)移位运算符
说明:<<和>>带符号进行左移右移时,左边用符号位补齐,右边用零补齐;>>>不带符号右移全部用零补齐。
(2)按为逻辑运算
若x=9,y=12;
x和y的二进制表示为x=0000 1001,y=0000 1100;
x&y=0000 1000;x|y=0000 1101;x^y=0000 0101;
所以x&y的结果为8,x|y的结果为13,x^y的结果为5.
&有一个位为0,结果为0;
|有一个位为1,结果为1;
^位上相同为0,不同为1。
赋值组合运算符
赋值组合运算符是指在赋值运算符的左边有一个其他运算符,如:
x+=2;//等价x=x+2
其他运算符
运算符 | 描述 |
---|---|
?: | 作用相当于if…else |
[] | 用于声明数组创建数组以及访问数组元素 |
. | 用于访问对象或者类的成员 |
(type) | 强制类型转换 |
new | 创建一个新的对象或者数组 |
instanceof | 判断对象是否为类的实例 |
instanceof用来决定第一个运算对象是否为第二个运算对象的一个实例。例:
String x="hello world";
if(x instanceof String)
System.out.println("x is a instance of String");