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

Java数据类型

Java是强类型编程语言,每种数据都有其明确的数据类型,在内存中分配不同大小的内存空间。
Java中的数据类型分为两大类(基础数据类型、引用数据类型)。

https://docs.oracle.com/javase/specs/jls/se8/html/jls-4.html#jls-4.2
1.基础数据类型primitive type,共8种
1.1 字节byte:字节byte,在计算机中表示一个完整的字符(美国所有英文字符、标点、符号等)。UTF-8 和 UTF-16 都是 Unicode 字符编码的实现方式,UTF-8
是可变长度的编码,而 UTF-16 是定长的编码。
ASCII码:一个英文字母等于一个字节byte,一个中文汉字两个字节byte; UTF-8编码:一个英文字母等于一个字节byte,一个中文汉字三个字节byte;
UTF-16编码:一个英文字母等于两个字节byte,一个中文汉字两个字节byte。

1.2 位bit:计算机中的最小单位(二进制01010100),1bit就是01010100中的一个二进制位。
1字节byte = 8位bit

1.3 基础数据类型primitive type介绍
a.整型 byte、short、int、long(整型默认int)
byte:1个byte大小,8bit(8x1=8)。最小整数类型,取值范围-27~27-1及-128~127
short:短整型,2个byte大小,16bit。取值范围-215~215-1及-32768~32767
int:4个byte大小,32bit。取值范围-231~231-1
long:8个byte大小,64bit。取值范围-263~263-1

b.浮点型 float、double(不加F或者f,默认是double类型)
float:单精度浮点类型,4个byte大小,32bit
double:双精度浮点类型,8个byte大小,64bit

c.字符型 char 默认'\u0000',表示一个空字符;
and char, whose values are 16-bit unsigned integers representing UTF-16 code units
and whose default value is the null code point ('\u0000')
2个byte大小,16bit,取值范围'\u0000' to '\uffff',即0 to 65535
Java默认16位bit Unicode字符(UTF-16)编码;Java中一个汉字通常占2个byte。

d.布尔型 boolean 默认false
1个byte大小,8bit。
2个值:true、false。整型和布尔型不能相互转换。
boolean a = 1; // error

注:不同基础数据类型进行运算时,要注意类型提升和精度丢失的问题。

2.引用数据类型 类、接口、数组、枚举等
引用在内存中占4个字节(存储内存地址)。

在计算机的发展历史上,32位处理器曾经是主流,因此,很多编程语言和操作系统都选择了32位整数作为基本的整数类型。

http://www.hskmm.com/?act=detail&tid=36116

相关文章:

  • [CF 516 E] Drazil and His Happy Friends
  • NVIDIA Triton服务器漏洞危机:攻击者可远程执行代码,AI模型最高权限告急
  • 2025-10-21
  • 个人骗分导论
  • Java三大特性
  • 高级程序设计第二次作业
  • 10月21日日记
  • home-assistant.-Adding integrations
  • Windows系统内存占用过高,且任务管理器找不到对应进程
  • NOIP 二十五
  • 理想婚姻
  • equal和hashcode
  • Ancestral Problem 题解
  • AWS IAM角色最佳实践:构建云安全的核心防线
  • 正睿 2025 NOIP 20连测 Day6
  • Hetao P5593 删 题解 [ 蓝 ] [ 线性 DP ] [ DFS 序 ] [ 虚树 ]
  • o(N^2)找出所有回文子串
  • 第二次高级程序作业
  • 大学生需要认真听课的肌肉记忆(注意力训练)
  • 初始人工智能和机器学习
  • 10/21
  • 蛋白表达技术概述
  • 二叉树的中序遍历- 递归原理 - MKT
  • 友链测试
  • 二叉树的中序遍历- 二叉树基本-递归 - MKT
  • 做了一个概率小游戏,没想到服务器被打爆被攻击了!原因竟然是他?真没想到...
  • 接下来的目标
  • 阿里云对象存储OSS之Java - Soul
  • 敬启,致那时的我
  • 后量子密码学技术与标准化进程解析