基本数值类型

本文介绍Java内置数值类型相关知识。默认Java中小数为double型,声明float型需加F或f。内置数据类型有对应包装类,比较值要用compareTo方法。还提到数值溢出、无unsigned类型,以及数值类型转换,向上转换较安全,向下转换需显式转换。

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

java内置数值类型

类型名范围存储大小包装类
byte−27(−128)∼27−1(127)-2^7(-128)\sim2^7-1(127)27(128)271(127)8位带符号数Byte
short−215(−32 768)∼215−1(32 767)-2^{15}(-32\,768)\sim2^{15}-1(32\,767)215(32768)2151(32767)16位带符号数Short
int−231(−2 147 483 648)∼231−1(−2 147 483 647)-2^{31}(-2\,147\,483\,648)\sim2^{31}-1(-2\,147\,483\,647)231(2147483648)2311(2147483647)32位带符号数Integer
long−263∼263−1-2^{63}\sim2^{63}-1263263164位带符号数Long
float负数范围:−3.4028235E+38∼−1.4E−45-3.4028235E+38\sim-1.4E-453.4028235E+381.4E45
正数范围:1.4E−45∼3.4028235E+381.4E-45\sim3.4028235E+381.4E453.4028235E+38
32位Float
double负数范围:−1.7976931348623157E+308∼−4.9E−324-1.7976931348623157E+308\sim-4.9E-3241.7976931348623157E+3084.9E324
正数范围:4.9E−324∼1.7976931348623157E+3084.9E-324\sim1.7976931348623157E+3084.9E3241.7976931348623157E+308
64位Double
char0∼216−10\sim2^{16}-10216116位的Unicode码,可用字符如’a’, 整数、unicode码如’\u0000’表示Character
boolean{false,true}\{false, true\}{false,true}1位Boolean

Attention:

  • 默认情况下,Java中的小数都是double型的,若要声明一个小数是float型的,则需要在数值的末尾加上F或者f,注意,必须要加F或者f,否则会出错。如float
    num=12.34F;
  • java内置的数据类型都有其对应的包装类,这些包装类在java.lang包中,包装类类型变量本质上是一种引用类型变量,即变量本身存的是地址而不是值,直接用比较符号(==、<、<=、>、>=)实际是比较地址,要想比较值,得用值比较方法compareTo();包装类类型变量存储的值是不能修改的,直接用=赋值,实际是改变变量指向的对象。

1、关于数值溢出
java不会报关于上溢的警告或错误,因此要注意给定类型的赋值范围;太小而无法被存储的浮点数(无限接近0),会造成下溢,java近似认为是0,因此通常无需考虑下溢问题。

int num1 = 2147483647 +5, num2=-2147483648-5; //整型上溢
System.out.println("num1 = "+num1+", num2 = "+num2); // num1 = -2147483644, num2 = 2147483643
double num3 = 1.0E-323, num4=1.0E-323/10; //浮点型下溢
System.out.println("num3 = "+num3+", num4 = "+num4); //num3 = 1.0E-323, num4 = 0.0

2、java没有unsigned类型

3、数值类型转换
向上转换:将一个数值赋给支持更大数值范围类型的变量,如将int类型数值赋给long类型变量,向上转换一般不会出什么问题。
向下装换:将数值赋给更小范围类型的变量,必须显示转换。

int inum;
double fnum=9.0;
inum = (int)fnum;  //向下赋值,显示转换
fnum = inum; //向上赋值,直接转换
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值