跳到主要内容
极客日志极客日志
首页博客AI提示词GitHub精选代理工具
搜索
|注册
博客列表
Javajava算法

Java 数据类型、运算符与方法核心要点总结

综述由AI生成Java 数据类型分为基本类型和引用类型,掌握八种基本类型的范围与默认值至关重要。浮点数计算建议使用 BigDecimal 避免精度丢失,包装类解决了集合对对象的需求但需注意性能开销。运算符涵盖算术、关系、逻辑及位运算,其中短路求值和类型转换规则是常见考点。方法定义需理解形参实参传递机制,基本类型传值,引用类型传地址。方法重载通过参数列表区分,提升代码复用性。

漫步发布于 2026/3/23更新于 2026/5/65 浏览
Java 数据类型、运算符与方法核心要点总结

Java 数据类型、运算符与方法核心要点总结

一、数据类型

在 Java 中,数据类型主要分为 基本数据类型 和 引用数据类型。

1.1 基本数据类型

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

八种基本数据类型的位数、取值范围和默认值如下表:

数据类型占用大小(字节)位数取值范围默认值描述
byte18-128 到 1270最小的整数类型,适合节省内存
short216-32768 到 327670较少使用,特定区间场景
int432-2³¹ 到 2³¹-10最常用的整数类型,默认整数类型
long864-2⁶³ 到 2⁶³-10L大整数,定义时需加 L
float4321.4E-45 到 3.4E380.0F单精度浮点数,定义时需加 F
double8644.9E-324 到 1.8E3080.0D双精度浮点数,默认小数类型
char216'\u0000' 到 '\uffff''\u0000'Unicode 编码,可存中文
boolean无明确大小无明确位数true 或 falsefalse逻辑判断,不可与 int 转换

需要注意以下几点:

  • 与 C/C++ 不同,int 始终占 4 字节,long 始终占 8 字节。
  • 整型和浮点型默认有符号。
  • 整型默认是 int,浮点型默认是 double。
  • float 赋值需加 f,否则视为 double。
  • char 采用 Unicode 编码,可存放整型和中文字符。
  • boolean 不能与 int 互相转换。

面试考点:int 和 long 的位宽及溢出问题。int 为 32 位(4 字节),最大值约 21 亿;long 为 64 位(8 字节)。文件传输等大数值场景建议用 long 避免溢出。

面试考点:类型转换。小转大自动完成(如 int 转 long),大转小需强制转换(如 long 转 int),可能丢失精度或溢出。字符串转换可用 Integer.parseInt() 等方法。

1.2 引用数据类型

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

字符串与基本类型互转
// int 转字符串
int num = 10;
String str1 = num + ""; // 方式 1
String str2 = String.valueOf(num); // 方式 2

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

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

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

注意:除 int 和 char 外,其他包装类名首字母大写。包装类可为 null,基本类型不可。

装箱与拆箱:

  • 装箱:基本类型转为引用类型(堆上创建对象)。
  • 拆箱:引用类型转回基本类型(提取值)。
int i = 10;
Integer objInt = i; // 自动装箱
int j = objInt;     // 自动拆箱

面试考点:为什么需要包装类?为了支持集合操作和方法重载。Integer 提供了丰富的工具方法,且作为对象可表示 null(缺失值),但性能不如 int,循环中慎用自动装箱。

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

面试考点:为什么不用 double 做精确计算?二进制浮点数无法精确表示部分十进制小数(如 0.1),连续计算会累积误差。BigDecimal 基于十进制整数 + 缩放比例,精度更高。

二、运算符

2.1 算术运算符

包括四则运算(+ - * / %)、增量运算(+= -= *= /= %=)及自增自减(++ --)。

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

注意:

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

2.2 关系与逻辑运算符

  • 关系运算符:== != < > <= >=,返回布尔值。
    • == 比较基本类型数值,引用类型比较地址。
    • equals() 通常比较内容(Object 类重写)。
  • 逻辑运算符:&& || !。
    • && 和 || 具有短路特性:左侧能决定结果时,右侧不执行。

2.3 位运算符

按二进制位运算:& | ~ ^。

  • &:同 1 为 1。
  • |:有 1 为 1。
  • ~:取反。
  • ^:相同为 0。

2.4 移位运算符

<< >> >>>。

  • <<:左移补 0,相当于乘 2。
  • :右移补符号位,相当于除 2。

  • :无符号右移,高位补 0。

2.5 条件运算符

三目运算符:表达式 1 ? 表达式 2 : 表达式 3。

int max = a > b ? a : b;

三、方法

3.1 方法的定义

方法用于封装特定逻辑,类似函数。

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

形参与实参: 形参是实参的拷贝。对于基本类型,修改形参不影响实参;对于引用类型(如数组),修改对象内容会影响原对象。

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

3.2 方法重载

同一类中方法名相同,参数列表不同(个数、类型、顺序),返回值可不同。


本文涵盖了 Java 基础的核心知识点,实际开发中请结合具体场景灵活运用。

目录

  1. Java 数据类型、运算符与方法核心要点总结
  2. 一、数据类型
  3. 1.1 基本数据类型
  4. 1.2 引用数据类型
  5. 字符串与基本类型互转
  6. 包装类
  7. BigDecimal
  8. 二、运算符
  9. 2.1 算术运算符
  10. 2.2 关系与逻辑运算符
  11. 2.3 位运算符
  12. 2.4 移位运算符
  13. 2.5 条件运算符
  14. 三、方法
  15. 3.1 方法的定义
  16. 3.2 方法重载
  • 💰 8折买阿里云服务器限时8折了解详情
  • GPT-5.5 超高智商模型1元抵1刀ChatGPT中转购买
  • 代充Chatgpt Plus/pro 帐号了解详情
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

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

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

更多推荐文章

查看全部
  • Arthas 实战:结合 IDEA 的 Java 线上排查流程
  • 5 个维度掌握 python-okx 库:API 整合与量化交易实战
  • 4 位全加器设计与七段数码管显示实现
  • Java 接入 AI 大模型:技术实践与方案选型
  • jQuery 核心知识详解:选择器、DOM 操作与事件绑定
  • Cursor 中使用 MCP 服务配置与实战指南
  • Llama3.2 本地部署指南:使用 Ollama 快速搭建大模型助手
  • C++ Insights 工具详解:透视编译器底层逻辑
  • 前端模块化开发:从面条代码到结构化代码
  • AI 大模型产品经理核心能力与实战指南
  • 人工智能 AI 产品经理与传统产品经理的工作差异详解
  • Kali Linux 渗透测试实战指南
  • Whisper 语音识别技术指南:多语言转录与翻译应用
  • Windows 10/11 USB-Blaster 驱动安装详解
  • 图标库性能调优提升前端加载速度的核心策略
  • C++ 智能指针详解:原理、实现与使用
  • OpenClaw 本地部署及飞书集成配置教程
  • OpenClaw 开源 AI Agent 框架深度解析与实战
  • Flutter shelf_modular 路由库在鸿蒙环境下的适配实践
  • DeepSeek 深度使用指南:提示词技巧与本地知识库搭建

相关免费在线工具

  • 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

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online