在移动开发中由于移动设备内存的局限性,往往需要考虑使用的数据类型所占用的字节数。下面简单介绍下java中几种基本数据类型,以加深记忆。! p% P& H0 M1 U# B3 c( F
在Java中一共有8种基本数据类型,其中有4种整型,2种浮点类型,1种用于表示Unicode编码的字符单元的字符类型和1种用于表示真值的boolean类型。(一个字节等于8个bit)8 v& r* g. ?6 ~+ {
, l- x a5 }5 ]& `0 T" K
1.整型
% a- F1 m- {) }类型 存储需求 bit数 取值范围 备注1 n# N& T, e p' _
int 4字节 4*8
) U! `+ O$ X6 u2 v( R( B4 sshort 2字节 2*8 -32768~32767
) t ^( i2 {* _0 `long 8字节 8*8& g* {$ M& b( g7 z6 V
byte 1字节 1*8 -128~127
8 _3 N2 [0 b, Q6 N# Y) i
% Y" c2 F' h* j/ m9 r2.浮点型
7 J5 H1 C* \3 m2 {类型 存储需求 bit数 取值范围 备注5 w+ s+ _: V# A2 O5 `4 F7 Y
float 4字节 4*8 float类型的数值有一个后缀F(例如:3.14F)
' o( r: q/ m& O/ [double 8字节 8*8 没有后缀F的浮点数值(如3.14)默认为double类型
/ i: [' }( ~) E+ l9 c w6 q. U3 m) g L, d/ H# C/ r" m
3.char类型
# U3 L* ?" E w" y8 ]类型 存储需求 bit数 取值范围 备注
# O- W$ F1 V# t/ F, Fchar 2字节 2*8
' t3 e- K( S+ w: j+ P8 U, ?% u8 d
3 y4 t1 K% W: B* j4.boolean类型
5 @0 P! N* A9 ^$ n+ i类型 存储需求 bit数 取值范围 备注
! i' j# g& ]$ E* [- ?. r9 A+ kboolean 1字节 1*8 false、true" P' H. Z: K+ T# O8 U
7 `( J( \+ y7 w8 q
补充:Java有一个能够表示任意精度的算书包,通常称为“大数值”(big number)。虽然被称为大数值,但它并不是一种Java类型,而是一个Java对象。 如果基本的整数和浮点数精度不能够满足需求,那么可以使用java.math包中的两个很有用的类:BigIntegerBigDecimal(Android SDK中也包含了java.math包以及这两个类)这两个类可以处理包含任意长度数字序列的数值。BigInteger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点数运算。具体的用法可以参见Java API。
6 T' J- y2 \ l4 u0 l( q |