JAVA语言中存在着多种数据类型,基本分为以下几种.
1.基本数据类型:
1)整形:
byte:占用1个字节,范围为[-2^7,2^7-1],经常会被提问到的类型,注意范围为[-128,127]!!!
short:占用2个字节,范围为[-2^15,2^15-1]
int:占用4个字节,范围为[-2^31,2^31-1],最常见的数据类型,并且在JAVA中整数的默认数据类型
long:占用8个字节,范围为[-2^63,2^63-1],在使用时要注意在所使用的long数值后加L或者l来表明此数据是long类型的数据!!!
2)浮点数:
float:占用4个字节,范围为[-3.403E38,3.403E38],在使用的时候要注意在所使用的float数值后面加F或者f来表明此数据是float类型的数据!!!
double:占用8个字节,范围为[-1.798E308,1.798E308],在JAVA中默认为小数的数据类型
3)字符型:
char:占用2个字节,与C/C++中的占1个字节的char类型不同,在JAVA中char类型占用2个字节,所以在JAVA中,单个char类型的数据可以用来存储一个汉字.
4)布尔型(boolean):
boolean:布尔类型的数据只有两种结果,分为true 和 false.
2.引用数据类型:
1):类(class)
2):接口(interface)
3):数组([])
在数据的应用中会涉及到数据之间的类型转换.
1.计算时默认的数据类型转换:
byte,short,char -> int -> long -> float -> double 在计算时默认由左边的三种类型向右边进行转换
例:
byte b1=3,b2=4,b; //定义了三个变量
b=b1+b2; //此处b1和b2虽然是byte类型的数据,但因为有运算符'+'的存在默认进行了强制类型转换,使得b1+b2的数值为int类型,会使得编译器报错
在没有进行强制类型转换的情况下,无法将int类型的数值赋值给byte类型
b=3+4; //此处将3+4赋值给了byte类型的b,编译器不会报错.
注意: 右边的三种数据类型 byte,short,char 之间是不进行互相转换的,它们只会向占更多字节的数据类型进行转换.
boolean类型是不能转换为其他的类型的.
2.强制类型转换
公式: 目标类型的变量名=(目标类型) (被转换的数据);
例:
int a = 10,b = 20;
float c;
short d;
d = (short) b; // 将b转换为short类型并赋值给d
c = float(a + b); //将a+b的值转换为float类型赋值给c