在移动开发中由于移动设备内存的局限性,往往需要考虑使用的数据类型所占用的字节数。下面简单介绍下java中几种基本数据类型,以加深记忆。
' y% N8 M2 I k! e# j9 \. D在Java中一共有8种基本数据类型,其中有4种整型,2种浮点类型,1种用于表示Unicode编码的字符单元的字符类型和1种用于表示真值的boolean类型。(一个字节等于8个bit)
* C: X( A! W7 H8 g. t' J) s8 V# e& S# E4 h/ w; y( ^
1.整型
3 ]# W+ G! W$ R2 j$ a, M( M类型 存储需求 bit数 取值范围 备注
& r/ R- b4 ~' dint 4字节 4*8 ; Y3 f8 V- Q( S1 L( G
short 2字节 2*8 -32768~32767
# @$ R6 N: j2 [; ]long 8字节 8*8" X! n& y. a3 [9 i$ i
byte 1字节 1*8 -128~1276 Z/ x: b& i# W6 Z/ T6 i4 ?2 Y( f5 R
0 V- f$ `0 l1 b+ s2.浮点型. v! G5 w# O3 ~9 C
类型 存储需求 bit数 取值范围 备注% n0 o/ ?# Z4 d G# O5 d
float 4字节 4*8 float类型的数值有一个后缀F(例如:3.14F)
6 X4 G: t* g7 ^, ndouble 8字节 8*8 没有后缀F的浮点数值(如3.14)默认为double类型; E* {" `( |8 P+ T% ~& u( Z! W
; i, V: b+ o0 O9 D c3.char类型/ ` s, p- q" H6 H
类型 存储需求 bit数 取值范围 备注
: A3 J! W, P: d! Ichar 2字节 2*8& S0 F8 u' n, _% l6 V
, S# t/ [) P: C/ J$ J' `
4.boolean类型
3 ]7 j8 X2 ]/ z' O3 ~6 _8 H类型 存储需求 bit数 取值范围 备注; m% K/ D* D* `$ W/ r
boolean 1字节 1*8 false、true
( B( s+ @8 a$ Y) C) s9 V% @9 _, x/ ~/ D* g/ V8 M" Y
补充:Java有一个能够表示任意精度的算书包,通常称为“大数值”(big number)。虽然被称为大数值,但它并不是一种Java类型,而是一个Java对象。 如果基本的整数和浮点数精度不能够满足需求,那么可以使用java.math包中的两个很有用的类:BigIntegerBigDecimal(Android SDK中也包含了java.math包以及这两个类)这两个类可以处理包含任意长度数字序列的数值。BigInteger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点数运算。具体的用法可以参见Java API。 E" l* V% T/ p8 p$ B8 [
|