在移动开发中由于移动设备内存的局限性,往往需要考虑使用的数据类型所占用的字节数。下面简单介绍下java中几种基本数据类型,以加深记忆。
: L' q, k6 U4 u0 X" F在Java中一共有8种基本数据类型,其中有4种整型,2种浮点类型,1种用于表示Unicode编码的字符单元的字符类型和1种用于表示真值的boolean类型。(一个字节等于8个bit)4 u, x3 R0 {( R0 S& q: m8 V
* e: T- d/ I& E5 q0 e- U
1.整型
v/ P Q- o8 p; L1 G- N/ @类型 存储需求 bit数 取值范围 备注
8 s5 {. ?: s+ D7 aint 4字节 4*8
b+ W# k1 O' p& Nshort 2字节 2*8 -32768~327673 X" `1 {6 ~4 U3 N; z6 o! n( Z
long 8字节 8*8
% ~* r5 @: g% Xbyte 1字节 1*8 -128~127
+ P! K6 J, O( r( k. c& ]2 w' f4 h& o- ]+ a( D# T! y
2.浮点型( m8 o3 h* ?6 O6 L
类型 存储需求 bit数 取值范围 备注& v9 S& A; G" O& L2 |
float 4字节 4*8 float类型的数值有一个后缀F(例如:3.14F)$ }! k q5 y4 n* h
double 8字节 8*8 没有后缀F的浮点数值(如3.14)默认为double类型* g/ G2 T6 W1 D1 T# k! [ I
3 B: R6 P) C- S2 W5 Q: Z3.char类型7 s* v" d7 J& ~6 E; F
类型 存储需求 bit数 取值范围 备注% T" n! q; R. g6 t' u5 M
char 2字节 2*8; V V: v4 m: p3 B# H( k( |
& \% n H, t4 T2 C4.boolean类型
7 h# @* E* `" H' Q' h6 P类型 存储需求 bit数 取值范围 备注
- G3 V9 m1 F1 t2 tboolean 1字节 1*8 false、true( m2 X! i' l/ u3 D; ]$ v2 ?/ t- s6 l
. F+ `) Z) Q3 g. b
补充:Java有一个能够表示任意精度的算书包,通常称为“大数值”(big number)。虽然被称为大数值,但它并不是一种Java类型,而是一个Java对象。 如果基本的整数和浮点数精度不能够满足需求,那么可以使用java.math包中的两个很有用的类:BigIntegerBigDecimal(Android SDK中也包含了java.math包以及这两个类)这两个类可以处理包含任意长度数字序列的数值。BigInteger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点数运算。具体的用法可以参见Java API。 5 Z& h2 K5 m# i& D7 ?
|