当前位置: 首页 > article >正文

Java 编程中的运算符探寻

Java 编程中的运算符探寻Java 运算符是表达式计算的核心掌握它们能让你写出高效、清晰的代码避免优先级陷阱。本文从基础到进阶带你全面探寻 Java 运算符基于 Java 21/23 最新特性2026 年仍适用。1. 运算符分类总览Java 运算符大致分为以下几类类别运算符示例作用说明算术运算符 - * / %加减乘除取余一元运算符 - -- ! ~正负、自增自减、逻辑非、按位非赋值运算符 - * / % ^ 关系比较运算符 ! instanceof比较大小、相等、类型检查逻辑运算符位运算符^ ~ 条件三元运算符? :条件表达式其他. [] () - ::成员访问、数组、方法引用等注意Java不支持运算符重载C 支持。对 String 是特殊处理拼接不是重载。2. 运算符优先级表核心强烈建议收藏优先级从高到低数字越小优先级越高同一优先级按结合性左结合或右结合计算。括号()永远最高。优先级运算符结合性说明1() [] .方法调用、数组、成员访问左→右最高2 --后缀左→右后自增自减3 -- - ! ~前缀右←左前自增自减、正负、逻辑非、按位非4* / %左→右乘除取余5 -左→右加减或字符串拼接6 左→右移位运算7 instanceof左→右关系比较、类型判断8 !左→右相等性判断9左→右按位与也可用于布尔10^左→右按位异或11左→右12左→右逻辑与短路1314? :右←左三元条件15 - * / % ^ 右←左记忆技巧单目 算术 移位 关系 相等 位 逻辑 三元 赋值逻辑运算符优先级! ||位运算优先级高于逻辑运算符 经典陷阱示例intx5;inty10;booleanresultx3y10;// y 会执行吗短路后不执行System.out.println(y);// 输出 10短路3. 各类型运算符详解 代码示例3.1 算术运算符注意整数除法会截断小数5/2 2%对负数结果符号与被除数一致inta10,b3;System.out.println(a/b);// 3System.out.println(a%b);// 1System.out.println(a b);// 字符串拼接 10 33.2 自增自减 --前缀i先增后用后缀i先用后增inti5;System.out.println(i);// 6System.out.println(i);// 6输出后 i73.3 关系与instanceofinstanceof运行时类型检查Java 14 支持模式匹配ObjectobjHello;if(objinstanceofStrings){// Java 14 模式匹配System.out.println(s.toUpperCase());}3.4 逻辑运算符短路特性重要左边 false 则右边不执行||左边 true 则右边不执行booleanflagfalse;intcount0;if(flagcount0){}// count 不执行System.out.println(count);// 03.5 位运算符面试高频常用于权限控制、状态标记、算法优化。inta0b1010;// 10二进制intb0b1100;// 12System.out.println(ab);// 8 (1000)System.out.println(a|b);// 14 (1110)System.out.println(a^b);// 6 (0110)System.out.println(~a);// -11按位取反// 移位System.out.println(82);// 32左移乘4System.out.println(82);// 2System.out.println(-82);// 无符号右移高位补0实用技巧判断奇偶n 1 1交换两数不用临时变量a ^ b; b ^ a; a ^ b;3.6 三元运算符? :intmaxab?a:b;Stringstatusscore60?及格:不及格;3.7 赋值运算符复合赋值会自动进行类型转换byte b 1; b 1;合法4. 优先级与结合性常见坑点// 坑1位运算与逻辑混用booleanres5342;// 是位运算这里对 boolean 也有效但无短路// 推荐用 // 坑2赋值优先级最低intx,y,z;xyz5;// 右结合从右到左赋值建议复杂表达式一定要加括号提高可读性。5. Java 特殊运算符方法引用::Java 8list.forEach(System.out::println)Lambda-(x, y) - x y点.、数组[]、强制类型转换(Type)6. 最佳实践与注意事项始终用括号明确意图避免依赖优先级记忆。短路运算符 ||用于性能优化和防止空指针obj ! null obj.method()。位运算适合高性能场景如游戏、加密、权限。避免在生产代码中使用复杂位运算除非有清晰注释。Java 21记录类Record、模式匹配等让instanceof更强大。调试技巧用 IDE如 IntelliJ查看表达式求值顺序。总结口诀单目算术移位关关系相等位在先逻辑三元赋值后括号永远最优先掌握运算符后你的 Java 表达式会更优雅面试中“运算符优先级”题也能轻松应对。想继续深入吗回复以下任意内容我立刻带你探索“位运算 20 道实战题 权限控制示例”“运算符优先级 15 道经典面试题带解析”“Java 8 新特性中的运算符Lambda、::、模式匹配”“与 C/Python 运算符对比”“手写一个位运算实现权限管理系统小项目”“表达式求值完整练习”或者直接说“给我运算符综合练习题 10 道”。有疑问随时问我们把 Java 基础运算符彻底玩透

