1.3Java语言的分隔符(Separator)和运算符(Operator)

1.分隔符

分隔符又称标点符号,作用与标点符号一样,都是起分隔作用。

分隔符名称
( )圆括号
{ }花括号
[ ]方括号
;分号
,逗号
.圆点
...省略号
@at符号
::双冒号

2.一元运算符

运算符名称描述例子结果
+x取正返回其操作数的值。int x = +1;x = 1
–x取负对其操作数的数值取负。int x = -1;x = -1
++x前缀递增将 x 的值先加 1 赋值给 x 本身后再使用int x = 1;
int y = ++x;
x = 2
y = 2
x++后缀递增将 x 的值先使用再加 1 赋值给 x 本身int x = 1;
int y = x++;
x = 2
y = 1
––x前缀递减将 x 的值先减 1 赋值给 x 本身后再使用int x = 1;
int y = ––x;
x = 0
y = 0
x––后缀递减将 x 的值先使用再减 1 赋值给 x 本身int x = 1;
int y = x––;
x = 0
y = 1

3.算术运算符

运 算 符名 称描述
x + y求 x 加 y 的和,还可用于字符串连接操作
x - y求 x 减 y 的差
x * y求 x 乘以 y 的积
x /  y求 x 除以 y 的商
x % y取余求 x 除以 y 的余数 

4.赋值运算符

运 算 符名称描述
x = 3赋值无等价
x += y加赋值等价于 x = x + y
x -= y减赋值等价于 x = x – y
x *= y乘赋值等价于 x = x * y
x /= y除赋值等价于 x = x / y
x %= y取余赋值等价于 x = x % y
x &= y按位与赋值等价于 x = x & y
x |= y按位或赋值等价于 x = x | y
x ^= y按位异或赋值等价于 x = x ^ y
x <<= y有符号左移位赋值等价于 x = x << y
x >>= y有符号右移位赋值等价于 x = x >> y
x >>>= y无符号右移位赋值等价于 x = x >>> y

5.相等性比较运算符

相等运算符(==)

操作数描述
数字类型如果两个操作数的值相等,那==的结果为true;否则,结果为false
引用类型或null如果两个操作数的值都为null或都引用同一个对象或数组,那==的结果为true;否则,结果为false
布尔类型如果两个操作数的值都为true或都为false,那==的结果为true;否则,结果为false

不相等运算符(!=)

操作数描述
数字类型如果两个操作数的值相等,那!=的结果为false;否则,结果为true
引用类型或null如果两个操作数的值都为null或都引用同一个对象或数组,那!=的结果为false;否则,结果为true
布尔类型如果两个操作数的值都为true或都为false,那!=的结果为false;否则,结果为true

6.比较运算符

运算符名称描述
x < y小于只支持左右两边操作数是数值类型。如果前面变量的值小于后面变量的值,则返回 true ,否则 false 。
x <= y小于或等于只支持左右两边操作数是数值类型。如果前面变量的值小于或等于后面变量的值, 则返回 true ,否则 false 。
x > y大于只支持左右两边操作数是数值类型。如果前面变量的值大于后面变量的值, 则返回 true ,否则 false 。
x >= y大于或等于只支持左右两边操作数是数值类型。如果前面变量的值大于等于后面变量的值, 则返回 true ,否则 false 。

7.布尔逻辑运算符

& 运算符与 && 运算符的区别是:如果左侧操作数的计算结果为 true&& 运算符才会计算右侧操作数。而 & 运算符 无论左侧操作数的计算结果是 truefalse,都会计算右侧操作数。因此, && 运算符 的性能比 & 运算符 高。x | y 运算符与 x || y 运算符的区别类似。

运算符名称描述例子结果
!x逻辑非(NOT)x 为 true 时,值为 false,x 为 false 时,值为 true!(2>4)true
x & y逻辑与(AND)xy 全为 true 时,计算结果为 true,否则为 false1<2&3<5true
x | y逻辑或(OR)xy 全为 false 时,计算结果为 false,否则为 true1>2|3>5false
x ^ y逻辑异或(XOR)xy 其中一个是 true ,另一个是 false 时,计算结果为 true,否则为 false1>2|3>2true
x && y条件与(AND)xy 全为 true 时,计算结果为 true,否则为 false。2>1&&3<4true
x || y条件或(OR)xy 全为 false 时,计算结果为 false,否则为 true。2<1||3>4false

8.位运算符

运算符名称例子结果
~x按位非(NOT)~ 4-5
x & y按位与(AND)4 & 54
x | y按位或(OR)4 | 55
x ^ y按位异或(XOR)4 ^ 51
x << y有符号左移位9 << 236
x >> y有符号右移位8 >> 14
x >>> y无符号右移位8 >>> 14

9.三元条件运算符

运算符名称描述
x ? y : z三元条件运算符如果 x 为 true,则计算 y;如果 x 为 false,则计算 z。

10.类型运算符

运算符名称描述
E instanceof T类型比较运算符如果 E 表达式的类型与 T 类型兼容,则返回 true ,否则,返回 false
E instanceof T a 模式匹配运算符如果 E 表达式的类型与 T 类型兼容,则返回 true 并将 E 表达式的值赋值给变量 a;否则,返回 false
(T)E强制转换(cast)表达式将表达式 E 的结果显式转换为类型 T
(T & I)E强制转换(cast)表达式将表达式 E 的结果显式转换为类型列表 T & I

11.Lambda运算符

运算符名称描述
->箭头运算符或Lambda运算符(参数列表) -> { Lambda表达式主体; }
->箭头运算符用于 switch 表达式

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/java/javalang/2471.html

(1)
上一篇 2020年11月2日 00:45
下一篇 2020年11月3日 21:25

相关推荐

  • 2.1Java语言的模块(Module)和包(Package)

    模块(Module) 模块是包的集合。 包(Package) 包是类的集合。 导入包使用import语句,位于package语句之后,类定义之前。 静态导入允许导入静态变量、静态常量、静态方法。

    Java语言教程 2021年1月1日
    02.2K0
  • 2.7Java引用类型之记录(Record)

    1.记录声明 声明记录类的语法与声明类的语法相似,可使用位置参数或属性语法声明记录类型。 记录类型的发明主要是为创建自定义不可变类型提供简洁的语法。 2.继承 记录类支持继承,与表达继承关系的类语法相同。记录与类之间不可相互继承。 3.创建对象 记录类的对象创建方式与类相似。

    Java语言教程 2021年1月7日
    01740
  • 1.4Java语言的类型(Type)

    Java是一种强类型静态语言,分为 原始类型(primitive type) 和 引用类型(reference type)。 不可变类型(Immutable):原始类型或引用类型的数据被初始化赋值后是不可变的,如果被修改需在新内存地址保存新值,旧值所在的旧内存地址随后会被垃圾回收。 可变类型(Mutable):原始类型…

    Java语言教程 2020年11月4日
    01.8K0

发表回复

登录后才能评论