• 125417

    文章

  • 803

    评论

  • 12

    友链

  • 最近新加了换肤功能,大家多来逛逛吧~~~~
  • 喜欢这个网站的朋友可以加一下QQ群,我们一起交流技术。

Java--Java基础数据类型

服了这份高薪指南,涨多少你说了算>>

基本类型

  • byte
  • short
  • int
  • long
  • float
  • double
  • char
  • boolean

整型 byte short int long

  byte:1个字节8位 -128(-2^7^)~127(2^7^-1)  默认0
  short:2个字节16位  -2^15^~2^15^-1  默认0
  int:4个字节32位  -2^31^~2^31^-1  默认0
  long:8个字节64位  -2^63^~2^63^-1  默认0L

浮点型 double float

  double:双精度8个字节64位  默认0.0d  浮点数默认类型
  float:单精度4个字节32位 默认0.0f

字符型 char

  char:单一的16位的Unicode字符  \u0000~\uffff\

布尔型 boolean

  boolean:1位   默认false

自动装箱、自动拆箱

自动装箱:编译器调用valueOf()

自动拆箱:编译器调用intValue()/doubleValue()

发生时机:赋值、方法调用

注意事项:

  1. 自动装箱会隐式的创建对象,避免在循环中进行自动装箱的操作。
  2. 自动拆箱过程可能会产生空指针异常。
  3. 对象对比用equals.

自动拆装箱常见面试题:


/**
 * jdk对-128~127之间的值做了缓存
 * valueOf()会判断是否在缓存里
 * @author v_liuwen
 * @date 2019-07-13
 */
public class IntegerDemo {

    public static void main(String[] args) {
        Integer a = 120;
        int b = 120;
        Integer c = 120;
        Integer d = new Integer(120);
        Integer e = new Integer("120");
        System.out.println(a == b); //true
        System.out.println(a == c); //true
        System.out.println(a == d); //false
        System.out.println(a == e); //false

        Integer f = 127;
        Integer g = 127;
        System.out.println(f == g); //false

        Integer h = 128;
        Integer i = 128;
        System.out.println(h == i); //false

        Integer j = new Integer("256");
        Integer k = new Integer("256");
        System.out.println(j == k);  //false

        Integer l = new Integer("127");
        Integer m = new Integer("127");
        System.out.println(l == m);  //false



    }
}

源码分析

    public static Integer valueOf(int i) {
        if (i >= IntegerCache.low && i <= IntegerCache.high)
            return IntegerCache.cache[i + (-IntegerCache.low)];
        return new Integer(i);
    }

持续更新中...


695856371Web网页设计师②群 | 喜欢本站的朋友可以收藏本站,或者加入我们大家一起来交流技术!

0条评论

Loading...


自定义皮肤 主体内容背景
打开支付宝扫码付款购买视频教程
遇到问题联系客服QQ:419400980
注册梁钟霖个人博客