Java 占用字节数
数据类型/大小(二进制位数)/范围/默认值
byte(字节)/8/-128 - 127/0
shot(短整型)/16/-32768 - 32768/0
int(整型)/32/-2147483648-2147483648/0
long(长整型)/64/-9233372036854477808-9233372036854477808/0
float(浮点型)/32/-3.40292347E+38-3.40292347E+38/0.0f
double(双精度)/64/-1.79769313486231570E+308-1.79769313486231570E+308/0.0d
char(字符型)/16 /‘ \u0000 - u\ffff ’ /‘\u0000 ’
boolean(布尔型)/1/true/false/false
JAVA基本数据类型所占字节数是多少?
byte/1字节
short/2字节
int/4字节
long/8字节
char/2字节(C语言中是1字节)可以存储一个汉字
float/4字节
double/8字节
boolean/false/true(理论上占用1bit,1/8字节,实际处理按1byte处理)
JAVA是采用Unicode编码。每一个字节占8位。你电脑系统应该是 32位系统,这样每个int就是 4个字节,其中一个字节由8个二进制位组成。
Java一共有8种基本数据类型(原始数据类型):
类型/存储要求/范围(包含)/默认值/包装类
整数类型/int/4字节(32位)/-231~ 231-1/0/Integer
整数类型/short/2字节(16位)/-215~215-1/0/Short
整数类型/long /8字节(64位)/-263~263-1/0/Long
整数类型/byte/1字节(8位)/-27~27-1/0/Byte
浮点类型/float/4字节(32位)/-3.4e+38 ~ 3.4e+38 0.0f/Float
浮点类型/double/8字节(64位)/-1.7e+308 ~ 1.7e+308/0/Double
字符类型/char/2字节(16位)/u0000uFFFF(‘’‘?’)/‘0’/Character
(0~216-1(65535))
布尔类型 boolean/1/8字节(1位)/true, false/false/Boolean
在移动开发中由于移动设备内存的局限性,往往需要考虑使用的数据类型所占用的字节数。下面简单介绍下Java中几种基本数据类型,以加深记忆。
在Java中一共有8种基本数据类型,其中有4种整型,2种浮点类型,1种用于表示Unicode编码的字符单元的字符类型和1种用于表示真值的boolean类型。(一个字节等于8个bit)
1.整型
类型/存储需求/bit数/备注
int/4字节/48
short/2字节/28
long/8字节/88
byte/1字节/18
2.浮点型
类型/存储需求/bit数/备注
float/4字节/48/float类型的数值有一个后缀F(例如:3.14F)
double/8字节/88/没有后缀F的浮点数值(如3.14)默认为double类型
3.char类型
类型/存储需求/bit数/备注
char/2字节/28
4.boolean类型
类型/存储需求/bit数/备注
boolean/1字节/18/false、true
补充:Java有一个能够表示任意精度的算书包,通常称为“大数值”(big number)。虽然被称为大数值,但它并不是一种Java类型,而是一个Java对象。
如果基本的整数和浮点数精度不能够满足需求,那么可以使用java.math包中的两个很有用的类:BigIntegerBigDecimal(Android SDK中也包含了java.math包以及这两个类)这两个类可以处理包含任意长度数字序列的数值。BigInteger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点数运算