一 算术运算符
1.加减运算符: +,-
加减运算符是二元运算符;加减运算符的结合方向是从左到右;加减运算符的操作元是整型或浮点型数据,加减运算符的优先级是4级。
2.乘、除和求余运算符: *,/,%
以上运算符是二元运算符,结合方向是从左到右,乘、除和求余运算符的操作元是整型或浮点型数据。运算符的优先级是3级。
3.算术表达式
用算术符号和括号连接起来的符合java语法规则的式子,称为算术表达式
4.自增自减运算符:++,--
是单元运算符,可以放在操作元之前,也可以放在操作元之后。操作元必须是一个整型或浮点型变量。作用是使变量的值增1或减1,如:
++x(--x)表示在使用x之前,先使x的值增(减)1。
x++(x--)表示在使用x之后,使x的值增(减)1。
例:
① //省略代码
int a =3 ,b;
b=++a;//相当于 a=a+1; b=a;
System.out.print(a+","+b)
//省略代码
输出a的值是4,b的值是4。
②//省略代码
int a =3 ,b;
b=a++;//相当于 int temp=a; a=a+1; b=temp;
System.out.print(a+","+b)
//省略代码
输出a的值是4,b的值是3。
5.运算精度
精度从“低”到“高”排列的顺序是:
byte short char int long float double
Java在计算算术表达式的值时,使用下列计算精度规则:
1.如果表达式中有双精度浮点数(double型数据),则按双精度进行运算。
2.如果表达式中最高精度是单精度浮点数(float型数据),则按单精度进行运算。
3.如果表达式中最高精度是long型整数,则按long精度进行运算。
4.如果表达式中最高精度低于int型整数,则按int精度进行运算。
二 关系运算符关系运算符是二元运算符,用来比较两个值的关系。关系运算符的运算结果是boolean型,当运算符对应的关系成立时,运算结果是true,否则是false。
三 逻辑运算符
逻辑运算符包括:(&& || !),其中&&、||为二元运算符,实现逻辑与、逻辑或。!为单元运算符实现逻辑非。
逻辑运算符的操作元必须是boolean型数据,逻辑运算符可以用来连接关系表达式。
①&&称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真;
②||称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真;
③!称为逻辑非运算符。用来反转操作数的逻辑状态,如果条件为true,逻辑非运算符则得到false。
四 位运算符
Java定义了位运算符,应用于整数类型(int),长整型(long),短整型(short),字符型(char),和字节型(byte)等类型。位运
算符作用在所有的位上,并且按位运算。
下表列出了位运算符的基本运算,假设整数变量A的值为60和变量B的值为13:
小结 :
① ^运算符:一个数据异或同一个数据两次,还是得到原数据;
②<<左移位运算符:一个数据左移几位就是该数据乘以2的几次方,即可以完成2的次幂运算,在计算机中位的运算
效率是最高的;
③>>右移位运算符:一个数据右移几位,其实就是该数据除以2的几次幂。
④<<左移位运算符,空位用零补位;>>右移位运算符,空位用原高位数字补位,即原来高位是0,则用0补位,如果
是1则用1补位;>>>右移补位运算符,空位都是用零补位。
五 赋值运算符
赋值运算符是二元运算符,左面的操作元必须是变量,不能是常量或表达式。
常见赋值运算符:
注意:不要将赋值运算符“=”与关系运算符“==”混淆。这些赋值运算符jvm会对数据类型进行特殊处理,将右边的运算结构转化为左边同一数据类型。
三元运算符是一个特殊的运算符,它的语法形式如下:
布尔表达式?表达式1:表达式2
运算过程:如果布尔表达式的值为true,就返回表达式1的值,否则返回表达式2的值,例如:
int sum=90;
String str=sum<100 ? "失败" : "成功";
等价于下列代码:
String str=null;
if(num<100){
str="失败";
}else{
str="成功";
}
三元运算符和if……else语句相比,前者使程序代码更加简洁。
七 instanceOf运算符
instanceof 运算符是二元运算符,左面的操作元是一个对象;右面是一个类。当左面的对象是右面的类或子类创建的对象时,该运算符运算的结果是true,否则是false。
格式:
(Objectreference variable) instanceOf (class/interfacetype)
八 运算顺序
补充:
①字符串运算符: + 可以连接不同的字符串。
②转型运算符: () 可以将一种类型的数据或对象,强制转变成另一种类型。如果类型不相容,会报异常出来。
③&&与& 和 || 与|的区别