JAVA基础04

一.Java的各种运算符和其对应的表达式

1. 算术运算符(Arithmetic Operators)

这些运算符用于执行基本的数学运算。

运算符描述示例结果
+加法a + bab的和
-减法a - ba减去b
*乘法a * bab的积
/除法a / ba除以b(如果b为0,会抛出异常)
%取余a % ba除以b的余数

2. 关系运算符(Relational Operators)

用于比较两个值,返回布尔值(truefalse)。

运算符描述示例结果
==等于a == b如果a等于b,返回true,否则返回false
!=不等于a != b如果a不等于b,返回true,否则返回false
>大于a > b如果a大于b,返回true,否则返回false
<小于a < b如果a小于b,返回true,否则返回false
>=大于等于a >= b如果a大于或等于b,返回true,否则返回false
<=小于等于a <= b如果a小于或等于b,返回true,否则返回false

3. 逻辑运算符(Logical Operators)

用于连接多个条件或表达式。

运算符描述示例结果
&&逻辑与(AND)a > 10 && b < 5如果a > 10b < 5都为true,返回true,否则返回false
|||逻辑或(OR)
!逻辑非(NOT)!a如果atrue,返回false,如果afalse,返回true

4. 赋值运算符(Assignment Operators)

用于给变量赋值。

运算符描述示例结果
=赋值a = 55赋值给a
+=加法赋值a += 3等效于a = a + 3
-=减法赋值a -= 2等效于a = a - 2
*=乘法赋值a *= 4等效于a = a * 4
/=除法赋值a /= 2等效于a = a / 2
%=取余赋值a %= 3等效于a = a % 3

5. 自增和自减运算符(Increment and Decrement Operators)

用于增加或减少一个变量的值。

运算符描述示例结果
++自增(前/后)a++++aa的值增加1,前后操作的差异在于:a++返回旧值,++a返回新值
--自减(前/后)a----aa的值减少1,前后操作的差异在于:a--返回旧值,--a返回新值

6. 位运算符(Bitwise Operators)

用于按位处理整数类型的数据。

运算符描述示例结果
&位与a & b按位与操作
``位或`a
^位异或a ^ b按位异或操作
~位非~a按位取反
<<左移a << 2a的二进制位向左移动2位
>>右移a >> 2a的二进制位向右移动2位
>>>无符号右移a >>> 2a的二进制位无符号地向右移动2位

7. 三目运算符(Ternary Operator)

是一种简化的条件运算符,格式为:条件 ? 表达式1 : 表达式2

运算符描述示例结果
? :条件运算符a > 10 ? "大于10" : "小于等于10"如果a > 10true,结果为"大于10",否则为"小于等于10"

8. 实例化运算符(Instanceof Operator)

用于测试一个对象是否是某个类的实例。

运算符描述示例结果
instanceof实例化测试a instanceof String如果aString类型的实例,返回true,否则返回false

9. 空值合并运算符(Null Coalescing Operator)

用于简化空值判断。

运算符描述示例结果
??空值合并a ?? b如果anull,返回b,否则返回a

 二.运算符的优先级

在Java中,运算符的优先级决定了在没有括号的情况下,哪些运算符先执行。了解运算符的优先级非常重要,它可以帮助你控制表达式的计算顺序。以下是Java中常见运算符的优先级,从高到低排序:

1. 括号运算符

  • () (圆括号) — 用于改变运算顺序
  • 优先级: 最高

2. 后缀自增和自减

  • a++, a-- — 后缀自增和自减
  • 优先级: 高

3. 一元运算符

  • +(正号), -(负号), ++(前缀自增), --(前缀自减), ~(按位取反), !(逻辑非)
  • 优先级: 高

4. 乘法、除法和取余

  • *, /, % — 乘法、除法、取余
  • 优先级: 中等高

5. 加法和减法

  • +, - — 加法、减法
  • 优先级: 中等

6. 关系运算符

  • ==, !=, >, <, >=, <= — 比较运算符
  • 优先级: 中等

7. 逻辑与

  • && — 逻辑与
  • 优先级: 中

8. 逻辑或

  • || — 逻辑或
  • 优先级: 较低

9. 赋值运算符

  • =, +=, -=, *=, /=, %= — 赋值运算符
  • 优先级: 较低

10. 条件运算符(三目运算符)

  • ? : — 三目运算符
  • 优先级: 较低

11. 按位运算符

  • &, |, ^ — 按位与、按位或、按位异或
  • 优先级: 低

12. 位移运算符

  • <<, >>, >>> — 左移、右移、无符号右移
  • 优先级: 较低

13. 逻辑非运算符

  • ! — 逻辑非
  • 优先级: 较高

14. instanceof

  • instanceof — 判断对象是否是某个类的实例
  • 优先级: 较低

15. 赋值运算符

  • =, +=, -=, *=, /=, %= — 赋值运算符
  • 优先级: 最低

优先级表(从高到低)

优先级运算符示例
1()(a + b) * c
2++(前缀)、--(前缀)、+(正号)、-(负号)、~!!a, ++a, -a
3*, /, %a * b, a / b, a % b
4+, -a + b, a - b
5==, !=, >, <, >=, <=a > b, a == b
6&&a && b
7`
8? :a > b ? x : y
9&a & b
10^a ^ b
11``
12<<, >>, >>>a << 2, a >> 2
13= , +=, -=, *=, /=, %=a = b, a += b
14instanceofa instanceof String

运算顺序提示:

  • 括号总是优先,改变表达式的默认顺序。
  • 自增、自减(前缀)优先级较高,先执行。
  • 乘法、除法、取余的优先级高于加法、减法。
  • 关系运算符(如==!=)优先级高于逻辑运算符(如&&||)。
  • 赋值=+=等)优先级最低,最后执行。

理解运算符优先级对于正确编写复杂的表达式至关重要。如果不确定优先级,可以使用括号来明确运算顺序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值