java 基本数据类型
有八种 整数类型:byte short int long
浮点型:float double
字符型:char
布尔类型:boolean
int i = 3000000000; 编译能通过吗?原因是什么?
不能,整数默认int型最大为二十多亿,三十亿超过int范围
3默认是什么类型?3.14默认是什么类型?
int , double
float f = 3.14F ;
3.14默认是double类型,如果需要赋值给float类型的变量需要在后面加一个F
高类型向低类型转换需要强制转换吗?强制转换可能导致什么问题?
需要,溢出如(int i=128; byte a=i)和精度丢失(float a=1.2F; int i=(int)a)
请问H+3是那个字符?
(A:65 a:97)
K
H I J K ,K=H+3
String是基本数据类型吗?
引用数据类型
short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗?
有错 低于int的类型在运算时会先默认提升为int再运算
没有错 范围类的整形值可以直接赋值给低于整形的
自动装箱与拆箱
装箱:将基本类型用它们对应的引用类型包装起来;
拆箱:将包装类型转换为基本数据类型;
Java使用自动装箱和拆箱机制,节省了常用数值的内存开销和创建对象的开销,提高了效率,由编译器来完成,编译器会在编译期根据语法决定是否进行装箱和拆箱动作。