zoukankan      html  css  js  c++  java
  • 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和使用==会得到同样的结果

  • 相关阅读:
    一个Package Load Failed问题的解决方法

    .NET相关的最好东西--全球最新评价
    一年了...
    MSBuild 的简单入门
    开发基于.NET Compact Framework的程序时, 常遇到的问题(2) 为什么在Visual Studio 2003调试程序时不能通过ActiveSync连接PDA
    如何:显示用逗号分隔的项集合(摘自MSDN)
    每日一句(2008.10.8)
    每日一句(2008.10.16)
    男人这辈子
  • 原文地址:https://www.cnblogs.com/jiefu/p/7345756.html
Copyright © 2011-2022 走看看