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

Java 核心基础:数据类型、运算符与方法详解

Java 数据类型分为基本类型和引用类型,涵盖 byte 到 boolean 八种基本类型及其默认值与范围。引用类型包括 String 及包装类,涉及装箱拆箱机制与 null 处理。BigDecimal 用于解决浮点数精度问题。运算符包含算术、关系、逻辑、位运算及移位,需注意短路求值与类型转换规则。方法定义需明确修饰符、返回值与参数,支持重载,参数传递遵循值传递原则,数组作为引用类型可修改原对象状态。

BigDataPan发布于 2026/3/26更新于 2026/10/2685 浏览
Java 核心基础:数据类型、运算符与方法详解

数据类型

在 Java 中,数据类型主要分为基本数据类型和引用数据类型。理解它们的区别是编写健壮代码的基础。

基本数据类型

基本数据类型共有四类八种:整型(byte, short, int, long)、浮点型(float, double)、字符型(char)和布尔型(boolean)。

数据类型占用大小(字节)位数取值范围默认值描述
byte18-128 到 1270最小的整数类型,适合节省内存
short216-32768 到 327670较少使用,特定内存敏感场景
int432-2³¹ 到 2³¹-10最常用的整数类型,默认整型
long864-2⁶³ 到 2⁶³-10L大整数,定义时需加 L 或 l
float432约 ±3.4E380.0F单精度浮点数,定义时需加 F 或 f
double864约 ±1.8E3080.0D双精度浮点数,默认浮点类型
char216'\u0000' 到 '\uffff''\u0000'Unicode 字符,可存数字
boolean无明确大小无明确位数true 或 falsefalse逻辑判断

注意以下几点:

  • 与 C/C++ 不同,int 始终占 4 字节,long 始终占 8 字节,不受系统位数影响。
  • 整型和浮点型默认有符号。
  • 整型默认是 int,浮点型默认是 double。
  • char 类型使用 Unicode 编码,可以存放整型数据和中文字符。
  • boolean 类型不能与 int 转换,不存在'1 表示 true'的情况。

知识点补充:int 和 long 的溢出问题。 int 最大值约为 21 亿,超过即溢出。处理大文件传输等场景建议使用 long。long 转 int 可能截断,int 转 long 则安全。

引用数据类型

引用数据类型存储的是地址,主要包括字符串、包装类和 BigDecimal。

字符串与基本类型转换
// int 转字符串
int num = 10;
String str1 = num + ""; // 拼接法
String str2 = String.valueOf(num); // 工具类法

// 字符串转 int
String str = "100";
int n = Integer.parseInt(str);
包装类

集合类要求元素必须是对象,因此引入了包装类将基本类型封装为对象。

基本数据类型对应包装类
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean

装箱与拆箱:

  • 装箱:基本类型转为引用类型(如 Integer obj = i),系统自动在堆上创建对象。
  • 拆箱:引用类型转回基本类型(如 int j = objInt),提取原始值。

注意:包装类可以为 null,基本类型不可以。循环中使用自动装箱/拆箱会有性能开销。

BigDecimal

浮点数计算存在精度丢失问题,涉及资金计算时推荐使用 BigDecimal。

import java.math.BigDecimal;

BigDecimal a = new BigDecimal("11.1");
BigDecimal b = new BigDecimal("0.8");
System.out.println(b.multiply(a)); // 结果:8.88

关键点:构造 BigDecimal 时必须使用字符串,否则仍会继承浮点数的精度误差。

运算符

算术运算符

包括四则运算(+ - * / %)和增量运算(+= -= *= /= %=)。自增自减(++ --)需注意前置和后置的区别。

int a = 20, b = 10;
System.out.println(a + b); // 30
System.out.println(a % b); // 0
System.out.println(a++);   // 先使用后加,输出 20
System.out.println(++a);   // 先加后使用,输出 22

注意:

  • 整数除法结果仍为整数(舍去小数)。
  • 取模运算右操作数不能为 0。
  • 混合运算时结果向范围大的类型转型。

关系与逻辑运算符

关系运算符(== != < > <= >=)返回布尔值。逻辑运算符(&& || !)用于组合条件。

短路现象:&& 左侧为 false 时右侧不执行;|| 左侧为 true 时右侧不执行。利用此特性可避免空指针异常。

位运算符与移位

位运算直接操作二进制位:&(与)、|(或)、^(异或)、~(取反)。

移位运算符:<<(左移)、>>(右移)、>>>(无符号右移)。

  • 左移 N 位相当于乘以 2 的 N 次方。
  • 右移 N 位相当于除以 2 的 N 次方。

条件运算符

三目运算符 表达式 1 ? 表达式 2 : 表达式 3,根据条件返回不同值。

int max = a > b ? a : b;

方法

方法的定义与调用

方法是将解决特定问题的代码封装起来,便于复用。

public static boolean isLeapYear(int year) {
    if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
        return true;
    }
    return false;
}

参数传递机制: Java 中基本类型参数传递是值传递,修改形参不影响实参。但引用类型(如数组)传递的是地址副本,修改对象内容会影响原对象。

public static void swap(int[] arr) {
    int t = arr[0];
    arr[0] = arr[1];
    arr[1] = t;
}

方法重载

同一个类中,方法名相同但参数列表(个数、类型、顺序)不同,称为重载。返回值类型不作为重载依据。

方法重载示意图

掌握这些基础概念,能帮助你更清晰地理解 Java 程序的运行逻辑。

目录

  1. 数据类型
  2. 基本数据类型
  3. 引用数据类型
  4. 字符串与基本类型转换
  5. 包装类
  6. BigDecimal
  7. 运算符
  8. 算术运算符
  9. 关系与逻辑运算符
  10. 位运算符与移位
  11. 条件运算符
  12. 方法
  13. 方法的定义与调用
  14. 方法重载

更多推荐文章

查看全部
  • Python 流程控制详解:条件与循环语句及实战
  • LLM 推理全阶段 JSON 格式输出限制方法详解
  • MIT 室内场景识别数据集详解与 YOLOv8 训练实战
  • 微软发布 SPREADSHEETLLM:大模型精准理解与推理 Excel
  • PostgreSQL 动态分区裁剪技术:查询性能优化实战
  • 调参手记:Temperature 与 Top-P 如何影响模型输出
  • Soft Actor-Critic (SAC) 算法详解与 PyTorch 实现
  • LangChain4j 集成国产大模型(通义千问、文心一言、智谱 AI)实战
  • Quartus 18.0 安装及 ModelSim 环境配置
  • 基于Zynq FPGA对雷龙SD NAND的测试
  • 大语言模型 (LLM) 产品开发流程参考
  • LLaMaFactory 基于魔搭社区免费 GPU 微调大模型实战
  • ERNIE-4.5-0.3B 轻量模型部署与性能测试指南
  • OpenREALM:无人机实时映射框架的技术深度解析
  • OpenClaw ACP 协议解析:让 IDE 直接驱动 AI Agent
  • 机器人操作 VLA 模型强化学习综述
  • Python 搭建 NLP 模型的详细步骤与代码
  • Spring Cloud 商品服务核心实现:库存、缓存与分布式锁
  • Docker 快速部署 AstrBot+NapCat 搭建 QQ 智能客服机器人
  • 使用扣子平台创建 AI 智能体的五个步骤

相关免费在线工具

  • 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