一. 运算符简介
1. 概述
电脑的大名之所以被称为”计算机“,是因为它最基本、最起初的作用就是进行数学运算。为了实现计算功能,Java为我们提供了多种运算符用于各种计算,比如算术运算符(+ - * /)、 关系运算符(< > ==)、逻辑运算符、位运算符、条件运算符等等。
2. 分类
如果我们把运算符按照功能来分,可以分为算术运算符、关系运算符(又叫java比较运算符)、赋值运算符、逻辑运算符、位运算符、三目运算符、逗号运算符等各种运算符。
如果按照操作数的数目来分,可以把这些运算符分为单目运算符、双目运算符和三目运算符,分别对应于1个、2个、3个操作数。
3. 运算符的目
我们把运算符能够连接操作数的个数,称为运算符的目,Java的运算符的目有三种:
●单目运算符:只能连接一个操作数,如“+ +”、”--”;
●双目运算符:可以连接两个操作数,Java语言中多数运算符都属于双目运算符,如“+、-、*”等;
●三目运算符:可以连接三个操作数,Java语言中只有一个三目运算符,即条件运算符”? :“。
4. 运算符的优先级
运算符的优先级是指在表达式中出现多个不同的运算符,在进行计算时运算符执行的先后次序。比如算术运算符中,乘除运算符的优先级高于加减运算符的优先级。在Java语言中,不同的运算符具有不同的优先级,我们在开发时要优先处理优先级高的运算符。参考下图:
这么多的优先级规则,你很难记得住,其实你也不必记忆,我们在使用时直接加括号就可以了,和数学里的规则一样。
5. 运算符的结合方向
运算符的结合方向又称为结合性,是指当一个操作数连接两个相同优先级的运算符时,会按运算符所规定的结合方向进行处理。Java中各运算符的结合性分为两种,分别为左结合性(自左向右)和右结合性(自右向左)。比如常见的+、-、*、/等运算就是自左向右,而Java里的=赋值运算,则是从右向左。
在Java中,所有的数学运算都是从左向右进行运算的,其他的大部分运算也是遵守从左向右的规则。但一元运算符,赋值运算符和三目运算符例外,他们是从右向左进行运算的。