news 2026/5/12 18:14:32

3.Java运算符大揭秘:从算术到逻辑,一篇搞懂所有重点!

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
3.Java运算符大揭秘:从算术到逻辑,一篇搞懂所有重点!

目录

一、什么是运算符?

二、算术运算符

1. 基本四则运算:+ - * / %

2. 增量运算符:+= -= *= %=

3. 自增/自减:++ --

三、关系运算符:判断“大小/相等”

四、逻辑运算符:判断“真假组合”

1. 逻辑与 &&

2. 逻辑或 ||

3. 逻辑非 !

4. 短路求值(&&和||的特性)

五、类型提升:运算时的“自动升级”

总结:运算符核心要点速记


作为刚入门Java的小白,最近啃完了运算符这块的知识点,结合笔记,整理出这篇博客。帮你快速理清Java运算符的核心内容~

一、什么是运算符?

计算机最基本用途之一是执行数学运算,比如:

int a = 10; int b = 20; a + b; // 加法 a < b; // 比较

上述+<就是运算符:对操作数进行操作的符号,不同运算符含义不同。

Java运算符可分为:算术运算符关系运算符逻辑运算符位运算符移位运算符条件运算符等。

二、算术运算符

算术运算符是做数学运算的基础,重点看以下内容:

1. 基本四则运算:+ - * / %

代码示例:

int a = 20; int b = 10; System.out.println(a + b); // 30 System.out.println(a - b); // 10 System.out.println(a * b); // 200 System.out.println(a / b); // 2(int/int结果还是int,向下取整) System.out.println(a % b); // 0(取模,即除法的余数)

⚠️ 注意:

  • 都是二元运算符,必须有两个操作数(左右各一个)。

  • int / int结果还是int,会向下取整(比如3/2=1,不是1.5)。

  • 除法/取模时,右操作数不能为0(否则报错:ArithmeticException: / by zero)。

2. 增量运算符:+= -= *= %=

这类运算符操作完成后,会把结果赋值给左操作数。代码示例:

int a = 1; a += 2; // 相当于 a = a + 2 → a=3 System.out.println(a); // 3 a -= 1; // 相当于 a = a - 1 → a=2 System.out.println(a); // 2 a *= 3; // 相当于 a = a * 3 → a=6 System.out.println(a); // 6 a /= 3; // 相当于 a = a / 3 → a=2 System.out.println(a); // 2 a %= 3; // 相当于 a = a % 3 → a=2 System.out.println(a); // 2

⚠️ 注意:

  • 增量运算符计算时,可以自动处理类型转换(不需要强制类型转换)。

  • 比如double a = 10.4; int b = 10; b += a;会报错(因为a是double,b是int),但b = b + a;也会报错,本质是类型不匹配。

int a = 3; int b = 2; // 在数学中应该是1.5 但是在Java中输出结果为1 会向下取整,即小数点之后全部舍弃掉了 System.out.println(a / b); // 如果要得到数学中的结果,可以使用如下方式 double d = a*1.0 / b; System.out.println(d);

3. 自增/自减:++ --

++给变量+1,--给变量-1。代码示例:

int a = 1; a++; // 后置++:先使用原值,表达式结束后+1 → 此时a=2 System.out.println(a++); // 输出2 // 比如: int a = 1; System.out.println(a++); // 输出1(先输出原值,再+1→a=2) System.out.println(a); // 输出2 ++a; // 前置++:先+1,再使用新值 → a=3 System.out.println(++a); // 输出3(先+1→a=3,再输出) System.out.println(a); // 输出3

⚠️ 注意:

  • 单独使用时,++aa++没区别。

  • 混合使用时:前置++​ 先+1,再使用新值;后置++​ 先使用原值,表达式结束后再+1。

  • 只有变量能用自增/自减,常量不行(因为常量不能被修改)。

三、关系运算符:判断“大小/相等”

关系运算符有6个:== != < > <= >=,结果是truefalse。代码示例:

public class Test { public static void main(String[] args) { int a = 10; //int b = ++a; //先++ 后使用 ++a b = a //b = 11 int b = a++; //先使用 后++ b = a a++ //b = 10 System.out.println(a);//11 System.out.println(b);//10 } }

⚠️ 注意:

  • Java中==表示“相等”,和数学中的“=”不同(数学里=是赋值,==是比较)。

  • 多次判断不能连着写(比如3 < a < 5是错误的,Java不支持这种数学式写法)。

四、逻辑运算符:判断“真假组合”

逻辑运算符用于组合多个布尔表达式,结果也是truefalse。重点看&&(短路与)、||(短路或)、!(逻辑非)。

1. 逻辑与&&

  • 语法:表达式1 && 表达式2

  • 要求:两个表达式都必须是布尔表达式

  • 结果:只有当两个表达式都为true时,结果才为true;否则为false

