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

Java八大基本类型

1. 整数类型:精确的数值计算

byte (字节型)
  • 内存:1字节 (8位)

  • 范围:-128 ~ 127

  • 场景:是最小的整数类型,适合用于节省内存,例如在处理文件或网络流时存储小范围整数数据

short (短整型)
  • 内存:2字节 (16位)

  • 范围:-32,768 ~ 32,767

  • 场景:较少使用,通常用于在需要节省内存且数值范围在该区间的场景。

int (整型) - 最常用
  • 内存:4字节 (32位)

  • 范围:-2^31 ~ 2^31-1 (约±21亿)

  • 细节:最常用的整数类型,可满足大多数日常编程中整数计算的需求。

long (长整型)
  • 内存:8字节 (64位)

  • 范围:-2^63 ~ 2^63-1

  • 声明:用于表示非常大的整数,当 int 类型无法满足需求时使用,定义时数值后需加 L 或 l

long lightYear = 9460730472580800L; // 一光年的米数

2. 浮点类型:科学计算的利器

float (单精度浮点)
  • 内存:4字节

  • 范围:约±3.4e38 (7位有效数字)

  • 声明:单精度浮点数,用于表示小数,精度相对较低,定义时数值后需加 F 或 f

  • 注意金融计算禁用(精度问题)

float piApprox = 3.14159F; // 圆周率近似值
double (双精度浮点) - 推荐默认
  • 内存:8字节

  • 范围:约±1.7e308 (15位有效数字)

  • 细节:Java中浮点字面量默认是double

double atomSize = 0.0000000001d; // 原子尺寸

浮点陷阱
永远不要用==直接比较浮点数!
正确做法:

double a = 0.1 + 0.2;
double b = 0.3;
boolean isEqual = Math.abs(a - b) < 1e-10; // 允许微小误差

3. 字符类型:文本的基础单元

char (字符型)
  • 内存:2字节 (Unicode编码)

  • 范围:\u0000 ~ \uFFFF (0~65535)

  • 本质:本质是无符号整数

char letter = 'A'; 
char chineseChar = '中'; // 支持Unicode
char newLine = '\n';    // 转义字符

注意:char ≠ String
String是对象,而char是基本类型。


4. 布尔类型:逻辑的开关

boolean (布尔型)
  • 取值:仅truefalse

  • 内存:JVM未明确定义(通常按1字节处理)

  • 核心作用:控制程序流程

boolean isRaining = true;
if (isRaining) {System.out.println("带伞出门!");
}

重要规范
Java中禁止0/1代替false/true,与C语言不同。


关键特性总结表

类型内存默认值典型场景
byte1字节0二进制数据、紧凑数组
short2字节0兼容性场景、小范围整数
int4字节0通用整数计算(默认选择)
long8字节0L极大整数(时间戳、天文数字)
float4字节0.0f低精度科学计算
double8字节0.0d高精度计算(默认浮点)
char2字节'\u0000'单个字符处理
boolean-false逻辑判断
http://www.dtcms.com/a/296618.html

相关文章:

  • ICCV 2025 | CWNet: Causal Wavelet Network for Low-Light Image Enhancement
  • 视频剪辑软件使用到的技术栈详解
  • 教育培训系统源码技术拆解:前后端分离、企业培训课程推送机制全解析
  • act_hi_taskinst表历史任务记录不同步,无数据
  • LeetCode 刷题【12. 整数转罗马数字】
  • 解决VSCode无法加载Json架构问题
  • uniapp vue3版本中使用pinia 以及持久化处理 以及在微信小程序ypeError: Cannot read property ‘localStorage‘ of undefined报错
  • 车机版凤凰FM:纯净无广告,免费畅享海量有声资源
  • vue3使用异步加载腾讯地图
  • 奈奎斯特定理与香农公式在说些什么?
  • Linux系统下使用apt下载系统组件对应版本的源码
  • 训练日志7.23
  • k8s常用命令介绍
  • 飞腾D3000PBF和UBOOT配置说明
  • Android15或AndroidU广播的发送流程
  • 阿里云ECS坑之dnf-makecache系统软件更新检测服务
  • Java面试宝典:Spring专题二
  • Access开发一键删除Excel指定工作表
  • Golang实现 - 实现只有表头的 Excel 模板,并在指定列添加了下拉框功能。生成的 Excel 文件在打开时,指定列的单元格会显示下拉选项
  • 笔记/使用Excel进行财务预测
  • 【超完整图文】在 Ubuntu 环境下安装 Qt Creator 4.7.0(较旧版本)
  • 亿级流量短剧平台架构演进:高并发场景下的微服务设计与性能调优
  • IP 证书全面解析:功能、类型与申请指南
  • 神经网络实战案例:用户情感分析模型
  • iview 部分用法
  • PyTorch常用Tensor形状变换函数详解
  • Spring中的循环依赖:解密、破局与架构启示
  • 第21章 常用的用户调查分析方法
  • 08 rk3568 模拟smi mdio RTL8367RB
  • 详解FreeRTOS开发过程(五)-- 系统内核控制函数及任务相关API函数