当前位置:

首页 > 编程开发 > java的算数运算符有哪些及如何使用

java的算数运算符有哪些及如何使用

算数运算符算术运算符用在数学表达式中,它们的作用和在数学中的作用一样。下表列出了所有的算术运算符。表格中的实例假设整数变量A的值为10,变量B的值为20:操作符描述+加法-相加运算符两侧的值-减法-左操作数减去右操作数*乘法-相乘操作符两侧的值/除法-左操作数除以右操作数%取余-左操作数除以右操作数的余数++自增:操作数的值增加1--自减:操作数的值减少1例子publicstaticvoidmain(String[]args){inta=10;intb=20;intc=25;intd=25;System.

本文目录

      算数运算符

      算术运算符用在数学表达式中,它们的作用和在数学中的作用一样。下表列出了所有的算术运算符。

      表格中的实例假设整数变量A的值为10,变量B的值为20:

      操作符描述
      +加法 - 相加运算符两侧的值
      -减法 - 左操作数减去右操作数
      *乘法 - 相乘操作符两侧的值
      /除法 - 左操作数除以右操作数
      %取余 - 左操作数除以右操作数的余数
      ++自增: 操作数的值增加1
      - -自减: 操作数的值减少1

      例子

      public static void main(String[] args) {
           int a = 10;
           int b = 20;
           int c = 25;
           int d = 25;
           System.out.println("a + b = " + (a + b) );
           System.out.println("a - b = " + (a - b) );
           System.out.println("a * b = " + (a * b) );
           System.out.println("b / a = " + (b / a) );
           System.out.println("b % a = " + (b % a) );
           System.out.println("c % a = " + (c % a) );
           System.out.println("a++   = " +  (a++) );
           System.out.println("a--   = " +  (a--) );
           // 查看  d++ 与 ++d 的不同
           System.out.println("d++   = " +  (d++) );
           System.out.println("++d   = " +  (++d) );
        }
        运行结果
        "C:\Program Files\Java\jdk1.8.0_192\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2020.1.3\lib\idea_rt.jar=51196:C:\Program Files\JetBrains\IntelliJ IDEA 2020.1.3\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_192\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\rt.jar;D:\JavaProject\20210402\out\production\20210402" Test
      a + b = 30
      a - b = -10
      a * b = 200
      b / a = 2
      b % a = 0
      c % a = 5
      a++   = 10
      a--   = 11
      d++   = 25
      ++d   = 27
      Process finished with exit code 0

      关系运算符

      运算符描述
      ==检查如果两个操作数的值是否相等,如果相等则条件为真。
      !=检查如果两个操作数的值是否相等,如果值不相等则条件为真。
      >检查左操作数的值是否大于右操作数的值,如果是那么条件为真。
      <检查左操作数的值是否小于右操作数的值,如果是那么条件为真
      >=检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真。
      <=检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真。

      例子

      public static void main(String[] args) {
           int a = 10;
           int b = 20;
           System.out.println("a == b = " + (a == b) );
           System.out.println("a != b = " + (a != b) );
           System.out.println("a > b = " + (a > b) );
           System.out.println("a < b = " + (a < b) );
           System.out.println("b >= a = " + (b >= a) );
           System.out.println("b <= a = " + (b <= a) );
        }
        运行结果
      "C:\Program Files\Java\jdk1.8.0_192\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2020.1.3\lib\idea_rt.jar=51452:C:\Program Files\JetBrains\IntelliJ IDEA 2020.1.3\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_192\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\rt.jar;D:\JavaProject\20210402\out\production\20210402" Test
      a == b = false
      a != b = true
      a > b = false
      a < b = true
      b >= a = true
      b <= a = false
      Process finished with exit code 0

      逻辑运算符

      操作符描述
      &&称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真。
      ll称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真。
      !称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false

      例子

       public static void main(String[] args) {
           boolean a = true;
           boolean b = false;
           System.out.println("a && b = " + (a&&b));
           System.out.println("a || b = " + (a||b) );
           System.out.println("!(a && b) = " + !(a && b));
        }

      java的算数运算符有哪些及如何使用

      赋值运算符

      赋值运算符描述例子
      =简单的赋值运算符,将右操作数的值赋给左侧操作数C = A + B将把A + B得到的值赋给C
      + =加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数C + = A等价于C = C + A
      - =减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数C - = A等价于C = C - A
      * =乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数C * = A等价于C = C * A
      / =除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数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
      l=按位或赋值操作符C l = 2等价于C = C
        public static void main(String[] args) {
              int a = 10;
              int b = 20;
              int c = 0;
              c = a + b;
              System.out.println("c = a + b = " + c );
              c += a ;
              System.out.println("c += a  = " + c );
              c -= a ;
              System.out.println("c -= a = " + c );
              c *= a ;
              System.out.println("c *= a = " + c );
              a = 10;
              c = 15;
              c /= a ;
              System.out.println("c /= a = " + c );
              a = 10;
              c = 15;
              c %= a ;
              System.out.println("c %= a  = " + c );
              c <<= 2 ;
              System.out.println("c <<= 2 = " + c );
              c >>= 2 ;
              System.out.println("c >>= 2 = " + c );
              c >>= 2 ;
              System.out.println("c >>= 2 = " + c );
              c &= a ;
              System.out.println("c &= a  = " + c );
              c ^= a ;
              System.out.println("c ^= a   = " + c );
              c |= a ;
              System.out.println("c |= a   = " + c );
          }
      运行结果为:
      c = a + b = 30
      c += a  = 40
      c -= a = 30
      c *= a = 300
      c /= a = 1
      c %= a  = 5
      c <<= 2 = 20
      c >>= 2 = 5
      c >>= 2 = 1
      c &= a  = 0
      c ^= a   = 10
      c |= a   = 10
      Process finished with exit code 0

      Java运算符优先级

      类别操作关联性
      后缀() [] . (点操作符)左到右
      一元expr++ expr–从左到右
      一元++expr --expr + - ~ !从右到左
      乘性* /%左到右
      加性+ -左到右
      移位>> >>> <<左到右
      关系> >= < <=左到右
      相等== !=左到右
      按位与&左到右
      按位异或^左到右
      按位或l左到右
      逻辑与&&左到右
      逻辑或ll左到右
      条件?:从右到左
      赋值= + = - = * = / =%= >> = << =&= ^ = l=从右到左
      逗号,左到右
      本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
      作者最新文章
      编程开发 Java
      相关文章 更多
      Java单元测试入门:使用JUnit 5编写第一个测试用例
      Java单元测试入门:使用JUnit 5编写第一个测试用例

      面向初学者的JUnit 5实用入门指南。从测试概念、Maven依赖配置,到手把手编写首个单元测试用例及断言验证,助你掌握Java单元测试的核心流程。

      Java变量未初始化报错解析:局部变量与成员变量默认值差异
      Java变量未初始化报错解析:局部变量与成员变量默认值差异

      深入解析Java中局部变量未初始化编译报错与成员变量自动赋予默认值的机制差异,涵盖JVM内存分配、编译期确定性赋值检查与实际排查修复方案。

      Java获取当前时间并格式化输出:DateTimeFormatter与SimpleDateFormat
      Java获取当前时间并格式化输出:DateTimeFormatter与SimpleDateFormat

      详细讲解在Java中获取当前系统时间并进行格式化输出的两种核心方案:基于Java 8全新日期时间API的DateTimeFormatter与传统遗留的SimpleDateFormat,包含完整代码示例、线程安全机制对比及生产选型建议。

      Java中final与static final常量的定义及初始化规则
      Java中final与static final常量的定义及初始化规则

      深入解析Java中final变量与static final常量的定义、内存语义、初始化时机及合法赋值路径,涵盖编译期常量优化与实战避坑指南。

      Java抽象方法与接口方法的区别及选型建议
      Java抽象方法与接口方法的区别及选型建议

      深入对比Java中抽象类抽象方法与接口方法的语法演进、设计意图及运行期差异,并提供清晰的架构选型决策流程与实战范例。

      Java实现HTTP请求与JSON解析的完整代码示例
      Java实现HTTP请求与JSON解析的完整代码示例

      本文提供Java标准库HttpClient发起HTTP GET/POST请求并结合Jackson进行JSON数据反序列化与序列化的完整代码示例与工程实践指南。

      Java递归出现StackOverflowError的原因分析及栈空间优化方案
      Java递归出现StackOverflowError的原因分析及栈空间优化方案

      详细分析Java递归调用出现StackOverflowError的原因,结合代码说明线程栈、栈帧和递归深度之间的关系,并介绍终止条件排查、迭代改写、减少栈帧开销以及通过-Xss调整JVM栈空间的方法。

      Java空指针异常(NPE)的代码排查与修复实例
      Java空指针异常(NPE)的代码排查与修复实例

      针对Java中常见的NullPointerException(NPE),本文从堆栈日志定位、典型代码触发场景、具体修复代码对比到防御体系进行系统讲解,提供实用且易上手的排查与修复方案。

      selenium上传文件教程本地文件路径设置方法
      selenium上传文件教程本地文件路径设置方法

      深入解析Selenium处理文件上传的技术细节,涵盖标准HTML控件的路径直接注入法与非标准控件的系统级模拟方案,提供Windows与Linux环境下的路径设置最佳实践及常见异常排查。

      大数据开发语言选型:Java对比Scala与Python的优缺点及适用场景
      大数据开发语言选型:Java对比Scala与Python的优缺点及适用场景

      针对大数据工程场景,系统对比Java、Scala与Python在执行性能、生态结合、开发效率和维护成本上的核心差异,给出清晰的架构选型依据与落地方案。

      查看更多
      精品专题 更多
      装机必备
      装机必备

      正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

      Windows
      Windows

      正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

      PDF教程
      PDF教程

      正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

      Mac软件 更多
      讯飞智作 网页版
      讯飞智作 网页版
      Windows/ macOS/ Linux

      讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

      火山引擎 网页版
      火山引擎 网页版
      Windows/ macOS/ Linux

      火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

      Aperty macOS版
      Aperty macOS版
      macOS

      Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

      WINDOWS 更多
      讯飞智作 网页版
      讯飞智作 网页版
      Windows/ macOS/ Linux

      讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

      火山引擎 网页版
      火山引擎 网页版
      Windows/ macOS/ Linux

      火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

      PixTV 网页版
      PixTV 网页版
      Windows

      PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。