J2SE基础小结

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

类型基本类型大小(字节)默认值封装类
整数型byte1(byte)0Byte
short2(short)0Short
int40Integer
long80LLong
浮点型float40.0fFloat
double80.0dDouble
布尔型boolean-falseBoolean
字符型char2\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和使用==会得到同样的结果

转载于:https://www.cnblogs.com/jiefu/p/7345756.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值