在移动开发中由于移动设备内存的局限性,往往需要考虑使用的数据类型所占用的字节数。下面简单介绍下java中几种基本数据类型,以加深记忆。
0 {* h: H+ l7 U$ v- j9 d在Java中一共有8种基本数据类型,其中有4种整型,2种浮点类型,1种用于表示Unicode编码的字符单元的字符类型和1种用于表示真值的boolean类型。(一个字节等于8个bit)
) c+ m7 W; R, O* {; e: Z/ W- X7 U' n; w* P$ w# D0 r
1.整型: `6 @8 G% P9 o# |
类型 存储需求 bit数 取值范围 备注' L( `! O" \- l4 \
int 4字节 4*8 ; x& y: j, Z- W) [+ S. a1 S0 w
short 2字节 2*8 -32768~32767+ R! p- u3 _' w0 ?9 |. V* c
long 8字节 8*8 F) h" i) ]& q6 I" W
byte 1字节 1*8 -128~127
" n4 v1 O/ T, r' ~! i4 q
# a+ i5 a* }. r* ]2.浮点型; ]4 o. T7 h, X9 v
类型 存储需求 bit数 取值范围 备注! z" D. ~( u5 C# A* `; _; [5 ^
float 4字节 4*8 float类型的数值有一个后缀F(例如:3.14F)
4 j# E1 P" N$ b9 I$ a- \double 8字节 8*8 没有后缀F的浮点数值(如3.14)默认为double类型2 |8 V# ]$ ?3 y4 j2 v
* v1 I" d2 w! w* _ \/ J5 M
3.char类型+ L3 G; s0 F; e; W; Z
类型 存储需求 bit数 取值范围 备注
9 C2 Z* A7 z0 u: P# \7 ^char 2字节 2*8( c. B9 c+ g" S# g8 x: o2 M, r
; Q5 a- i5 I& ]/ M; _' U% Y
4.boolean类型 t5 k. A6 e9 \! G* k
类型 存储需求 bit数 取值范围 备注
3 Q; g1 }, s& y0 G& R8 ^; wboolean 1字节 1*8 false、true! p. k, r) U; @
0 M# W* u1 j3 Y/ p/ t! c0 |1 @# w
补充:Java有一个能够表示任意精度的算书包,通常称为“大数值”(big number)。虽然被称为大数值,但它并不是一种Java类型,而是一个Java对象。 如果基本的整数和浮点数精度不能够满足需求,那么可以使用java.math包中的两个很有用的类:BigIntegerBigDecimal(Android SDK中也包含了java.math包以及这两个类)这两个类可以处理包含任意长度数字序列的数值。BigInteger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点数运算。具体的用法可以参见Java API。
6 a! f0 d' R: z- h" f# P7 m; p |