在移动开发中由于移动设备内存的局限性,往往需要考虑使用的数据类型所占用的字节数。下面简单介绍下java中几种基本数据类型,以加深记忆。' l+ `7 L2 }. |/ f4 y8 k. S
在Java中一共有8种基本数据类型,其中有4种整型,2种浮点类型,1种用于表示Unicode编码的字符单元的字符类型和1种用于表示真值的boolean类型。(一个字节等于8个bit)
+ m$ a7 i8 _2 P5 z9 V! O5 O" m- ^/ j& [ f6 c5 R; t2 n
1.整型. E7 I T: ?6 }4 l
类型 存储需求 bit数 取值范围 备注
3 ?- q; I+ j- I( u2 Q5 h% Aint 4字节 4*8
( ~: d/ [0 }/ `! d9 q& {short 2字节 2*8 -32768~32767# z. P) @ M. e! v7 t7 |2 P% @
long 8字节 8*87 C$ X; r+ H1 S: t8 [
byte 1字节 1*8 -128~127& g% f1 ~ T Z0 ^5 v
1 n. v, h3 s. v" k5 B1 @
2.浮点型% r% E* o0 Q0 [
类型 存储需求 bit数 取值范围 备注
2 x% j2 a1 r$ E' n0 y sfloat 4字节 4*8 float类型的数值有一个后缀F(例如:3.14F)
. ]2 S V5 `- K" H! e6 E& w* Bdouble 8字节 8*8 没有后缀F的浮点数值(如3.14)默认为double类型
2 d c$ E% S& @* A1 o, ]9 _+ P% S. r! o1 ?0 s
3.char类型
7 G! W; q4 W H. r类型 存储需求 bit数 取值范围 备注: J% G& T6 E* q
char 2字节 2*89 a' M u: E! G4 L+ P$ W* |
; a/ g/ m: _1 e6 k/ `4.boolean类型
$ F5 `6 \' |3 Z# m6 Q# X! q类型 存储需求 bit数 取值范围 备注
* T8 M; f' a! O: g- W1 Y2 D4 n- cboolean 1字节 1*8 false、true
% {/ j/ S& B- ~" l; f" ~) g+ H `! U4 K u5 R
补充:Java有一个能够表示任意精度的算书包,通常称为“大数值”(big number)。虽然被称为大数值,但它并不是一种Java类型,而是一个Java对象。 如果基本的整数和浮点数精度不能够满足需求,那么可以使用java.math包中的两个很有用的类:BigIntegerBigDecimal(Android SDK中也包含了java.math包以及这两个类)这两个类可以处理包含任意长度数字序列的数值。BigInteger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点数运算。具体的用法可以参见Java API。 ; O4 m; [' m7 }# |$ M: C0 |
|