在移动开发中由于移动设备内存的局限性,往往需要考虑使用的数据类型所占用的字节数。下面简单介绍下java中几种基本数据类型,以加深记忆。
% ^& q. I3 X& s! i8 U7 N在Java中一共有8种基本数据类型,其中有4种整型,2种浮点类型,1种用于表示Unicode编码的字符单元的字符类型和1种用于表示真值的boolean类型。(一个字节等于8个bit)+ T. \* W: n) I2 K" ^6 p
/ @5 O0 f9 v" `, L" f
1.整型
' R; K# c* D9 g/ a, L G类型 存储需求 bit数 取值范围 备注9 O8 B, A! l% e3 O. S
int 4字节 4*8
# G0 _, J* R6 c7 Rshort 2字节 2*8 -32768~32767: T. \2 q' T) O& n( O6 C) ^" G
long 8字节 8*8
5 d+ k3 s, Y: w7 Bbyte 1字节 1*8 -128~127
, O" K8 I; [3 n R
. {: T* O9 K# ^( b& O2.浮点型2 X0 n. b1 b9 S1 b* `0 d2 q
类型 存储需求 bit数 取值范围 备注
* @' {) o6 H" E. F/ w$ wfloat 4字节 4*8 float类型的数值有一个后缀F(例如:3.14F)
' s% d9 _- x/ ~; t& jdouble 8字节 8*8 没有后缀F的浮点数值(如3.14)默认为double类型
$ m/ p- C. m. U* P* Q8 q$ f( k5 E) r
3.char类型, N& z' ?9 r2 V' E3 L
类型 存储需求 bit数 取值范围 备注
- Y! {+ a, E" j( Dchar 2字节 2*83 t* _ Y8 A; e& R# y0 w R
$ Q& J! I, y% Z n1 ^" u' j8 J. u4.boolean类型1 K: U. c, S6 Q
类型 存储需求 bit数 取值范围 备注
4 r' _! h" p; D' Sboolean 1字节 1*8 false、true
0 h* O G9 e) ^" {, \. z& s5 u" y* B" E; O- x3 _1 D
补充:Java有一个能够表示任意精度的算书包,通常称为“大数值”(big number)。虽然被称为大数值,但它并不是一种Java类型,而是一个Java对象。 如果基本的整数和浮点数精度不能够满足需求,那么可以使用java.math包中的两个很有用的类:BigIntegerBigDecimal(Android SDK中也包含了java.math包以及这两个类)这两个类可以处理包含任意长度数字序列的数值。BigInteger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点数运算。具体的用法可以参见Java API。
1 p3 F1 c$ V. [- u# }9 v/ ~9 S |