java 基础数据类型

    技术2022-07-13  77

    1、基本类型

    Java中有8种基本类型,分为4类,分别为: 整型:包括 byte 、 short、 int 、 long 泛型:float、double 字符型:char 布尔型:boolean

    2、基本类型长度及默认值

    名称长度(字节)默认值取值范围byte10-128~127short20-32768~32767int40-2147483648~2147483647long80-9223372036854774808~9223372036854774807float403.402823e+38~1.401298e-45(e+38 表示乘以10的38次方,而e-45 表示乘以10的负45次方)double801.797693e+308~4.9000000e-324char2\u000boolean官方没有明确定义长度falsetrue/alse

    3、包装类型

    基本类型包装类型byteByteshortShortintIntegerlongLongfloatFloatdoubleDoublecharCharacterbooleanBoolean

    4、拆箱装箱

    拆箱,即,把包装类型转换为基本类型 装箱,即,基本类型转换为对应的包装类型。 如:Integer num = 1; //自动装箱 Integer num = new Integer(2); //装箱

    自动装箱的实际操作对应 Integer.valueOf(1); 在java文件生成class文件过程中会自动修改为Integer.valueOf(1),可以通过反编译工具查看。

    5、注意事项

    1)包装类型的比较不要使用 == 如 Integer num1 = 10;Integer num2 = 10; num1 == num2;返回结果为true Integer num1 = 200;Integer num2 = 200; num1 == num2;返回结果为false

    Byte、Short、Integer、Long、Character的定义中都有一个缓存机制,-128~127对应的对象会缓存到缓存中,调用valueOf()方法时,会先判断数据是否在这个范围内,如果在范围内,返回缓存对象,如果超出范围,新建一个对象返回。

    所以在这个范围内的数值,用==比较会返回true。否则会引起一些间歇性的bug,很难定位。

    2)java中的基本类型长度不会改变,在c、c++和c#中基本类型的长度会根据编辑器的位数变化,在java中不会变化。

    3)boolean官方没有规定长度,实际的占用空间长度和虚拟机有关系。

    4)基本类型在虚拟机中是存储在栈中。

    Processed: 0.018, SQL: 10