在移动开发中由于移动设备内存的局限性,往往需要考虑使用的数据类型所占用的字节数。下面简单介绍下java中几种基本数据类型,以加深记忆。% L" `6 Z1 v( l l$ c# `7 k
在Java中一共有8种基本数据类型,其中有4种整型,2种浮点类型,1种用于表示Unicode编码的字符单元的字符类型和1种用于表示真值的boolean类型。(一个字节等于8个bit)
9 D2 n% A m$ J8 G- a: t+ @+ r0 f
1 W8 c; a. \/ T& R. m1.整型
2 g5 ^% H9 h- ^7 s X" i类型 存储需求 bit数 取值范围 备注3 \) ]0 J0 \2 O! w4 B% O! C
int 4字节 4*8 0 R- ~& O- `' A
short 2字节 2*8 -32768~32767" [% W8 k5 R% `6 I
long 8字节 8*8( C: G& c4 @5 L: b6 O4 F" R- |5 `
byte 1字节 1*8 -128~127- {1 `# {% v5 U5 S- _4 z$ u' k
$ f% x6 D }5 z. Y
2.浮点型: J" f1 {7 V* F' }9 y
类型 存储需求 bit数 取值范围 备注
1 o1 V. K3 a7 l0 o9 I3 p" y; \+ yfloat 4字节 4*8 float类型的数值有一个后缀F(例如:3.14F)
1 Y% ^) H+ j! x& w: Ddouble 8字节 8*8 没有后缀F的浮点数值(如3.14)默认为double类型7 S6 ~+ Q2 c4 ], ]; w* |$ p9 X* M
. H7 D; t, V9 q" v- K3.char类型1 e& Y. P }7 [% Z, I
类型 存储需求 bit数 取值范围 备注
9 }* r1 K1 H( e9 L8 l% X$ a2 Wchar 2字节 2*87 S: P/ W( k( [+ L! s, X9 ]$ g
; b2 E$ i! B+ J# b s
4.boolean类型" I) M! N9 Z/ Q$ O& J
类型 存储需求 bit数 取值范围 备注
* K* V4 h9 p7 @6 g. @. U/ kboolean 1字节 1*8 false、true' e5 h, Z- Q% @4 C9 A( h
. J& [3 b, ]5 { Y* i$ k) s6 X
补充:Java有一个能够表示任意精度的算书包,通常称为“大数值”(big number)。虽然被称为大数值,但它并不是一种Java类型,而是一个Java对象。 如果基本的整数和浮点数精度不能够满足需求,那么可以使用java.math包中的两个很有用的类:BigIntegerBigDecimal(Android SDK中也包含了java.math包以及这两个类)这两个类可以处理包含任意长度数字序列的数值。BigInteger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点数运算。具体的用法可以参见Java API。 \) ?6 D; I( X
|