在Java里如何使用运算符_Java常见运算符用法解析

P粉602998670

P粉602998670

2026-01-24

265人浏览

原创

java中\_仅可用作数字字面量分隔符,如1_000_000;不能作运算符、变量名或占位符,java 9+禁止其作为标识符,编译时会报错。

在java里如何使用运算符_java常见运算符用法解析

Java里没有 _ 运算符,它不是Java语言定义的运算符,不能用于算术、逻辑或位操作。你看到的 _ 通常出现在数字字面量中(如 1_000_000),是Java 7引入的**数字字面量分隔符**,仅作可读性辅助,编译时被完全忽略。

Java中哪些地方能用_?只限数字字面量内部

它只能插入在数字字面量的**数字之间**,不能开头、结尾、紧邻小数点或进制前缀(如 0x0b):

  • int a = 1_000_000; ✅ 合法,等价于 1000000
  • long b = 0x1_A2B_C3D; ✅ 十六进制中可用
  • double c = 3.14_159; ✅ 浮点数的小数部分也可用
  • int d = _100; ❌ 开头下划线报错:Invalid character in number
  • int e = 100_; ❌ 结尾下划线同样不合法
  • int f = 0x_A1; ❌ 紧邻 0x 不允许

为什么_不能当变量名或运算符用?

Java标识符规范(JLS §3.8)明确禁止 _ 单独作为标识符(从Java 9起),且它从未被定义为运算符。如果你写了类似 a _ bint _ = 5;,会直接触发编译错误

Java JDK 25
Java JDK 25

Java JDK 25 来自 OpenJDK 官方归档,版本为 JDK 25,本条下载地址已指向官方 Windows x64 zip 安装包直链,适合调试旧项目或兼容旧版 Java 运行环境。

下载
error: illegal start of expression
    int a _ b = 10;
          ^
error: not a statement
    int _ = 5;
        ^

注意:_ 在Java 8及以前可作变量名(但不推荐),Java 9+已将其列为保留字,禁止用作标识符 —— 这和它“不是运算符”是两回事,但都说明它不具备运算功能。

常见误用场景:把Python/JS习惯带进Java

有些开发者从Python(支持 _ 作上一次表达式结果)或JavaScript(解构赋值中可用 _ 占位)转来,误以为Java也支持类似写法。实际Java中:

  • 没有交互式解释器的 _ 隐式变量机制
  • 解构赋值(如record pattern)中也不支持 _ 占位(Java 21+仍不支持,需显式命名)
  • 函数参数或lambda中不能用 _ 表示“忽略”,必须写合法标识符(哪怕叫 ignored

真正要实现“忽略”语义,得靠显式声明或注释,比如 public void handle(Event e) { /* ignore */ };想提升大数字可读性,就老实用 1_000_000 —— 别试图给它赋予运算含义,编译器不会配合。

Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南

相关专题

更多
java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

2023.10.24

3266

49

Go语言中的运算符有哪些
Go语言中的运算符有哪些

Go语言中的运算符有:1、加法运算符;2、减法运算符;3、乘法运算符;4、除法运算符;5、取余运算符;6、比较运算符;7、位运算符;8、按位与运算符;9、按位或运算符;10、按位异或运算符等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

1230

5

php三元运算符用法
php三元运算符用法

本专题整合了php三元运算符相关教程,阅读专题下面的文章了解更多详细内容。

2025.10.17

530

13

mysql标识符无效错误怎么解决
mysql标识符无效错误怎么解决

mysql标识符无效错误的解决办法:1、检查标识符是否被其他表或数据库使用;2、检查标识符是否包含特殊字符;3、使用引号包裹标识符;4、使用反引号包裹标识符;5、检查MySQL的配置文件等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.12.04

4780

5

Python标识符有哪些
Python标识符有哪些

Python标识符有变量标识符、函数标识符、类标识符、模块标识符、下划线开头的标识符、双下划线开头、双下划线结尾的标识符、整型标识符、浮点型标识符等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

593

5

java标识符合集
java标识符合集

本专题整合了java标识符相关内容,想了解更多详细内容,请阅读下面的文章。

2025.06.11

2540

9

c++标识符介绍
c++标识符介绍

本专题整合了c++标识符相关内容,阅读专题下面的文章了解更多详细内容。

2025.08.07

1465

7

string转int
string转int

在编程中,我们经常会遇到需要将字符串(str)转换为整数(int)的情况。这可能是因为我们需要对字符串进行数值计算,或者需要将用户输入的字符串转换为整数进行处理。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.08.02

2935

3

int占多少字节
int占多少字节

int占4个字节,意味着一个int变量可以存储范围在-2,147,483,648到2,147,483,647之间的整数值,在某些情况下也可能是2个字节或8个字节,int是一种常用的数据类型,用于表示整数,需要根据具体情况选择合适的数据类型,以确保程序的正确性和性能。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.08.29

1689

6

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
WebStorm 官方调试文档
WebStorm 官方调试文档

共0课时 | 0人学习

React 教程
React 教程

共58课时 | 11.1万人学习

TypeScript 教程
TypeScript 教程

共19课时 | 6.1万人学习