*阿炮的Java笔记001号*-Java的数据类型

116 阅读2分钟

老生常谈....对于大佬们根本都不用看的博客!

对于像我这种菜鸡还是得一步一步的来!如果有错误请大佬们指点指点!

Java中的基本数据类型

Java中蕴含着8种基本类型,分别为:

  • 6种数字类型(byteshortintlongfloatdouble
  • 1种字符类型(char
  • 1种布尔型(boolean
基本类型 位数 字节 默认值 取值范围
byte 8 1 0 -128 ~ 127
short 16 2 0 -32768 ~ 32767
int 32 4 0 -2147483648 ~ 2147483647
long 64 8 0L -9223372036854775808 ~ 9223372036854775807
char 16 2 'u0000' 0 ~ 65535
float 32 4 0f 1.4E-45 ~ 3.4028235E38
double 64 8 0d 4.9E-324 ~ 1.7976931348623157E308
boolean 1 false true、false

注意:

  1. Java 里使用 long 类型的数据一定要在数值后面加上 L,否则将作为整型解析。
  2. char a = 'h' char是单引号,String a = "hello" String是双引号。
  3. Java 的基本类型所占存储空间的大小具有不变性。

Java种的基本包装类型

这八种基本类型都有对应的包装类分别为: ByteShortIntegerLongFloatDoubleCharacterBoolean 除了部分包装类,其他都是基本类型首字母变大写。 其中:包装类型不赋值就是 Null ,而基本类型有默认值且不是 Null

Java 基本类型的包装类的大部分都实现了常量池技术。

Byte,Short,Integer,Long 这 4 种包装类默认创建了数值 [-128,127] 的相应类型的缓存数据。 Character 创建了数值在 [0,127] 范围的缓存数据。 Boolean 直接返回 True or False

        Integer i = 1;
        Integer n = Integer.valueOf(1);
        System.out.println(i == n); //true
        Integer i = 200;
        Integer n = Integer.valueOf(200);
        System.out.println(i == n); //false

因为当自动装箱的值在-128~127中是,大家拿到的是缓存中提前new好的那个对象,所以其内存地址是相同的;而大于这个范围时,内存地址则不同了,所以返回的是false。

注意: 所有整型包装类对象之间值的比较,全部使用 equals 方法比较。

装箱与拆箱

顾名思义:

使用包装类就是装箱。

使用基本类就是拆箱。

包装类和基本类的转换

使用包装类型的valueOf()方法就可以进行装箱。

使用包装类型的xxxValue()方法就可以进行拆箱。

注意: 频繁的转换会影响性能。