Java运算符基础知识

运算符是Java编程中实现数据运算、逻辑判断的核心语法元素,掌握各类运算符的规则和特性,是编写正确、高效代码的基础。以下梳理Java中常用运算符的核心知识点:

一、算术运算符

算术运算符用于基本的数值运算,核心包括+(加)、-(减)、*(乘)、/(除)、%(取余),使用时需注意以下规则:

  1. 除法运算/不能以0作为除数 ,否则会抛出ArithmeticException(算术异常,属于非受查异常);
  2. 取余运算%
    • 结果符号由被除数(第一个数) 决定,与除数符号无关:
      • 7 % 3 = 17 % -3 = 1(被除数7为正,结果为正)
      • -7 % 3 = -1-7 % -3 = -1(被除数-7为负,结果为负)
    • 支持小数取余,例如7.5 % 2.0 = 1.5
  3. 自增++/自减--
    • 分为前置(++a/--a)和后置(a++/a--),前置先改变变量值再参与运算,后置先参与运算再改变变量值;
    • 特殊场景:a = a++ 执行后,a的值不会变化(底层因局部变量表与操作数栈的取值规则导致,赋值时优先使用运算前的原始值)。

二、比较运算符

比较运算符(><>=<===!=)用于判断两个数值的大小/相等关系,核心特性:

  • 运算结果仅为truefalse(布尔类型),不会返回0或1(区别于C/C++等语言)。

三、位运算符

位运算符针对数值的二进制位进行操作,适用于底层运算优化:

  1. 按位与&:对应二进制位全为1时结果为1,否则为0;
  2. 按位或|:对应二进制位有1时结果为1,否则为0;
  3. 按位异或^:对应二进制位不同时结果为1,相同时为0(可理解为"找不同");
  4. 按位取反~:对二进制位逐位取反(~a = -a - 1)。

四、逻辑运算符

逻辑运算符用于布尔值的逻辑判断,核心包括&&(短路与)、||(短路或)、!(逻辑非):

  1. 短路求值特性:
    • &&:左侧为false时,右侧表达式直接跳过执行;
    • ||:左侧为true时,右侧表达式直接跳过执行;
  2. 注意区分:&|若用于布尔值判断,不支持短路求值(无论左侧结果如何,右侧都会执行)。

五、移位运算符(了解)

移位运算符针对二进制位进行位移操作,可简化乘除运算:

  1. 左移<<:二进制位向左移动,右侧补0,效果等价于"乘以2的n次方"(a << n = a * 2ⁿ);
  2. 右移>>:二进制位向右移动,左侧补符号位(正数补0,负数补1),效果等价于"除以2的n次方"(a >> n = a / 2ⁿ);
  3. 无符号右移>>>:二进制位向右移动,左侧始终补0(仅对正数有效,负数移位后会变为正数)。

六、三目运算符

三目运算符(条件 ? 表达式1 : 表达式2)是简化的分支判断语法:

  • 执行逻辑:条件为true时执行表达式1,为false时执行表达式2;
  • 结果需赋值或使用(不能单独作为语句执行),例如int max = a > b ? a : b

总结

  1. Java算术运算符中,取余%结果符号由被除数决定,除法不可除以0;
  2. 逻辑运算符&&/||支持短路求值,&/|(布尔场景)不支持;
  3. 移位运算符可简化乘除运算,三目运算符是分支判断的简洁写法。
相关推荐
HAPPY酷1 小时前
C++中类常见的函数分类
java·开发语言·c++
小钻风33661 小时前
JWT初识
java·jwt·base64url
weixin_449173652 小时前
java使用poi保存表格和图片到word文件中
java·开发语言·word
好家伙VCC2 小时前
# 光计算驱动的编程范式革新:用Python实现光子神经网络模拟器在传统电子计算架构逼近物理极限的今天,**光计算**正
java·开发语言·python·神经网络
梵刹古音2 小时前
【C++】 虚指针(vptr)与虚函数表(vtable)
开发语言·c++
yqj2342 小时前
【无标题】
java·开发语言
游乐码2 小时前
c#结构体
开发语言·c#
Coder_Boy_2 小时前
JDK17_JDK21并发编程:资深架构常用模式+最佳实践
java·开发语言·spring boot·架构