  • 短路特性:只要第一个表达式为false,就不会执行第二个表达式(因为结果已经确定是false了)。

代码示例:

int a = 1; int b = 2; System.out.println(a == 1 && b == 2); // 左真且右真 → 真 System.out.println(a == 1 && b > 100); // 左真但右假 → 假 System.out.println(a > 100 && b == 2); // 左假 → 直接假(短路,不执行右边)

2. 逻辑或||

  • 语法:表达式1 || 表达式2

  • 要求:两个表达式都必须是布尔表达式

  • 结果:只要有一个表达式为true,结果就为true;否则为false

  • 短路特性:只要第一个表达式为true,就不会执行第二个表达式(因为结果已经确定是true了)。

代码示例:

int a = 1; int b = 2; System.out.println(a == 1 || b == 2); // 左真 → 真(短路,不执行右边) System.out.println(a == 1 || b > 100); // 左真 → 真(短路,不执行右边) System.out.println(a > 100 || b == 2); // 左假但右真 → 真 System.out.println(a > 100 || b > 100); // 左假且右假 → 假

3. 逻辑非!

  • 语法:!表达式

  • 作用:真变假,假变真

  • 要求:表达式必须是布尔表达式

代码示例:

int a = 10; System.out.println(!a); // 错误?不,a是int,不能直接!。应该是: boolean flag = true; System.out.println(!flag); // 假(真变假) flag = false; System.out.println(!flag); // 真(假变真)

4. 短路求值(&&和||的特性)

  • &&:左侧为false,结果一定false,无需计算右侧。

  • ||:左侧为true,结果一定true,无需计算右侧。

代码示例(验证短路):

System.out.println(10 > 20 && 10 / 0 == 0); // 打印false(左侧false,短路,不执行10/0) System.out.println(10 < 20 || 10 / 0 == 0); // 打印true(左侧true,短路,不执行10/0) // 对比非短路的&和|(&和|不支持短路,会执行两边) System.out.println(10 > 20 & 10 / 0 == 0); // 抛出异常(执行了10/0) System.out.println(10 < 20 | 10 / 0 == 0); // 抛出异常(执行了10/0)

五、类型提升:运算时的“自动升级”

不同类型的数据运算时,Java会自动把范围小的类型提升为范围大的类型

示例:

System.out.println(1 + 0.2); // 1是int,0.2是double → int被提升为double → 输出1.2

总结:运算符核心要点速记

  • 算术运算符:+ - * / %是基础,+= -= *= %=方便赋值,++ --要注意前置/后置。

  • 关系运算符:== != < > <= >=结果是布尔值,别和数学符号混淆。

  • 逻辑运算符:&&(短路与)、||(短路或)、!(逻辑非),注意短路特性。

  • 类型提升:运算时小类型自动转大类型,避免类型不匹配错误。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/12 18:14:29

VS Code语音唤醒扩展Wake Word:本地化关键词检测提升开发效率

1. 项目概述&#xff1a;用声音唤醒你的代码编辑器 作为一名在开发一线摸爬滚打了十多年的程序员&#xff0c;我对手速和快捷键的依赖几乎到了“人键合一”的地步。但最近&#xff0c;我的工作流里加入了一个新伙伴——声音。不是那种对着电脑自言自语&#xff0c;而是真正用语…

作者头像 李华
网站建设 2026/5/12 18:12:09

通过 Taotoken CLI 工具一键配置多开发环境下的模型终端

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 通过 Taotoken CLI 工具一键配置多开发环境下的模型终端 在开发过程中&#xff0c;我们经常需要在不同的工具和项目里接入大模型服…

作者头像 李华
网站建设 2026/5/12 18:07:25

从苹果产品开发看硬件工程:超长周期、并行开发与供应链管理

1. 从一则“口误”看苹果的产品开发哲学与供应链管理2013年4月&#xff0c;一则来自《旧金山审查员报》的报道在科技圈激起了不小的涟漪。报道称&#xff0c;苹果公司的政府联络官迈克尔福克斯在与旧金山地区检察官乔治加斯康讨论智能手机“远程销毁开关”以遏制盗窃问题时&…

作者头像 李华
网站建设 2026/5/12 18:07:24

从CD到5G:Reed-Solomon码如何默默守护你的数字生活

从CD到5G&#xff1a;Reed-Solomon码如何默默守护你的数字生活 当你用一张划伤的CD听完一整首《加州旅馆》而没有跳音&#xff0c;或者在超市扫描一个缺角的二维码成功付款时&#xff0c;背后都藏着一项诞生于1960年代的数学魔法——Reed-Solomon码&#xff08;简称RS码&#x…

作者头像 李华
网站建设 2026/5/12 18:06:08

ENVI/IDL官方博客打不开?别慌!这5个替代资源站让你继续学遥感

ENVI/IDL官方博客无法访问&#xff1f;这7个专业学习路径助你高效掌握遥感技术 当熟悉的ENVI/IDL技术博客突然无法访问时&#xff0c;不少遥感从业者和学习者会感到手足无措。但技术学习的道路从来不止一条&#xff0c;本文将为你系统梳理从官方资源到社区智慧的完整替代方案&a…

作者头像 李华