Java是一种强类型的语言,要求你在定义变量的时候必须指定它变量的类型。不行JavavScript,PhP等弱类型语言.

Java的数据类型:

java 类 通俗 java 类型t_默认值


首先Java的基本数据类型有8种。

整型:byte, int long,short,浮点型: double,float.字符:char。布尔类型:boolean.

所占字节数:byte–1 int–4,short–2,long–8. double–8, float–4,char–2

至于boolean的所占的内存大小,不知道。根据sun 的官方文档:

boolean: The boolean data type has only two possible values: true and false. Use this data type for simple flags that track true/false conditions. This data type represents one bit of information, but its “size” isn’t something that’s precisely defined.

(布尔数据类型只有两个可能值:true和false。使用这个数据类型为简单的旗帜,跟踪真/假的条件。这个数据类型代表一个比特的信息,但它的“大小”没有精确定义的东西。)

所以你可以认为一个Boolean占的大小是1bit一个比特位。其他的数据类型,一个字节占8位,相应的位数的占用是*8即可。

在Java里面有字面意思的概念。比如说你写个5 它的默认是int,如果你想声明为long可以写5f.

每个数据类型表示的数的范围为:

byte:[- 2^7, 2^7 - 1]

short:[- 2^15, 2^15 - 1]

int [- 2^31, 2^31 - 1].有符号的二进制补码表示的整数。

long :[- 2^63, 2^63 - 1,默认值为0L].当需要计算非常大的数时,如果int不足以容纳大小,可以使用long类型。如果long也不够,可以使用BigInteger类。

char : [0, 65535], [0, 2^16 -1],从’\u0000’到’\uffff’。无符号,默认值为’\u0000’。Java使用Unicode字符集表示字符,Unicode是完全国际化的字符集,可以表示全部人类语言中的字符.

float:

float数据类型是单精度、32位、符合IEEE 754标准的浮点数;

float在储存大型浮点数组的时候可节省内存空间;

默认值是0.0f;

浮点数不能用来表示精确的值,如货币;

例子:

float f1 = 234.5f。 
 double:

double数据类型是双精度、64位、符合IEEE 754标准的浮点数;

浮点数的默认类型为double类型;

double类型同样不能表示精确的值,如货币;

默认值是0.0d;

例子:

double d1 = 123.4。 
 boolean:

boolean数据类型表示一位的信息;

只有两个取值:

true和false;


这种类型只作为一种标志来记录true/false情况;

默认值是false;

例子:

boolean one = true。


在Java中有基本数据类型(也称为原始数据类型),还有引用数据类型(对象,数组)。在8种基本的数据类型中,都有相应的数据包装类也就是对象的对象的类型,

int –Integer,


基本数据类型

包装类

byte Byte
boolean Boolean
short Short
char Character
int Integer
long Long
float Float
double Double


包装类和基本的数据类型之间Java实现自动的拆箱和装箱的操作。基本数据类型相对于包装类型来说,例如,Integer 你可以创建一个Integer类型的对象,来对整型的数据进行操作,可以有很多的操作,例如将“5”这一个String类型的数据转换为int类型。