面向对象07-基本数据类型和引用数据类型

  1. 基本数据类型

  • 整数

  • 浮点

  • 布尔

  • 字符

  1. 引用数据类型

  • 除了基本数据类型都是

  1. 本质区别

1.基本数据类型

先来看一行代码

public class Test1 {
    public static void main(String[] args) {
        int a = 20;
    }
}

在这行代码运行时,首先会在堆内存中开辟一个空间,记录int a = 20;

int表示数据类型,10是真真实实的存在于这个空间的

此时当我们再定义一个double b = 23.12;

public class Test1 {
    public static void main(String[] args) {
        int a = 20;
        double b = 23.12;
    }
}

这个时候内存图是这样的

2.引用数据类型

简而言之引用数据类型就是拿其他的东西来用的

先看一行代码

public class Test1 {
    public static void main(String[] args) {
        Student s = new Student();
    }
}

student这一行中的 s 就是一个引用数据类型

student 表示可以存储student这个类的对象的地址值,s仅仅是一个名称

s仅仅记录的是一个地址值,真正的数据是记录在堆内存之中的,s表示引用数据类型可以理解为引用其他内存中的数据

  1. 数组的内存图

老规矩,先来看一行代码

public class Test1 {
    public static void main(String[] args) {
        int[] arr = {1,2,3,4,5,6};
    }
}

他的内存图是这样的

在栈内存int[]记录的是数据类型是数组

arr记录的是堆内存中的地址值

sout(arr)的运行结果是这样子的

[I@4eec7777

表示确实是地址值

数据在堆内存中存储时,会开辟一个小空间来记录这些数据

通过索引可以获取到数组中对应索引的具体值

  1. 小结

基本数据类型:数据值是储存在自己的空间之中的

特点:赋值给其他变量,也是赋值的真实的值

引用数据类型:数据是存储的其他空间的,自己空间存的是地址值

特点:赋值给其他变量,赋的是地址值

感悟:课程虽然是比较长而且又多又繁琐,但是认认真真的听下来,努力理解之后就会明白老师的用心良苦,很感谢阿伟老师!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值