在移动开发中由于移动设备内存的局限性,往往需要考虑使用的数据类型所占用的字节数。下面简单介绍下java中几种基本数据类型,以加深记忆。
( q7 B4 Y1 h0 W1 o( Q" [在Java中一共有8种基本数据类型,其中有4种整型,2种浮点类型,1种用于表示Unicode编码的字符单元的字符类型和1种用于表示真值的boolean类型。(一个字节等于8个bit)
* l+ O$ }1 s7 @# x0 P! F. F4 c5 p: {5 P) J
1.整型
@9 f6 I: b, @( ^1 q8 `类型 存储需求 bit数 取值范围 备注. B8 w: t& U; o+ T. `- L# d
int 4字节 4*8 & }5 l: v5 {5 x" W8 q
short 2字节 2*8 -32768~32767& D8 C. x' H5 F+ _
long 8字节 8*8
5 F* D! T! ^. z8 e9 ^6 w. H# @4 ubyte 1字节 1*8 -128~1277 u9 d/ B9 D! R: T6 R. p
E# v S( D$ j, Y
2.浮点型
2 |4 @3 e1 Y# W" K- N3 C类型 存储需求 bit数 取值范围 备注& _- E4 U/ [' `+ b
float 4字节 4*8 float类型的数值有一个后缀F(例如:3.14F)
4 E; Y# R/ j) pdouble 8字节 8*8 没有后缀F的浮点数值(如3.14)默认为double类型" }/ \8 U/ f- A6 M5 i
G' Z4 \6 [- ~- P) g4 `, S
3.char类型
0 X( g' N+ g, L ^+ N& w类型 存储需求 bit数 取值范围 备注
. t. I* ^8 Z3 D; w! F: K" Gchar 2字节 2*8/ L; n& M! I: p% p9 B" w" x
. |/ I; Z& _2 ^2 R; P4 @
4.boolean类型
6 P) }( O) v4 f% _类型 存储需求 bit数 取值范围 备注5 \9 A. ^% j+ r/ g6 S) s
boolean 1字节 1*8 false、true9 O& v" p3 e" j
: F; |4 `% {. l
补充:Java有一个能够表示任意精度的算书包,通常称为“大数值”(big number)。虽然被称为大数值,但它并不是一种Java类型,而是一个Java对象。 如果基本的整数和浮点数精度不能够满足需求,那么可以使用java.math包中的两个很有用的类:BigIntegerBigDecimal(Android SDK中也包含了java.math包以及这两个类)这两个类可以处理包含任意长度数字序列的数值。BigInteger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点数运算。具体的用法可以参见Java API。 5 z2 N; |5 {- N% c
|