在移动开发中由于移动设备内存的局限性,往往需要考虑使用的数据类型所占用的字节数。下面简单介绍下java中几种基本数据类型,以加深记忆。
$ A5 O+ y6 |3 i; j7 \在Java中一共有8种基本数据类型,其中有4种整型,2种浮点类型,1种用于表示Unicode编码的字符单元的字符类型和1种用于表示真值的boolean类型。(一个字节等于8个bit)$ F; Z) p q1 K( L5 u! J1 l$ C& T
) {# s: h2 |" h1 Y1.整型
! k. Z. f8 ^: |0 a3 u) h类型 存储需求 bit数 取值范围 备注5 b5 Z7 {, ?3 W& S
int 4字节 4*8
4 D+ O. i# e0 T6 p0 w, k Oshort 2字节 2*8 -32768~327672 u& M. \2 x8 a/ @
long 8字节 8*8$ a |' s3 w5 M I& E$ e
byte 1字节 1*8 -128~127
# e5 I% E& j) M/ g
0 C* _ k9 N1 Z6 H1 z2.浮点型, k( `5 c$ k7 G; [3 J& O [- [
类型 存储需求 bit数 取值范围 备注
T, w9 C: L2 q0 Q% `1 W+ O: k1 vfloat 4字节 4*8 float类型的数值有一个后缀F(例如:3.14F)" M7 _& x0 N% b" {
double 8字节 8*8 没有后缀F的浮点数值(如3.14)默认为double类型5 f" W4 J7 J3 k6 |- w9 `
@ R) ?4 }6 }0 k Z
3.char类型
% y$ h# ]3 H- F类型 存储需求 bit数 取值范围 备注
) J8 o- F& V% v) \' a. qchar 2字节 2*8& ]+ i5 T9 X# \( Y7 y0 k& n6 e; E
- d4 C3 W% I' T, p) F: F" i! h4.boolean类型7 ~9 G8 q* W( r
类型 存储需求 bit数 取值范围 备注
+ J. t/ }8 s2 b9 f. hboolean 1字节 1*8 false、true: N% A! @, L$ X2 K
7 u1 J3 [. H* v; C
补充:Java有一个能够表示任意精度的算书包,通常称为“大数值”(big number)。虽然被称为大数值,但它并不是一种Java类型,而是一个Java对象。 如果基本的整数和浮点数精度不能够满足需求,那么可以使用java.math包中的两个很有用的类:BigIntegerBigDecimal(Android SDK中也包含了java.math包以及这两个类)这两个类可以处理包含任意长度数字序列的数值。BigInteger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点数运算。具体的用法可以参见Java API。 7 h" d! i/ R/ o( {" H" f
|