基本数值类型

java内置数值类型

类型名范围存储大小包装类
byte − 2 7 ( − 128 ) ∼ 2 7 − 1 ( 127 ) -2^7(-128)\sim2^7-1(127) 27(128)271(127)8位带符号数Byte
short − 2 15 ( − 32   768 ) ∼ 2 15 − 1 ( 32   767 ) -2^{15}(-32\,768)\sim2^{15}-1(32\,767) 215(32768)2151(32767)16位带符号数Short
int − 2 31 ( − 2   147   483   648 ) ∼ 2 31 − 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 − 2 63 ∼ 2 63 − 1 -2^{63}\sim2^{63}-1 263263164位带符号数Long
float负数范围: − 3.4028235 E + 38 ∼ − 1.4 E − 45 -3.4028235E+38\sim-1.4E-45 3.4028235E+381.4E45
正数范围: 1.4 E − 45 ∼ 3.4028235 E + 38 1.4E-45\sim3.4028235E+38 1.4E453.4028235E+38
32位Float
double负数范围: − 1.7976931348623157 E + 308 ∼ − 4.9 E − 324 -1.7976931348623157E+308\sim-4.9E-324 1.7976931348623157E+3084.9E324
正数范围: 4.9 E − 324 ∼ 1.7976931348623157 E + 308 4.9E-324\sim1.7976931348623157E+308 4.9E3241.7976931348623157E+308
64位Double
char 0 ∼ 2 16 − 1 0\sim2^{16}-1 0216116位的Unicode码,可用字符如’a’, 整数、unicode码如’\u0000’表示Character
boolean { f a l s e , t r u e } \{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; //向上赋值,直接转换
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值