Java主要有八种基本数据类型: byte、short、int、long、float、double、boolean和char。 各种数据类型的作用:
1、byte: 8比特,由带符号二进制补数表示的整数。
min:-128(-2^7)。
max:127(2^7-1)。
默认: 0。
对应包装类: Byte。
2、short: 16比特,用有符号二进制补码表示的整数;
min:-32768(-2^15 );
max:32767(2^15-1 );
默认: 0;
对应包装类: Short。
3、int: 32位,用带符号的二进制补码表示的整数;
min:-2、147、483、648(-2^31 );
max:2、147、483和647(2^31-1;
默认: 0;
支持的包装类: Integer。
4、long: 64位整数,表示为带符号的二进制整数;
min:-9、223、372、036、854、775、808(-2^63 );
max:9、223、372、036、854、775和807(2^63-1 );
默认: 0;
对应的包装类: Long。
5、float :单精度、32位、符合IEEE 754标准的浮点数;
float在保存大型浮点数组时节省内存空间。
浮点数不能用于表示精确的值,如货币。
default: 0.0f;
对应的包装类: Float。
6、双精度:双精度、64位、符合IEEE 754标准的浮点数;
浮点数的默认类型为双精度类型;
双精度类型也不能表示货币等准确的值;
default: 0.0d;
对应的包类: Double。
7、char: char类型是单个16位Unicode字符;
最小值为u0000 (即0 );
最大值为uffff (即65,535 );
char数据类型可以包含任何字符;
对应的包装类:字符。
8、布尔:布尔数据类型表示一位数的信息;
只有true和false这两个值
此类型只是将true/false情况记录为标志
对应的包装类:布尔。
自动类型转换:
是指不需要编写代码,系统自动进行的类型转换。 由于实际开发中经常出现这种类型转换,因此Java语言在设计时不会为其操作设计语法,而是由JVM自动完成。
转换规则:存储范围从小到大。
具体规则为byteshortcharintlongfloatdouble
这意味着byte类型的变量可以自动转换为短类型。 示例代码:
byte b=10;
短sh=b;
在此向sh赋值时,JVM首先将b的值变换为short型,然后向sh赋值。
当然,也可以在类型转换时跳。 byte也可以自动转换为int型。
注:在整数之间进行类型转换时,数值不变,但在将整数类型,特别是比较大的整数类型转换为小数类型时,根据存储精度的不同,可能会有数据精度的损失。