Java语言中的运算符(也称操作符)在风格和功能上都与C 和C++极为相似,包括算术运算符、关系运算符、逻辑运算符、位运算符和其他运算符。

1.算术运算符
Java中的算术运算符主要用来组织数值类型数据的算术运算,按照参加运算的操作数的不同可以分为一元运算符和二元运算符。

1.1 一元运算符
一元算术运算符一共有3个,分别是-、++和--。
一元算术运算符:

java一元运算符有那些 java中的一元运算符_算术运算符

-a是对a取反运算,a++或a--是在表达式运算完后,再给a加一或减一。而++a或--a是先给a加一或减一,然后再进行表达式运算。

1.2 二元运算符
二元运算符包括:+、-、*、/和%,这些运算符对数值类型数据都有效。
二元算术运算符:

java一元运算符有那些 java中的一元运算符_数据_02

1.3 算术赋值运算符
算术赋值运算符只是一种简写,一般用于变量自身的变化。
算术赋值运算符:

java一元运算符有那些 java中的一元运算符_数据_03

2.关系运算符
关系运算是比较两个表达式大小关系的运算,它的结果是布尔类型数据,即true或false。关系运算符有6种:==、!=、>、<、>=和<=。
关系运算符:

java一元运算符有那些 java中的一元运算符_数据_04

注意:==和!=可以应用于基本数据类型和引用数据类型。当用于引用数据类型比较时,比较的是两个引用是否指向同一个对象,但在实际开发过程中多数情况下,只是比较对象的内容是否相当,不需要比较是否为同一个对象。

3.逻辑运算符
逻辑运算符是对布尔型变量进行运算,其结果也是布尔型。
逻辑运算符:

java一元运算符有那些 java中的一元运算符_算术运算符_05

注意:短路与(&&)和短路或(||)能够采用最优化的计算方式,从而提高效率。在实际编程时,应该优先考虑使用短路与和短路或。

4.位运算符
位运算是以二进位(bit)为单位进行运算的,操作数和结果都是整型数据。位运算符有如下几个运算符:&、|、^、~、>>、<<和>>>,以及相应的赋值运算符。
位运算符:

java一元运算符有那些 java中的一元运算符_java_06

注意:无符号右移>>>运算符仅被允许用在int和long整数类型, 如果用于short或byte数据, 则数据在位移之前,转换为int类型后再进行位移计算。

5.其他运算符
Java还有一些其他运算符。
三元运算符(? :)。例如x?y:z;,其中x、y和z都为表达式。
小括号。起到改变表达式运算顺序的作用,它的优先级最高。
中括号。数组下标。
引用号(.)。对象调用实例变量或实例方法的操作符,也是类调用静态变量或静态方法的操作符。
赋值号(=)。赋值是用等号运算符(=)进行的。
instanceof。判断某个对象是否为属于某个类。
new。对象内存分配运算符。
箭头(->)。Java 8新增加的,用来声明Lambda表达式。
双冒号(::)。Java 8新增加的,用于Lambda表达式中方法的引用。

6.运算符优先级
在一个表达式计算过程中,运算符的优先级非常重要。
运算符优先级:

java一元运算符有那些 java中的一元运算符_java一元运算符有那些_07

注意:运算符优先级大体顺序,从高到低是:算术运算符→位运算符→关系运算符→逻辑运算符→赋值运算符。