相关文章:

Java 编程中的运算符探寻

Java 编程中的运算符探寻 🚀 Java 运算符是表达式计算的核心,掌握它们能让你写出高效、清晰的代码,避免优先级陷阱。本文从基础到进阶,带你全面探寻 Java 运算符(基于 Java 21/23 最新特性,2026 年仍适用&…...

带你了解Java中的Mono接口

带你了解 Java 中的 Mono 接口 🚀 在 Java 响应式编程(Reactive Programming)中,Mono 是 Project Reactor 库的核心类型之一。它不是 Java 标准库(JDK)中的接口,而是 Reactor Core 提供的响应式…...

西门子s71200 总线控制V90伺服程序模板 ,包含plc程序,西门子触摸屏程序

西门子s71200 总线控制V90伺服程序模板 ,包含plc程序,西门子触摸屏程序,eplan电气图纸一份 有两种控制模式 1.基于111报文自己编写的PN通讯控制V90伺服程序。 2.基于工艺对象轴程序PROFIdrive配置的PN通讯控制V90伺服程序 程序可以直接复制使…...

单北斗GNSS形变监测是什么?主要有如何应用于大坝监测?

单北斗GNSS形变监测是一种利用卫星技术进行位移监测的高精度系统,广泛应用于大坝、桥梁等基础设施的安全监测。该系统通过接收GPS信号,能够实时获取目标点的三维位置变化,提供可靠的数据支持。在应用过程中,用户可以根据具体监测需…...

东华Oj101-103

101. 找出质数 作者: SunCiHai 时间限制: 10s 章节: 字符串 问题描述 明明学习数学已经有一段时间了。一次老师在课上讲了什么叫质数。质数就是大于等于2且只能被1和其本身整除的整数。明明觉得这很简单,以为这很容易掌握,于是就不多做练习。明的爸…...

2. LangGraph 安装指南

Langgraph 系统教程(基于 1.1.X 版本) LangGraph 综述 LangGraph 安装指南 LangGraph 快速入门 用 LangGraph 的思维构建智能体 LangGraph 工作流与智能体详解...

学Simulink——基于Simulink的通信延迟下多机轨迹一致性分析

目录 手把手教你学Simulink ——基于Simulink的通信延迟下多机轨迹一致性分析 一、问题背景 二、多智能体系统建模 1. 单智能体动力学(简化为一阶积分器) 2. 分布式一致性协议(无延迟) 3. 引入通信延迟 三、稳定性分析理论基础 四、Simulink 建模仿真步骤 第一步:…...

Qwen3-ASR-1.7B语音转写教程:音频切片策略+长语音分段识别最佳实践

Qwen3-ASR-1.7B语音转写教程:音频切片策略长语音分段识别最佳实践 你是不是也遇到过这种情况:一段长达一小时的会议录音,上传到语音识别工具后,要么识别速度慢得让人抓狂,要么中间卡住直接报错,最后只能得…...

3D Face HRN保姆级教程:如何用Pillow预处理图像提升人脸检测成功率

3D Face HRN保姆级教程:如何用Pillow预处理图像提升人脸检测成功率 1. 为什么图像预处理如此重要 当你使用3D Face HRN人脸重建模型时,可能会遇到这样的问题:上传了一张看起来不错的人脸照片,系统却提示"未检测到人脸"…...

YOLO12模型安全攻防:对抗样本鲁棒性测试与防御加固部署

YOLO12模型安全攻防:对抗样本鲁棒性测试与防御加固部署 1. 为什么需要关注YOLO12的安全问题 在实际应用中,目标检测模型面临着各种安全威胁。想象一下,如果自动驾驶系统中的YOLO12模型被恶意攻击,错误识别交通标志或行人&#x…...

Nunchaku FLUX.1 CustomV3体验报告:单卡RTX4090下的生成速度与画质实测

Nunchaku FLUX.1 CustomV3体验报告:单卡RTX4090下的生成速度与画质实测 最近在折腾各种文生图模型,总在速度和画质之间纠结。要么生成一张高清图要等好几分钟,要么速度上来了,但细节和光影又差点意思。直到我试用了CSDN星图镜像广…...

基于STM32的远程幅频特性测试系统设计

1. 项目概述远程幅频特性测试装置是面向高频模拟电路性能评估的专用测量系统,其核心目标是在1MHz–40MHz频段内,对被测放大器的增益-频率响应关系进行高精度、可复现、可远程呈现的量化表征。本项目严格遵循2017年全国大学生电子设计竞赛H题技术规范&…...

雪女-斗罗大陆-造相Z-Turbo与数据库课程设计结合:构建AI作品管理系统

雪女-斗罗大陆-造相Z-Turbo与数据库课程设计结合:构建AI作品管理系统 1. 引言:当AI创作遇上数据库设计 如果你是计算机专业的学生,是不是觉得数据库课程设计有点枯燥?无非就是设计几个表,写写增删改查的SQL语句&…...

Qwen3.5-35B-AWQ-4bit入门实战:30分钟搭建个人图文AI助手(含截图操作指引)

Qwen3.5-35B-AWQ-4bit入门实战:30分钟搭建个人图文AI助手(含截图操作指引) 1. 快速了解Qwen3.5-35B-AWQ-4bit Qwen3.5-35B-AWQ-4bit是一款专为视觉多模态理解设计的量化模型,特别适合需要图片分析和图文对话的应用场景。这个模型…...

造相-Z-Image-Turbo亚洲美女LoRA效果实测:LoRA启用前后对比惊艳

造相-Z-Image-Turbo亚洲美女LoRA效果实测:LoRA启用前后对比惊艳 1. 引言:当AI绘画遇上亚洲美学 如果你玩过AI绘画,肯定有过这样的体验:想生成一张符合亚洲审美的女性肖像,结果出来的要么是欧美面孔,要么是…...

Qwen3.5-35B-A3B-AWQ-4bit图文理解性能报告:双卡24GB下QPS达3.2,P99延迟<8.5s

Qwen3.5-35B-A3B-AWQ-4bit图文理解性能报告&#xff1a;双卡24GB下QPS达3.2&#xff0c;P99延迟<8.5s 1. 模型概述 Qwen3.5-35B-A3B-AWQ-4bit是一款面向视觉多模态理解的量化模型&#xff0c;专为图片分析、图文问答和视觉描述等场景优化。该模型在双卡24GB显存环境下表现…...

AudioSeal Pixel Studio入门必看:PyTorch CUDA Graphs在检测推理中的加速实践

AudioSeal Pixel Studio入门必看&#xff1a;PyTorch CUDA Graphs在检测推理中的加速实践 如果你正在使用AudioSeal Pixel Studio进行音频水印检测&#xff0c;可能会发现处理长音频文件时速度不够理想。今天&#xff0c;我要分享一个实用的性能优化技巧——利用PyTorch的CUDA…...

【Dify 2026缓存架构白皮书】:首次公开3层智能缓存协同机制与命中率提升47.8%的实测数据

第一章&#xff1a;Dify 2026缓存架构演进与核心目标Dify 2026版本对缓存子系统进行了深度重构&#xff0c;旨在应对多租户场景下高并发推理请求、低延迟响应与模型上下文强一致性的三重挑战。本次演进不再依赖单一 Redis 实例作为全局缓存中枢&#xff0c;而是构建分层异构缓存…...

【MCP与VS Code插件集成终极指南】:20年专家亲授5大高频报错的根因定位与秒级修复方案

第一章&#xff1a;MCP与VS Code插件集成的核心原理与架构全景MCP&#xff08;Model Control Protocol&#xff09;作为面向大模型服务治理的轻量级通信协议&#xff0c;其与 VS Code 插件的集成并非简单封装 API&#xff0c;而是基于语言服务器协议&#xff08;LSP&#xff09…...

【MCP身份验证终极指南】:OAuth 2026正式版落地前必须掌握的7大安全加固实践

第一章&#xff1a;MCP身份验证OAuth 2026正式版核心演进与安全范式变革OAuth 2026正式版标志着MCP&#xff08;Multi-Cloud Provider&#xff09;身份验证体系从“令牌代理”向“上下文感知零信任凭证”的根本性跃迁。其核心不再依赖静态scope声明与宽泛的client_id绑定&#…...

USB双接口便携式高精度电流电压功率表设计

1. 项目概述本项目是一款面向USB供电接口参数监测的嵌入式便携式电流表&#xff0c;核心功能为实时、高精度采集并显示USB-A与USB-C接口的电压、电流及瞬时功率参数。设计定位为轻量级电源质量评估工具&#xff0c;适用于电子工程师在调试USB供电设备、验证充电器输出特性、排查…...

FR4 PCB透光LED反贴设计:丝印画中的隐藏式状态指示

1. 项目概述“hmj个人彩色丝印”是一个面向艺术化交互展示场景的硬件设计项目&#xff0c;其核心目标是将电子功能与视觉表达深度融合&#xff0c;在保持画面完整性与美学统一性的前提下&#xff0c;实现状态指示功能。该项目并非传统意义上的功能型嵌入式系统&#xff0c;而更…...

MATLAB 编程计算lamb波频散曲线。 有限元算lamb波频散曲线 代码可以得到lamb波...

MATLAB 编程计算lamb波频散曲线。 有限元算lamb波频散曲线 代码可以得到lamb波的频散曲线和群速度曲线。 完整MATLAB程序。 可运行。 有限元可以得到频散曲线 相速度曲线#频散曲线 #MATLAB程序 不同要求可议价最近在搞超声导波检测&#xff0c;发现Lamb波的频散曲线计算是个绕不…...

PNG图片数据块校验实战:用PNG Debugger快速排查CRC错误

PNG图片数据块校验实战&#xff1a;用PNG Debugger快速排查CRC错误 当你从网上下载了一张PNG图片&#xff0c;却发现它无法正常显示&#xff1b;或者你开发的图像处理程序突然报错&#xff0c;提示PNG文件损坏。这时候&#xff0c;问题可能出在图片的数据块校验上。作为开发者&…...

智能家居DIY:用SU-03T+Arduino打造会说话的温度提醒器

智能家居DIY&#xff1a;用SU-03TArduino打造会说话的温度提醒器 在智能家居日益普及的今天&#xff0c;将温湿度监测与语音交互结合&#xff0c;不仅能提升生活便利性&#xff0c;还能为家庭环境管理带来全新体验。本文面向有一定电子基础的爱好者&#xff0c;详细介绍如何利用…...

Apple Vision Pro的LiDAR传感器如何实现毫米级3D空间感知?拆解背后的dToF技术原理

Apple Vision Pro的LiDAR传感器如何实现毫米级3D空间感知&#xff1f;拆解背后的dToF技术原理 当你在Apple Vision Pro中伸手触碰虚拟按钮时&#xff0c;那种毫无延迟的精准交互感从何而来&#xff1f;当虚拟物体在真实桌面上投射出符合物理规律的阴影时&#xff0c;又是哪种技…...

FLPowerPro:模块化迷你数控电源平台设计解析

1. 项目概述FLPowerPro 是一款面向嵌入式开发与电源测试场景设计的高集成度、模块化可扩展迷你数控电源系统。其核心设计目标并非简单复现传统线性或开关电源功能&#xff0c;而是构建一个具备工程级鲁棒性、接口定义清晰、硬件资源可复用、软件架构可裁剪的电源平台。该系统在…...

vLLM-v0.11.0快速部署:让通义千问3-VL-4B模型服务稳定运行

vLLM-v0.11.0快速部署&#xff1a;让通义千问3-VL-4B模型服务稳定运行 想让最新的多模态大模型跑得又快又稳吗&#xff1f;如果你尝试过部署通义千问3-VL-4B这类视觉语言模型&#xff0c;可能遇到过推理速度慢、显存占用高、服务不稳定等问题。今天&#xff0c;我们就来聊聊如…...

SenseVoice-Small ONNX模型部署:Ubuntu 20.04服务器环境保姆级教程

SenseVoice-Small ONNX模型部署&#xff1a;Ubuntu 20.04服务器环境保姆级教程 最近在折腾语音相关的AI应用&#xff0c;发现了一个挺有意思的模型叫SenseVoice-Small。它是个轻量级的语音识别模型&#xff0c;支持多种语言&#xff0c;而且推理速度挺快。最关键的是&#xff…...

Whisper-large-v3会议场景强化:说话人分离(diarization)插件集成指南

Whisper-large-v3会议场景强化&#xff1a;说话人分离&#xff08;diarization&#xff09;插件集成指南 安全声明&#xff1a;本文仅讨论技术实现方案&#xff0c;所有内容均基于公开技术文档和开源工具&#xff0c;不涉及任何敏感信息或违规内容。 1. 项目背景与需求 在日常…...