面试被问到了int类型的取值范围
当场母鸡当场懵*
基础打脸最为致命
正题:
一个常识:
引用类型使用"=="比较的是两个变量的地址
-
基本数据类型
byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型,在内存中占16位,即2个字节,取值范围-32768~32717,默认值0 int:整型,用于存储整数,在内在中占32位,即4个字节,取值范围-2^31~2^31-1,默认值0 long:长整型,在内存中占64位,即8个字节-2^63~2^63-1,默认值0L float:浮点型,在内存中占32位,即4个字节,用于存储带小数点的数字(与double的区别在于float类型有效小数点只有6~7位),默认值0 double:双精度浮点型,用于存储带有小数点的数字,在内存中占64位,即8个字节,默认值0 char:字符型,用于存储单个字符,占16位,即2个字节,取值范围0~65535,默认值为空 boolean:布尔类型,占1个字节,用于判断真或假 (仅有两个值,即true、false),默认值false
转化级别:
低 --------------------------------------------------> 高
byte,short,char—> int —> long—> float —> double
数据类型转换 1:自动数据类型转换(放大转换) 满足自动数据类型转换条件: 1)两种类型要兼容:如数值类型(整型和浮点型) 2)目标类型大于源类型:例如int型数据可以自动转换为double类型 2:强制数据类型转换(缩小转换) 在变量前加上括号,在括号中指定要强制转换的类型 例:double a = 40.9; int b= (int)a; 注:强制转换会损失数值精度,例如double类型变量a,经强制转换为int类型后值变为40
-
引用数据类型
类,接口,数组 (String是类代表字符串,属于引用类型)