在移动开发中由于移动设备内存的局限性,往往需要考虑使用的数据类型所占用的字节数。下面简单介绍下java中几种基本数据类型,以加深记忆。' |( F3 {+ q3 _; F' p
在Java中一共有8种基本数据类型,其中有4种整型,2种浮点类型,1种用于表示Unicode编码的字符单元的字符类型和1种用于表示真值的boolean类型。(一个字节等于8个bit)
+ t; H7 D) s' t
6 {# X, K7 m7 ]8 k+ L; T1.整型( ~, M2 R5 K! c+ m" ~
类型 存储需求 bit数 取值范围 备注
! n$ r: j8 ^% a' A3 r: {1 P/ j; Qint 4字节 4*8 ; Z3 b$ h$ F! R; j
short 2字节 2*8 -32768~327673 u: g2 h' A$ C% `3 r5 K
long 8字节 8*8
- \5 \( s; m0 @, f( H. Dbyte 1字节 1*8 -128~127
! a3 y6 X* |8 K7 M
& I2 a& ]2 `1 @, \! z: {+ z! o$ ?$ F2.浮点型
8 E ?* c- h6 r; ]$ E- H' t类型 存储需求 bit数 取值范围 备注
* K; M/ u! h. J/ Y; h$ i# a. T, Zfloat 4字节 4*8 float类型的数值有一个后缀F(例如:3.14F)
) d% s! H8 M2 O0 Gdouble 8字节 8*8 没有后缀F的浮点数值(如3.14)默认为double类型( @* m2 R# R! \$ F0 j) s0 w
+ W& D+ e' \5 y3.char类型
- A2 c5 a5 K+ Q类型 存储需求 bit数 取值范围 备注
! r) v9 B" d* C* ^char 2字节 2*8 f) ]7 \0 s6 i1 x
6 S. _( O' E' E; i& H4.boolean类型
: B$ E9 u0 u$ u/ N类型 存储需求 bit数 取值范围 备注
' ]! y+ A, M: g9 Wboolean 1字节 1*8 false、true" V8 N/ X0 ?* g( ^( q% K
7 t, M8 H% P$ R& g7 \8 ~ i% _
补充:Java有一个能够表示任意精度的算书包,通常称为“大数值”(big number)。虽然被称为大数值,但它并不是一种Java类型,而是一个Java对象。 如果基本的整数和浮点数精度不能够满足需求,那么可以使用java.math包中的两个很有用的类:BigIntegerBigDecimal(Android SDK中也包含了java.math包以及这两个类)这两个类可以处理包含任意长度数字序列的数值。BigInteger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点数运算。具体的用法可以参见Java API。
4 B) S) [( E) ?0 g5 ], t |