在移动开发中由于移动设备内存的局限性,往往需要考虑使用的数据类型所占用的字节数。下面简单介绍下java中几种基本数据类型,以加深记忆。
# \7 @& G {. b* |7 \" m在Java中一共有8种基本数据类型,其中有4种整型,2种浮点类型,1种用于表示Unicode编码的字符单元的字符类型和1种用于表示真值的boolean类型。(一个字节等于8个bit)1 n9 _0 {) w+ c0 f1 ^; F
) y# C: D% @* T" d1.整型. [1 ?# D+ W9 g2 `% \2 c T
类型 存储需求 bit数 取值范围 备注) h5 I5 J0 p! o+ r' s# ]4 n
int 4字节 4*8
" _) L1 J* z1 w$ K% Q9 G6 \: X& q* p4 ishort 2字节 2*8 -32768~32767
" `" d+ }; ~, j' a- Y" @+ |6 ?9 Plong 8字节 8*89 r( y$ ?: N; d
byte 1字节 1*8 -128~127
' x( w4 y. y) E* f; L& {
" X. A- y9 ~8 |9 @2.浮点型
8 W' G' u; w& B+ C类型 存储需求 bit数 取值范围 备注# Q H3 I+ X3 _2 }4 U. _* \
float 4字节 4*8 float类型的数值有一个后缀F(例如:3.14F)" t9 R, m' B. J7 M- h" W. {
double 8字节 8*8 没有后缀F的浮点数值(如3.14)默认为double类型
+ {# S/ m J# \
( F" F/ b8 x4 i3.char类型* t% i7 k2 |8 z4 q# a; t7 X
类型 存储需求 bit数 取值范围 备注
0 Z$ r( r5 S* Qchar 2字节 2*8
3 U! h; z8 S" `( S( [( w) O, p
" y; ?1 {( z( k1 u4.boolean类型
" U' i1 f8 f7 ~9 P6 W类型 存储需求 bit数 取值范围 备注0 l' A; ^7 |8 `5 R/ ^/ b
boolean 1字节 1*8 false、true% H0 m' \5 u+ e' u5 n
% ~0 k, c8 S: ^% I9 F- Z
补充:Java有一个能够表示任意精度的算书包,通常称为“大数值”(big number)。虽然被称为大数值,但它并不是一种Java类型,而是一个Java对象。 如果基本的整数和浮点数精度不能够满足需求,那么可以使用java.math包中的两个很有用的类:BigIntegerBigDecimal(Android SDK中也包含了java.math包以及这两个类)这两个类可以处理包含任意长度数字序列的数值。BigInteger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点数运算。具体的用法可以参见Java API。 $ K3 R% }3 ?* y0 A
|