数据类型
-
强数据类型
要求所有变量必须先定义后使用
-
弱数据类型
变量不需要定义也可使用
java的数据类型分为两类
-
基本类型(primitive type)
基本类型包括数值类型和布尔类型
数值类型有整数型有int,short,long分别占4,8,2个字节,浮点型有float和double分别占4,8个字节,以及字符类型占两个字节。
布尔类型分为True和false(分别占一位)
-
引用类型(reference type)
引用类型分为类,接口和数组
类型转换
由于java是强类型语言,所以要进行有些运算的时候,需要用到类型转换
-
强制类型转换,从高到低
低数据类型 byte,short,char->int->long->float->double 高数据类型
其中是按各数据类型大小划分的比如int占四个字节,long占八个字节所以long高于int,高数据类型转换为低数据类型叫做强制类型转换
int a = 128; byte b = (byte)a; 此时b不等于a将int类型强制转换为byte,由于byte类型取值范围为-127-127,所赋值超出了范围,产生内存溢出,故会使b输出错误
-
自动类型转换
自动类型转换是低数据类型转换到高数据类型
long a = 15422; int b = a; 此时b=a,正常输出。
-
注意事项
当高数据类型转换为低数据类型是,一定要注意数据溢出的情况
int money = 10_000_000; int year = 20; int total = money*year;//-147483680,此时输出int数据类型产生溢出 long total = money*year;//虽然是低类型自动转换为高数据类型,转换之前就出现问题了 long total2 = money*((long)year);// 先把一个数转换为long,正确输出