java 运算符
算术运算符
算术运算符用在数学表达式中,它们的作用和在数学中的作用一样。下表列出了所有的算术运算符。
- +加法 相加运算符两侧的值
- -减法 左操作数减去右操作数
- *乘法 相乘操作符两侧的值
- /除法 左操作数除以右操作数
- %取模 左操作数除以右操作数的余数(取余)
- ++自加 操作数的值增加一
- --自减 操作数的值减少一
自增自减运算符
- 一个操作数
- 前缀自增自减法(++a,--a): 先进行自增或者自减运算,再进行表达式运算。
- 后缀自增自减法(a++,a--): 先进行表达式运算,再进行自增或者自减运算。
关系运算符
- ==
- !=
>
- <
>=
- <=
位运算符
Java定义了位运算符,应用于整数类型(int),长整型(long),短整型(short),字符型(char),和字节型(byte)等类型。 位运算符作用在所有的位上,并且按位运算。
- & 如果相对应位都是1,则结果为1,否则为0 (A&B),得到12,即0000 1100
- | 如果相对应位都是0,则结果为0,否则为1 (A | B)得到61,即 0011 1101
- ^ 如果相对应位值相同,则结果为0,否则为1 (A ^ B)得到49,即 0011 0001
- 〜 按位补运算符翻转操作数的每一位,即0变成1,1变成0。 (〜A)得到-61,即1100 0011
- << 按位左移运算符。左操作数按位左移右操作数指定的位数。 A << 2得到240,即 1111 0000
- />> 按位右移运算符。左操作数按位右移右操作数指定的位数。 A >> 2得到15即 1111
- />>> 按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。 A>>>2得到15即0000 1111
逻辑运算符
&&
且- || 或
- ! 非
赋值运算符
- = 简单的赋值运算符,将右操作数的值赋给左侧操作数 C = A + B将把A + B得到的值赋给C
-
- = 加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数 C + = A等价于C = C + A
-
- = 减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数 C - = A等价于C = C - A
-
- = 乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数 C * = A等价于C = C * A
- / = 除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数 C / = A等价于C = C / A
- (%)= 取模和赋值操作符,它把左操作数和右操作数取模后赋值给左操作数 C%= A等价于C = C%A
- << = 左移位赋值运算符 C << = 2等价于C = C << 2
- ·>> = 右移位赋值运算符 C >> = 2等价于C = C >> 2
- &= 按位与赋值运算符 C&= 2等价于C = C&2
- ^ = 按位异或赋值操作符 C ^ = 2等价于C = C ^ 2
- | = 按位或赋值操作符 C | = 2等价于C = C | 2
其他运算符
- 条件运算符(三元表达式) 该运算符有3个操作数,并且需要判断布尔表达式的值。该运算符的主要是决定哪个值应该赋值给变量。
- instanceof 运算符 该运算符用于操作对象实例,检查该对象是否是一个特定类型(类类型或接口类型)。
String name = "James"; boolean result = name instanceof String; // 由于 name 是 String 类型,所以返回真