运算符:
Java语言中的运算符可分为如下几种。
➢ 算术运算符
➢ 赋值运算符,=/—=/+=各种和等号组合的都是赋值运算符,赋值表达式是有值的,赋值表达式的值就是右边 被赋的值。例如String str2=str表达式的值就是str。因此,赋值运 算符支持连续赋值,通过使用多个赋值运算符,可以一次为多个变量赋值。如a=b=c=7.
➢ 比较运算符,比较运算符用于判断两个变量或常量的大小,比较运算的结果是一个布尔值(true或false)。Java支持的比较运算符如下。
:大于, >=:大于等于,<:小于, <=:小于等于,只支持左右两边操作数是数值类型。
:等于,如果进行比较的两个操作数都是数值类型,即使它们的数据类型不相同,只要它们的值相等,也都将返回true。 例如97’a’返回true,5.05也返回true。如果两个操作数都是引用类型,那么只有当两个引用变量的类型具有父子关系时才可以比较,而且这两个引用必须指向同一个对象才会返回true。Java也支持两个boolean类型的值进行比较,例如,truefalse将返回false。
注意: 基本类型的变量、值不能和引用类型的变量、值使用进行比较;boolean类型的变量、值不能与其他任意类型的变量、值使用进行比较;如果两个引用类型之间没有父子继承关系,那么它们的变量也不能使用==进行比较。
!=:不等于,如果进行比较的两个操作数都是数值类型,无论它们的数据类型是否相同,只要它们的值不相等,也都将返回true。如果两个操作数都是引用类型,只有当两个引用变量的 类型具有父子关系时才可以比较,只要两个引用指向的不是同一个对象就会返回true。
➢ 逻辑运算符,注意下短路与和短路或即可,逻辑运算符用于操作两个布尔型的变量或常量。逻辑运算符主要有如下6个。
&&:与,前后两个操作数必须都是true才返回true,否则返回false。
&:不短路与,作用与&&相同,但不会短路。
||:或,只要两个操作数中有一个是true,就可以返回true,否则返回false。
|:不短路或,作用与||相同,但不会短路。
!:非,只需要一个操作数,如果操作数为true,则返回false;如果操作数为false,则返回true。
^:异或,当两个操作数不同时才返回true,如果两个操作数相同则返回false。
➢ 位运算符,Java支持的位运算符有如下7个。
&:按位与。当两位同时为1时才返回1。
|:按位或。只要有一位为1即可返回1。
~:按位非。单目运算符,将操作数的每个位(包括符号位)全部取反。
^:按位异或。当两位相同时返回0,不同时返回1。
<<:左移运算符。:右移运算符。
:无符号右移运算符。
一般来说,位运算符只能操作整数类型的变量或值,基本不常用,用到再查
➢ 类型相关运算符
运算符优先级:图来自网络