在移动开发中由于移动设备内存的局限性,往往需要考虑使用的数据类型所占用的字节数。下面简单介绍下java中几种基本数据类型,以加深记忆。: j$ e( \+ m7 F+ E
在Java中一共有8种基本数据类型,其中有4种整型,2种浮点类型,1种用于表示Unicode编码的字符单元的字符类型和1种用于表示真值的boolean类型。(一个字节等于8个bit)
- C2 m# A( S& b4 F+ r
) | |5 S: v# m! J9 g1.整型
]% C4 i) v, P: r类型 存储需求 bit数 取值范围 备注# l0 A, e- K% e( w
int 4字节 4*8 6 ~6 C$ G, [) T
short 2字节 2*8 -32768~32767/ k0 V | b" }) \- [ J' M0 q
long 8字节 8*82 o6 r# d! _2 X& @% e
byte 1字节 1*8 -128~1275 z$ l8 A' F: _' ^0 F1 P
1 Y' s+ u4 _# X) Q! e- P1 P2.浮点型
+ d: W4 U. A5 W+ y7 q) a4 _0 J类型 存储需求 bit数 取值范围 备注8 H7 Q( _3 S2 M8 S# k
float 4字节 4*8 float类型的数值有一个后缀F(例如:3.14F)
0 K: Z6 z. _$ Cdouble 8字节 8*8 没有后缀F的浮点数值(如3.14)默认为double类型
5 C* L8 D& q/ p \/ Z7 d, E
9 f2 V! G& ~ Z0 y3.char类型/ F& G# G( t2 f" R; a
类型 存储需求 bit数 取值范围 备注
& W6 X2 V3 g0 K4 C# W' Cchar 2字节 2*8
) i9 b! V7 i Z9 @' p: j4 ]# o: N
4.boolean类型' b i& v# {! u% Q( F
类型 存储需求 bit数 取值范围 备注6 w7 i* q: F: H2 U: N% ~
boolean 1字节 1*8 false、true5 Q0 t- |, x% J. L$ Z
5 ^& e9 a* o& g* ?$ k: t$ n
补充:Java有一个能够表示任意精度的算书包,通常称为“大数值”(big number)。虽然被称为大数值,但它并不是一种Java类型,而是一个Java对象。 如果基本的整数和浮点数精度不能够满足需求,那么可以使用java.math包中的两个很有用的类:BigIntegerBigDecimal(Android SDK中也包含了java.math包以及这两个类)这两个类可以处理包含任意长度数字序列的数值。BigInteger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点数运算。具体的用法可以参见Java API。 0 ~& g8 g% o* A
|