博客
关于我
JAVA运算优先级
阅读量:348 次
发布时间:2019-03-04

本文共 1143 字,大约阅读时间需要 3 分钟。

Java运算符优先级是编程中理解表达式执行顺序的关键。每当表达式中包含多个运算符时,运算符的优先级决定了运算顺序,从而影响最终结果。掌握运算符的优先级可以帮助开发者更好地组织代码,避免逻辑错误。

运算符可以根据优先级分为几大类:

  • 后缀运算符:包括括号 ()、数组索引 []、对象引用 . 和类型转换 ()。这些运算符通常按从左到右的顺序执行。
  • 一元运算符:包括加法 +、减法 -、逻辑非 !、否定 !~ 等。这些运算符通常从右到左执行。
  • 乘法运算符:包括乘法 *、除法 /、模运算 %等。这些运算符按从左到右的顺序执行。
  • 加法运算符:包括加法 + 和减法 -。这些运算符同样按从左到右的顺序执行。
  • 移位运算符:包括右移 >>、右移双 >>> 和左移 <<、左移双 <<<。这些运算符按从左到右的顺序执行。
  • 关系运算符:包括大于 >>、小于 <、等于 = 等。这些运算符按从左到右的顺序执行。
  • 相等性运算符:包括等于 == 和不等于 !=。这些运算符同样按从左到右的顺序执行。
  • 按位运算符:包括按位与 &、按位异或 ^ 和按位或 |。这些运算符按从左到右的顺序执行。
  • 逻辑与运算符:包括逻辑与 &&,这些运算符按从左到右的顺序执行。
  • 逻辑或运算符:包括逻辑或 ||,这些运算符同样按从左到右的顺序执行。
  • 条件运算符:包括条件 ?,这些运算符按从右到左的顺序执行。
  • 赋值运算符:包括多种赋值运算符,如加法赋值 +=、减法赋值 -= 等,这些运算符按从右到左的顺序执行。
  • 逗号运算符:包括逗号 ,,,这些运算符按从左到右的顺序执行。
  • 在实际编码中,运算符的优先级决定了表达式的执行顺序。例如,表达式 x = 7 + 3 * 2; 中,乘法运算符的优先级高于加法运算符,因此会先计算 3 * 2,然后将结果加到 7 中,得到 x = 13。

    需要注意的是,运算符的优先级并不是唯一的规则。小括号 () 是控制运算顺序的最高优先级工具。合理使用小括号可以清晰地定义运算顺序,避免因运算符优先级不明确而导致的歧义性问题。

    例如,表达式 a || b && c 中,逻辑或运算符的优先级低于逻辑与运算符,因此会先计算 b && c 再与 a 进行逻辑或运算。这样可以避免误解为 (a || b) && c。

    在编写代码时,建议遵循以下原则:

    • 先括号后运算符:使用小括号明确运算顺序。
    • 先一元运算符后乘法:根据运算符的优先级规则,先执行乘法、除法、移位、按位运算等运算符。
    • 谨慎使用逻辑运算符:在逻辑运算符中,记得逻辑与运算符的优先级高于逻辑或运算符,并且逻辑非运算符的优先级最高。

    通过理解和遵循运算符的优先级规则,开发者可以更高效地组织代码,避免运算顺序导致的逻辑错误,提升代码的可读性和可维护性。

    转载地址:http://pzzr.baihongyu.com/

    你可能感兴趣的文章
    Python:这两个 import 语句有什么区别?
    查看>>
    Python:通过串口从 Velleman k8090 读取数据
    查看>>
    python:遍历具有列表值的字典
    查看>>
    Python:降低精度 pandas 时间戳数据帧
    查看>>
    python:非阻塞子进程,检查标准输出
    查看>>
    PythonABC多重继承
    查看>>
    Pythonargparse中的多个参数
    查看>>
    Python关于 *args 和 **kwargs 参数的详解(全)
    查看>>
    Pythonfrozenset散列算法/实现
    查看>>
    PythonGTK+3:通过单击列对树视图进行排序
    查看>>
    pythonnumpy生成二进制流_python/numpy生成的二进制文件,由C读取
    查看>>
    pythonsign函数_对python函数签名的方法详解 用python怎么写一个自签名证书
    查看>>
    PythonStudy
    查看>>
    Pythons__IMPORT__未按预期工作
    查看>>
    Pythont通过request以及BeautifulSoup爬取几千条情话
    查看>>
    pythonweb django的学习
    查看>>
    pythonweb网站开发基础django安装
    查看>>
    pythonweb网站开发基础创建django项目
    查看>>
    pythonweb网站开发基础添加应用
    查看>>
    Python_015 多线程
    查看>>