说一下java 数据类型
java 数据类型可以分为两大类,基本数据类型和引用数据类型
基本数据类型:
1.数值型: byte(1字节), short(2字节) ,int(4字节) , long(8字节),这些都是整数类型。float(4字节), double(8字节) 这些都是浮点类型
2.字符型: char(2字节)
3. 布尔型 boolean(1字节)
引用数据类型: class类, interface接口 数组
long 和int可以相互转换吗?
可以。long的类型范围比Int类型大,因此将Int转为long是安全的。
int a =10;
long b = a; //自动转换,安全
而将long转换为int可能会导致数据丢失或者溢出
long b = 100L;
int a = int(b); //强制转换,可能会有数据丢失或者溢出
数据类型转换方式有哪些你知道吗?
- 自动转换类型: 当目标类型的范围大于源类型时,Java会自动将源类型转换为目标类型,不需要显式的类型转换。int 转为long
- 强制转换
- 字符串转换:字符串转为int,可以使用Integer.parseInt()
- 数值之间的转换
类型互换会出现什么问题吗?
数据丢失
数据溢出
精度损失
编译错误或者运行时错误
装箱Boing 和unboxing 和拆箱是什么?
装箱和拆箱是什么?
Boxing 装箱和unboxing拆箱是将基本数据类型和对应的包装类之间进行转换的过程。
Integer i = 10; //装箱
int n - i; //拆箱
Java为什么要有Integer?
Integer对应是int类型的包装类,就是把int类型包装成Object 对象,封装的好处是可以把数据和处理这些数据的方法结合在一起,比如Integer 就有parseInt()等方法来专门处理int型相关的数据。
Java中绝大部分方法或者类都是用来处理类类型对象的,如ArrayList. 所以把一个int的数据存入list是不可能的,必须把它包装成类,也就是Integer.
List<Integer> list = new ArrayList<>();
list.add(3);