一、float单精度跟double双精度的区别
数后加上字母f,如 2.3f、1.0f 等此类是单精度浮点数(float)
数直接写出的数字,如
2.3、1.0 等此类是 double 型的。
当float f=3.4时
3.4是双精度数,将双精度型(double)赋值给浮点型(float)属于下转型(down-casting,也称为窄化)
会造成精度损失因此需要强制类型转换float f =(float)3.4; 或者写成float f =3.4F;。
二、int跟Integer的区别
public class Test {
public static void main(String[] args) {
Integer a = new Integer(3);
Integer b = 3; // 将3自动装箱成Integer类型
int c = 3;
System.out.println(a == b); // false 两个引用没有引用同一对象
System.out.println(a == c); //ture
Integer x = 100;
Integer y = 100;
System.out.println(x ==y); //true
Integer m = new Integer(100);
Integer n = new Integer(100);
System.out.println(m == n); //false
// ? Integer a = new Integer(3); 跟 Integer a = 3 的区别?
}
}