java八大基本类型取数范围



java中一共有八个基本类型

数值型:int,long,short,double,float,byte

字符型:char

布尔型:boolean

int4个字节取数范围-231 至231-1
long8个字节取数范围-263至263-1
short2个字节取数范围-215至215-1
double8个字节jdk给的范围2-1074至(-2-52)·21023
float4个字节jdk给的范围2-149至(2-2-23)·2127
byte1个字节取数范围-27至27-1
char2个字节java关键字
boolean没有精确定义

取数范围的根据:

1个字节等于8位二进制(8位二进制10000000转换成十进制是128也就是2的7次方)

按照这个可以得出基本类型的取数范围(double,float,char,boolean除外),double、float不知道为什么是那个取值范围。

其中boolean类型较特殊:

根据http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html官方文档的描述:

boolean: The boolean data type has only two possible values: true and false. Use this data type for simple flags that track true/false conditions.

This data type represents one bit of information, but its "size" isn't something that's precisely defined.

布尔数据类型只有两个可能的值:真和假。使用此数据类型为跟踪真/假条件的简单标记。这种数据类型就表示这一点信息,但是它的“大小”并不是精确定义的。

始终记住计算机中运算的基础是基于二进制的,也就是 bit 位。

byte字节,KB,MB,GB,T等都是文件大小的基本单位

如:2GB内存的计算机 = 2 * 1024 * 1024 * 1024 个字节 = 8 * 2 * 1024 * 1024 * 1024 个位

Java中整数类型就出了四个int,long,short,byte;

为啥要搞这么多?个人理解是为了在不同的需求中可以灵活调整内存使用,比如你明明知道这个需求中最大的就是数值就是100,非要定义成long,每次创建的对象中这个long变量在内存中位都用不满,但是又开辟了这么多空间,就是浪费。

单位换算:

1 Byte = 8 Bits 位
1 KB = 1024 Bytes
1 MB = 1024 KB

1 GB = 1024 MB


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值