Java中基本数据类型所占字节与取值范围

本文详细介绍了Java中的数据类型,包括简单数据类型与引用数据类型的字节长度、取值范围及默认值。此外,还深入探讨了基本数据类型的转换规则、基本数据类型与封装类之间的关系,并通过实例解释了char类型的具体使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java语言的数据类型分为两种,一种是简单数据类型,另外一种是引用数据类型。

① 字节长度和取值范围

简单数据类型都有固定字节长度与取值范围,具体如下表所示:

类型字节最小值最大值默认值
boolean1bitfalsetruefalse
byte1-128(-2^7)127(2^7-1)0
short2-32768(-2^15)32767(2^15 - 1)0
int4-2,147,483,648(-2^31)2,147,483,647(2^31 - 1)0
long8-9,223,372,036,854,775,808(-2^63)9,223,372,036,854,775,807(2^63 -1)0L
float41.4E-453.4028235E380.0f
double84.9E-3241.7976931348623157E3080.0d
char2\u0000(0)\uffff(65535)0

除了8种简单数据类型之外的所有数据类型都被称为引用数据类型,引用数据类型变量的内存大小统一为4字节,记录的是其引用对象的地址。


② 基本数据类型转换

也可以理解为数值类型提升:

byte->short ,
char -> int -> long ,
float -> double
int -> float
long -> double


③ 基本数据类型对应的封装类

简单类型和封装类型直接的对应关系如下表所示:

基本类型封装类型
byteByte
shortShort
intInteger
longLong
booleanBoolean
floatFloat
doubleDouble
charCharacter

java中加入了自动装箱拆箱操作,这样就可以使用对应的方法。


④ char使用详解

  • char赋值

char a=‘a’; //任意单个字符,加单引号。

char a=‘中’;//任意单个中文字,加单引号。

char a=111;//整数。0~65535。十进制、八进制、十六进制均可。输出字符编码表中对应的字符。

注:只能放单个字符。

  • char运算

char类型是可以运算的因为char在ASCII等字符编码表中有对应的数值。

在JAVA中,对char类型字符运行时,直接当做ASCII表对应的整数来对待。

示例:

char m=‘a’;  ——a。

char m=‘a’+‘b’;  ——Ã。 //char类型相加,提升为int类型,输出对应的字符。

int m=‘a’+‘b’;   ——195。//195没有超出int范围,直接输出195。

char m=‘a’+b;  ——报错。//因为b是一个赋值的变量。

char m=197;  ——Ã。 //输出字符编码表中对应的字符。

char m='197;  ——报错。//因为有单引号,表示是字符,只允许放单个字符。

char m=‘a’+1;  ——b。//提升为int,计算结果98对应的字符是b。

char m=‘中’+‘国’;  ——42282。

char m=‘中’+‘国’+‘国’+‘国’;  ——报错。int转char有损失。因为结果已经超出char类型的范围。

int m=‘中’+‘国’+‘国’+‘国’;  ——86820

char m=‘中’+1;  ——丮。//1是int,结果提升为int,输出对应的字符。

char m=‘中’+“国”;  ——报错。String无法转换为char。

System.out.println(‘中’+“国”);  ——中国。//没有变量附值的过程。String与任何字符用“+”相连,转换为String。

总结:

  • 用单引号’'标识,只能放单个字符。
  • char+char,char+int——类型均提升为int,赋值char变量后,输出字符编码表中对应的字符。

参考博文:

中文与Unicode转换
彻底弄懂Unicode

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

流烟默

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值