Java运算符详解

一 算术运算符

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

Java运算符详解_第1张图片


三 逻辑运算符

逻辑运算符包括:(&&    ||  !),其中&&||为二元运算符,实现逻辑与、逻辑或。!为单元运算符实现逻辑非。

逻辑运算符的操作元必须是boolean型数据,逻辑运算符可以用来连接关系表达式。

①&&称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真;

||称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真;

③!称为逻辑非运算符。用来反转操作数的逻辑状态,如果条件为true,逻辑非运算符则得到false。


四 位运算符

Java定义了位运算符,应用于整数类型(int),长整型(long),短整型(short),字符型(char),和字节型(byte)等类型。位运

算符作用在所有的位上,并且按位运算。

下表列出了位运算符的基本运算,假设整数变量A的值为60和变量B的值为13


Java运算符详解_第2张图片

小结 :

 ① ^运算符:一个数据异或同一个数据两次,还是得到原数据;

 ②<<左移位运算符:一个数据左移几位就是该数据乘以2的几次方,即可以完成2的次幂运算,在计算机中位的运算

效率是最高的;

 ③>>右移位运算符:一个数据右移几位,其实就是该数据除以2的几次幂。

 ④<<左移位运算符,空位用零补位;>>右移位运算符,空位用原高位数字补位,即原来高位是0,则用0补位,如果

是1则用1补位;>>>右移补位运算符,空位都是用零补位。


五 赋值运算符

赋值运算符是二元运算符,左面的操作元必须是变量,不能是常量或表达式。

常见赋值运算符:

Java运算符详解_第3张图片

注意:不要将赋值运算符=”与关系运算符“==”混淆。这些赋值运算符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)


八 运算顺序

Java运算符详解_第4张图片


补充:

①字符串运算符: + 可以连接不同的字符串。

②转型运算符: () 可以将一种类型的数据或对象,强制转变成另一种类型。如果类型不相容,会报异常出来。

③&&与& 和 || 与|的区别


你可能感兴趣的:(java,java,javaSE)