跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Javajava

Java 数据类型与运算符

Java 数据类型涵盖基本类型与引用类型。基本类型包括 byte、short、int、long、float、double、char、boolean,直接存储值;引用类型包括类、接口、数组、枚举,存储对象地址。类型转换分为自动(隐式)和强制(显式),高精度转低精度可能丢失精度。标识符命名需遵循字符组成、首字母及关键字限制等规则,推荐采用驼峰命名法。运算符包含算术、赋值、关系、逻辑及三元运算符,需注意整数除法特性、短路逻辑及优先级问题,比较对象推荐使用 equals 方法而非 ==。

二进制发布于 2026/2/6更新于 2026/6/125 浏览

数据类型与运算符

标识符的基本介绍

在 Java 中,标识符是用来给类、方法、变量、常量等元素命名的字符序列。理解标识符的规则和规范,是编写合法、可读 Java 代码的基础。

标识符的命名规则 (必须遵守)

下述规则由 Java 语言规范强制执行,若没有遵守则会导致编译报错的情况发生。

  1. 字符组成:只能由字母、数字、下划线、以及美元符号组成。
  2. 首字母:必须以字母、下划线或美元符号开头,错误示范:123abc。
  3. 大小写敏感:例如 demo01 和 Demo01 是不同的标识符。
  4. 不能使用关键字:如 class、public、static 等作为标识符。

标识符的命名规范(推荐遵守)

下述内容属于行业规范,不遵守并不会导致编译报错的情况出现,但是会大大影响我们代码的可读性。

  1. 类名与接口名:大驼峰式,每个单词的首字母都使用大写,如 StudentManager、HttpServlet、ArrayList 等。
  2. 方法名与变量:小驼峰式,首字母采用小写,后续单词的首字母大写,如 userName、maxValue 等。
  3. 常量:采用单词全字母大写 + 下划线的形式,如 MAX_SIZE。
  4. 包名:全字母小写,用点号分隔,如 com.company.project。
  5. 见名知意:使用有意义的单词作为变量名,例如 studentIndex 等。

数据类型

Java 是强类型语言,每个变量都必须声明其数据类型。

基本数据类型 (值直接储存在栈上)
  • byte:字节型,取值范围 -128~127
  • short:短整型,取值范围 -32768 ~ 32767
  • int:整形
  • long:长整型,一般用于接收一些非常大的数字
  • float:单精度浮点型
  • double:双精度浮点型
  • char:字符型
  • boolean:布尔型
引用数据类型 (储存对象的地址)
  • 类(Class):如 String、Object、自定义类
  • 接口(Interface)
  • 数组(Array):如 int[]、String[]
  • 枚举(Enum)
类型转换
  1. 自动类型转换 (隐式):低精度 ➡ 高精度
int a = 0;
double b = a;
System.out.println(b); // b == 1.0
  1. 强制类型转换 (显式):高精度 ➡ 低精度
double x = 3.1415926;
int y = (int) x;
System.out.println(y); // y == 3

两种类型转换的区别!!!

  1. 从代码层面上来看,自动类型转换不需要指定转换的类型,强制类型转换则需要指定转换的类型。
  2. 高精度转向低精度,可能会导致精度丢失的情况。

运算符

大部分内容都与数学中的运算规则相同。

1. 算术运算符
  • + - *:+ 还具备拼接字符串的作用。
  • / vs %:前者为除,后者为取余。
  • 当我们在使用 / 进行整数相除时,若不能整除,结果并不会保留小数,而是会直接舍弃。
  • ++ --:自增或自减。
  • 注意:++i 先自增再使用,i++ 则是先使用再自增 (自减也是类同)。
int i = 10;
int a = i++; // a == 10, i == 11
int b = ++i; // i == 12, b == 12
2. 赋值运算符 (简单介绍)
运算符等价于
=a = b
+=a = a + b
-=a = a - b
*=a = a * b
/=a = a / b
%=a = a % b
3. 关系运算符
运算符注解案例
==等于a == b
!=不等于a != b
>大于a > b
<小于a < b
>=大于等于a >= b
<=小于等于a <= b

注意:基本类型比较的是值,引用类型比较的是地址!

4. 逻辑运算符
运算符说明案例特点
&&短路与a > 0 && b < 10当第一个表达式 false 时不再计算第二个
&逻辑与(非短路)a & b两个都计算
^异或a ^ b不同为 true,相同为 false
!非!(a > b)取反
5. 三元运算符
int max = (a > b) ? a : b; /* 如果 a 大于 b 则将 a 的值赋给 max,否则将 b 的值赋给 max */

注意:运算符的优先级

运算符的优先级较为复杂,为了避免记错了的可能,以及提高代码的可读性,我们可以使用 () 明确运算顺序。

int a = (x + y) / z;

总结要点

  1. 基本类型 vs 引用类型:内存存储方式不同,传递方式不同。
  2. 类型转换:自动转换安全,强制转换需谨慎。
  3. 运算符优先级:不确定时建议多使用括号,既避免了记忆出错的可能,同时也提高了代码的可读性。
  4. 整数除法:两个整数相除结果还是整数,会忽略小数。
  5. ==:== 比较的是对象的内存地址,比较对象时应使用 equals() 方法而非 ==。

目录

  1. 数据类型与运算符
  2. 标识符的基本介绍
  3. 标识符的命名规则 (必须遵守)
  4. 标识符的命名规范(推荐遵守)
  5. 数据类型
  6. 基本数据类型 (值直接储存在栈上)
  7. 引用数据类型 (储存对象的地址)
  8. 类型转换
  9. 运算符
  10. 1. 算术运算符
  11. 2. 赋值运算符 (简单介绍)
  12. 3. 关系运算符
  13. 4. 逻辑运算符
  14. 5. 三元运算符
  15. 总结要点
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • C++ STL list 容器详解:使用与模拟实现
  • OpenClaw 与本地千问模型搭建电脑 AI 助理
  • 国产时序数据库云原生实践:Apache IoTDB 与 TimechoDB 深度应用
  • 基于 SpringBoot 的网上家教管理系统设计与实现
  • Win11 资源管理器增强:QTTabBar 中文优化版安装与配置指南
  • 基于大型语言模型的学术知识图谱问答方法解析
  • llama.cpp 多环境部署指南:从 CPU 到 CUDA/Metal 的高效推理实践
  • Android WebRTC VAD 实战:原理、集成与避坑
  • FPGA 实现 MIPI 协议解析与时序规范
  • 前端程序员转行大模型开发指南
  • 基于 n8n 与网页解锁服务的自动化资讯采集实战
  • AI 编程中的 Skill:定义、用法与 Java 实战
  • 低成本运行 Claude Code:通过 LiteLLM 接入 GitHub Copilot Chat API
  • AMD显卡终极兼容指南:llama.cpp Vulkan后端快速解决方案
  • Clawdbot(Moltbot)源码部署实战:从环境搭建到 WebChat 验证
  • 高性能 C++ 调度器设计与实现
  • HarmonyOS 6.0 利用 PAC 脚本实现网络代理管理
  • 扩散模型原理与图像生成实战:基于 DDPM 的 MNIST 手写数字生成
  • RTX 4090 本地部署腾讯混元与阿里通义万相视频生成模型
  • WeblogicTool 部署与运行环境配置指南

相关免费在线工具

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

  • JavaScript 压缩与混淆

    Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online