在移动开发中由于移动设备内存的局限性,往往需要考虑使用的数据类型所占用的字节数。下面简单介绍下java中几种基本数据类型,以加深记忆。
+ i2 R4 w, x% I# P- O在Java中一共有8种基本数据类型,其中有4种整型,2种浮点类型,1种用于表示Unicode编码的字符单元的字符类型和1种用于表示真值的boolean类型。(一个字节等于8个bit)2 J: M' }: j" ^
* G @7 `8 ?2 p- l& ~2 @ r1.整型3 n* }; h" X* f1 L% j. U
类型 存储需求 bit数 取值范围 备注
- @5 ^/ y! B5 i- ?int 4字节 4*8 0 o% y3 ?0 Q5 @" C
short 2字节 2*8 -32768~32767
0 N7 g# X: H. r/ vlong 8字节 8*8
2 `- F* s" D6 ibyte 1字节 1*8 -128~127
4 n6 n( y* h' `0 d/ P
9 X$ o; y# z8 {0 J8 D' h# K2.浮点型
# x! Y6 y, n1 M3 c类型 存储需求 bit数 取值范围 备注4 Y0 g" _; W4 A- J4 h) [- q& d1 E" |
float 4字节 4*8 float类型的数值有一个后缀F(例如:3.14F)2 q1 n+ \& Y0 k0 I. K: v0 r& ?
double 8字节 8*8 没有后缀F的浮点数值(如3.14)默认为double类型
% d+ B7 N( R: a0 A ~' M1 j) A! p6 A3 {& j1 l$ X( n
3.char类型
+ c7 s$ y7 l$ g. O! h类型 存储需求 bit数 取值范围 备注) Q o' i0 |$ i' u
char 2字节 2*8" s, K) N' e) V
" J$ Q& w8 G) }$ n* X: [! s' o4.boolean类型
6 u: x$ A" B$ o( C$ H. {$ A8 b, @1 D类型 存储需求 bit数 取值范围 备注
2 \! H8 S: U( ]; j- jboolean 1字节 1*8 false、true
9 z8 y/ N/ |2 y2 D3 O+ D" Z8 s; t! D; j' @
补充:Java有一个能够表示任意精度的算书包,通常称为“大数值”(big number)。虽然被称为大数值,但它并不是一种Java类型,而是一个Java对象。 如果基本的整数和浮点数精度不能够满足需求,那么可以使用java.math包中的两个很有用的类:BigIntegerBigDecimal(Android SDK中也包含了java.math包以及这两个类)这两个类可以处理包含任意长度数字序列的数值。BigInteger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点数运算。具体的用法可以参见Java API。
% j/ t6 |1 c/ L& e# \" B |