一、基本类型的种类
四类八种:基本类型分为四大类和八种形式。
1、整型:在计算机内按有符号的二进制补码格式存放。
1.1、byte:位长为8,取值范围为-27~27-1;
1.2、short:位长为16,取值范围为-215~215-1;
1.3、int:位长为32,取值范围为:-231~231-1;
1.4、long:位长为64,取值范围为:-263~263-1;
2、浮点型:在机器内以IEEE754格式存放。
2.1、float:位长为32,取值范围为1.4*10-45~3.4*1038;
2.2、double:位长为64,取值范围为4.9*10-324~1.8*10308;
3、字符型:在计算机中存放的是该字符的16位Unicode码。
3.1、char:取值范围:0~216-1;
4、布尔类型
4.1、boolean:ture或false
二、基本数据类型的转换
原则:
1,、基本类型的值不能赋给复合类型的变量,反之亦然;
2、布尔类型不能赋给其他任何类型变量,反之亦然;
3、容量小的类型自动转换成容量大的数据类型;
3.1、数据类型按容量大小排序:byte,short,char-->int-->long-->float-->double
3.2、byte、short、char之间不会相互转换,他们三者在计算时首先要转换成int类型。
4、容量大的数据类型要转化成容量小的的数据类型时,要加上强制转换符,但有可能会造成精度降低或溢出;
5、有多种类型的数据混合运算时,系统首先将所有的数据类型转换成容量最大的那一种数据类型,然后在进行计算。
6、实数常量(如:1.2)默认为double类型;
7、整数常量(如:1234)默认为int类型;
三、实例说明
1 public calss TestConvert{ 2 3 public static void main(String[] args){ 4 5 int i1 = 123; 6 int i2 = 456; 7 double d1 = (i1 + i2) * 1.2 ; //系统自动转换成double型运算 8 float f1 = (float)((i1+i2)*1.2);//强制转换 9 byte b1 = 1; 10 byte b2 = 2;//只要不超过byte的范围,可以将int值直接赋给byte 类型,而运算式不行 11 byte b3= (byte)(b1+b2);//系统将转换成int型后计算,所以要加加强制转换符 12 double d2 = 1e200; 13 float f2 = (float)d2;//会产生溢出 14 System.out.println(f2); 15 float f3 = 1.23f//必须加上f 16 long l1 = 123; 17 long l2 = 3000000000000000L//必须加上L 18 19 } 20 }
时间: 2024-10-10 01:54:04