• J2SE基础小结


    1. 九种基本数据类型的大小,以及他们的封装类。

    类型 基本类型 大小(字节) 默认值 封装类
    整数型 byte 1 (byte)0 Byte
    short 2 (short)0 Short
    int 4 0 Integer
    long 8 0L Long
    浮点型 float 4 0.0f Float
    double 8 0.0d Double
    布尔型 boolean - false Boolean
    字符型 char 2 u0000(null) Character
      void - - Void

    注:(1)java默认使用unicode作为编码,一个char作为2个字节来存储;

      (2)Java的类型分成两种,一种是基本类型,一种是引用类型。两种的本质区别就是:基本类型是在堆栈处分配空间存“值”。但是引用类型,是在堆里面分配空间存“值”。Void是不能new出来,也就是不能在堆里面分配空间存对应的值。那就是一开始在堆栈处分配好空间了。所以,将Void归成基本类型。

    基本数据类型封装之后:

    (1)封装类可以有属性和方法,可以利用这些属性和方法来处理数据。比如:Integer对象有parseInt(String str),就是将字符串转换为int类型。 

    (2)基本数据类型跟封装类(引用类型)的默认值是不一样的。比如:int i,i的默认值是0;但是Integer j,j的默认值是null。

    (3)封装类产生的是对象,对象默认值是null。一旦java看到null,就知道这个引用还没有指向某个对象,在任何引用使用之前,都必须为其指定一个对象,否则报错。

    基本数据类型 封装类
    基本数据类型只能按值传递 封装类按引用传递
    基本数据类型在堆栈中创建,直接存储值,效率高,但可能发生内存泄漏 对象类型,对象在堆中创建,对象的引用在堆栈中创建
    基本数据类型在声明时系统自动为其分配空间 引用类型声明时只是分配了引用空间,必须通过实例化开辟数据空间后才能赋值
    基本数据类型跟封装类(引用类型)的默认值是不一样的,int是基本数据类型,Integer是int的封装类,是引用类型。int默认值是0,而Integer默认值是null,所以Integer能区分出0和null的情况
    注:数组对象也是一个引用对象,将一个数组赋值给另一个数组时只是复制了一个引用,所以通过某一个数组所做的修改另一个数组中也看得见

     2、三种引用类型:类(class)   接口(interface )   数组(array)

    (1)Heap 堆空间:分配对象 new Student()

    (2)Stack 栈空间:临时变量 Student stu

        new一个对象的时候,如 new Student(); ,在堆空间分配空间并创建一个Student实例;

        若写成 Student stu = new Student(); 则会把堆中的Student实例地址赋值给stu变量(栈空间),调用对象的方法时可以用stu来调用,实际上调用就是stu指向的对象的方法

    3、switch()参数支持的类型

    (1)在JDK 1.5以前,switch(expr)中,exper只能是byte,short,char,int类型,byte,short,char会自动类型转换为int

    (2)从JDK 1.5开始,exper可以是enum类型

    (3)从JDK 1.7开始,exper还可以是String类型

    注:可以把相关的常量分组到一个枚举类型里

    4、equals与==的区别

    (1)==比较的是两个对象的地址

    (2)equals比较的是两个对象的内容

    注:如果一个类没有自定义equals方法,它默认的equals方法(从Object 类继承的)就是使用==操作符,也是在比较两个变量指向的对象是否是同一对象,这时候使用equals和使用==会得到同样的结果

  • 相关阅读:
    Java实现 蓝桥杯VIP 算法训练 传球游戏
    Java实现 蓝桥杯VIP 算法训练 Hanoi问题
    Java实现 蓝桥杯VIP 算法训练 蜜蜂飞舞
    Java实现 蓝桥杯VIP 算法训练 奇偶判断
    Java实现 蓝桥杯VIP 算法训练 传球游戏
    Java实现 蓝桥杯VIP 算法训练 Hanoi问题
    Java实现 蓝桥杯VIP 算法训练 Hanoi问题
    Java实现 蓝桥杯VIP 算法训练 蜜蜂飞舞
    Java实现 蓝桥杯VIP 算法训练 蜜蜂飞舞
    Qt: 访问容器(三种方法,加上for循环就四种了)good
  • 原文地址:https://www.cnblogs.com/jiefu/p/7345756.html
Copyright © 2020-2023  润新知