00:00
行了,同学们呢,咱们开始上课啊,我们今天开始呢,就进行一个新的章节了,那么这个章节呢,我们叫做什么呢?叫做数组,各位啊,那么这个讲义是在这个位置上啊。呃,在咱们的COS02加YSE,然后呢,Document的下边有个零有加YSE进阶讲义这块呢,有一个数组,大家看见了吧,啊,有个数组啊,嗯。另外我在这提一嘴各位啊,提一嘴大家以后啊,以后几点上来啊,我我规定个时间。08:55准时上来啊。就08:55准时上来行吧,咱别到别到这个九点整。啊,再上来行吧,哎,咱们到八到08:55提前五分钟呀,08:55对吧?哎,提前什么呀,提前五分钟啊,提前五分钟啊,一般呢,我就我我我一般也只早就到这儿啊,然后那个呃,只不过就是不到点儿,诶不到那个08:50,我一般不去,不去广播啊,不去广播啊,然后我电脑一直开着你呢,嗯,08:55就就就就。
01:05
过来啊,登上去就完事了啊,登上去就完事了,那要不然咱们这个,呃,到时候呢,这个太耽误时间啊,就是提前五分钟吧,点名啊。行不行,好,收到的话打个一,各位来收到的话打个一。可以了,可以了。好的好的好的,行了,那咱们就继续吧,同学们啊,那咱继续了,嗯,那么这块的话,咱们今天看一下这个数组啊,我刚才说到这个讲义在什么地方,在这个Java ID的金阶讲义下边有啊然后接下来呢,我们这一块呢,有一个什么呢?呃,这个代码,这个代码这块我们说了,从今天开始我们就不再呃使用这个叫做d plus了,我们用什么呀?用这个叫idea工具了,各位啊idea工具了,所以呢,大家注意啊,我们要用工具了,呃代码呢在这里啊各位有些同学可能找不到啊,在这在这个02JAVA SE下边有个Java SE,然后这块呢,有一个什么CHAPTER15DAY16的homework啊,我们就在这儿啊,就在这儿,然后这边呢,我就新建,我到时候在这儿呢,会去新建一个呃章节。
02:18
啊,有同学老师这个代码跑哪了。我到时候把这个代码再拷过来啊,拷到这儿,因为我这个在C盘下看见没有,我这个代码是C盘users administrator idea project这个目录下,到时候我再把这个代码拷过来行不行,给大家扔到这儿啊,扔到这儿,扔到这个目录下啊。这个目录下,好,嗯,行,这个就说到这儿,关于代码的一个存放位置呢,给大家提了一下啊,嗯,然后呢,关于我们的课堂上的一个讲义呢,诶在这个目录下啊,数组将来我都会考到这啊。啊,考到这呃,行吧,有同学要求可能提前考,那行,那我就提前考一下,行吧,提前扔过来,到时候你可以预习一下,好吧,啊预习一下啊行吧,那咱别的就不说了,那这个课堂笔记这块咱们得记呀,是不是,哎课堂笔记放哪呢?还是老规矩啊,零二加s document,下边我们从这呢去新建一个文件,那叫做对23的一个课堂笔记啊,把这课堂笔记打开,有一些总结性的一些语言啊,或者是话术,我们要在这个位置上给大家。
03:21
嗯。给大家说一下啊,总结总结行了,当然有些笔记啊,可能也会记到我们代码上行不行啊,好,这个咱们就交代到这儿啊,那么接下来咱们看看这个数组啊,看下数组。首先第一个我们以后肯定是要在这里怎么着啊,哎,养成一个习惯什么呀,建包是不是,哎建包各位啊来,总之我们建个包吧。怎么键包还记得吗?新建一个东西,我们都怎么做呀,哪个快捷键啊,同学们回复一下叫out加什么,诶,Insert是不是,哎,然后package,你输进去package,你看它自动就定位到这个package了啊那包了,那么写上com.com.bg power no的点是吧,然后呢,咱们就叫做什么呢?Java SE,然后我们叫arra,这个arra这个单词是什么意思呢?其实就表示数组啊,这就是数组的意思啊,数组,然后呢,直接回车就行了。好了大家看,有同学说老师你这个你这个idea工具怎么变白色了呢?因为有同学说这个黑色呀,它看不清,所以呢,我这边就给它改成白色啊,改成白色那怎么改的呢?File这块啊,有个settings settings这块呢,有一个I啊II下面一个colorcheme scheme啊,或者mer,啊,那么这个mer呢,呃,点上去之后啊,你就可以在这里进行选择啊,你如果选这个就是黑的。
04:42
啊,就是黑的,如果你选default,那这就是现在我这个白的啊,我这个白的你点这个default就完事了啊,别的就不用管了啊,然后你我觉得黑色的是比较保护眼睛啊,我觉得你自己练习的时候用黑色就行了,我这边讲课我就用白色吧,因为有些同学可能看不清楚啊,看不清楚行在这里给大家解释一下啊,解释一下。
05:03
那么这个包这块的话,它的显示方式有两种方式,各位啊,一种方式就是诶在一行上显示,一种方式是以这种包下有子包,子包下有子包的方式去显示啊那么这块的话,我们。呃,应该是这个对吧,啊这个啊。点这个就行了,点这个的话那就回去了啊,就回去了啊,再点这个呢,就基本上就怎么着就就采用这种方式了啊包的显示方式可以调整的啊,可以调整的行了呢,这个呢,我们就直接在这呢,Out insert键类嘛,是不是,所以呢,我们写一个class好敲回车就行了,那么这个class这一块的话,我们去。去什我们去新类我们叫啊这个名字太数组的第一个例子啊,来OK。好了,那么接下来ctrl shift f12最大化是不是还记得这个快捷键吗?要会用啊会用来。
06:04
二瑞,嗯瑞来,首先呢,第一点我们先说一下啊,这个呃,Java语言当中的这个数组啊,它是一种什么呢?是一种引用数据类型啊,不属于基本数据类型,我先把一些结论啊,一些重要的结论先写到这儿,首先第一点呃,就是Java语言中的啊数组。是一种什么呀?引用数据类型。啊,是一种引用数据类型,不属于什么呀,基本数据类型。啊,不属于基本数据类型,首先这是第一点啊,数组的父类是object啊,数组的父类是object类,这点要知道啊,那么行吗?这是第一点需要给大家交代的,那么第二点就是什么是数组呢?各位什么是数组呢?哎。数组实际上啊是一个容器啊,可以同时什么呀?同时什么呢?容纳多个元素。
07:10
啊,可以容纳多个元素,首先你现在对数组呢,有一个概念,就是实际上它是个容器。啊啊,可以同时容纳多个元素,嗯,比如说举个例子吧,数组这个东西咱们在现实生活中也也也应该见见过,已经见过,嗯,咱最简单的,咱们现实生活中你去超市买苹果,假如说你去超市买苹果,买十个苹果你怎么带回家呀?各位,你怎么带回家装兜里啊,还是怎么着?是不是跟那个售货员你要要一个塑料袋啊。是不是啊啊,你是不是要把这个苹果放到塑料袋里边,然后拎着塑料袋就回去了,是不是,是这样吗,同学们。那这个塑料袋是什么东西啊?购物袋啊,这个购物袋是干啥的呀?嗯。购物袋干什么呢?是个容器是不是,哎容器啊,放数据的是一个数据的一个集合。
08:03
你可以这样理解啊,专业术语的话就是数组是一个数据的集合,数组是什么呀?是呃,一个数据的集合。明白吧,数组,数组就是数据的什么呀?一组数据,数组的意思,翻过来一组数据嘛。是不是哎,数组字面意思,数组字面意思。是什么?是一组数据。一组数据一组数据。那么这个呢,就是我们的一个数组,另外呢,要知道数组它不属于基本数据类型,它属于引用数据类型,各位啊,引用数据类型,然后呢,它类是object,另外呢,数组当中,数组当中可以存储什么基本数据类型的数据,也可以存储什么呢?引用数据类型的数据。
09:05
啊,数组当中可以存储基本数据类型的数据,也可以存储什么呀,引用数据类型的数据啊。数组因为是什么呢?因为是这个。嗯,引用类型,所以数组对象啊,是在堆内存当中啊,堆存当中各位。数组是存储在堆当中的啊,数组是存储在堆当中的。啊,上面这句话说数组当中可以存储基本数据类型。的数据。也可以存储什么呀,引用数据类型的。数据啊,也可以存储引用数据类型的数据,那么也就是说呀,我们你可以这样去理解啊,就是数组里面存个一呀二呀三呀四啊没问题啊,存这些数字,或者说数组里边存什么呢?呃,存这个这个这个这个,比如说你在这里。
10:02
啊,Person对不对,P1你new了一个什么呀?哎,Person,然后呢,Person干什么呢?P2呢,又又new了一个person,那么这个时候我们能不能把P1和P2放到一个数组里边啊,啊也是可以的啊,所以说数组呢也可以存储呢,我们呢,引用数据类型呢数据啊引用类型的数据。好,这是基础语法啊,先给大家交代一下,那么数组数组在内存方面啊,呃,是怎样的一个图形。我们可以画一下各位啊,可以画一下来,我把这个画板打开啊,打开之后呢,我们这边直接保存吧,保存一下啊,先让大家去理解一下这个数组。数组。的内存结构。
11:00
结构好,那首先的话,我们在这儿呢,假如说我们画的这个呢,叫做JVM。然后呢,这块呢,是。咱们的一个。方法区。然后这块呢,它是一个堆,假如说啊堆。然后这边是站,这个站呢,咱们现在没代码各位啊,我大概给大家画一下好吧,大概画一下啊,大概画一下,嗯,这块我就先给它删掉啊,然后这个呢,写上去占。那么这个堆这块的话,咱们。直接在堆里边画数组就行啊对,大家看啊,这就是数组。这就数组,而且这是个一位数组,各位啊,是个一位数组啊来。啊,这是个数组对象。你看。啊来。
12:01
画一下啊,哎呀,画这个图最费劲。是吧?给图标一下哪一天的可以可以可以好好好好好好好好可以没问题啊,收到收到嗯。来。哎,这个其实就是一个什么呀,哎,一维数组。各位啊,有同学老师,难道还有二维三维不成?有啊,一维数组。那假如说这个里边存的是什么呀?比如说100对吧,这个存的是五。这个地方呢,存的可能是比如说23是吧,哎,这个位置呢,存比如说这个56对吧,这个位置存一,这个位置存十。有同学老师,那我这个数组里边。这这都是存数字,这是这是什么意思啊,就表示这是个int类型的数组,各位啊。以上啊,都是存储了int类型。
13:06
啊,Int类型。那它是个int类型的数组,各位啊,Int类型的数组。那数组对象就这就长这个样子,就长这个样子啊,那假如说你现在要是在我们程序里边拗拗对象对吧,扭对象拗了俩对象遛俩对象的话,你比如说呃,我我这个。简单画一下吧,简单是这个意思啊,没到那个时候啊,我就简单在这画一下,比如说这是你拗了一个person对象。然后呢,你你又了一个什么呀,新的什么呀,Person对象啊,我们复制一下。哎,Person对象,Person对象啊,然后接下来呢,你这块呢,这是new的一个啊,这是new new的一个新对象,下边这个也是new的一个新对象。那么这两个对象呢,它存储到数组里边,并不是说把这两个对象存到数组里边啊,是吧,这两个对象的内存地址。
14:04
明白吧,来这块的话,我给他标一下。啊,标一下。这个位置呢,可能存的是什么呀,存的是比如说0X1234。这个位置可能存的是呀,比如说0X1478,其中你这个0X1234呢去哎,指向的是呀,指向的是我们这个对象。明白吧,哎,然后呢,这个位置也一样啊,你0X1478呢,指向的是这个对象。啊,指向的是这个对象。嗯。那么由于这个数组里边存的都是,所以它是个数组类型的数组啊数组。上面这是个int数组。啊,这个的数组。啊,Int数组,这是person数组,各位啊,我我大概用一个红框框一下啊,这个就是那个数组对象。
15:04
明白吧,哎,这就是数组对象啊。然后下边这个这这这个是那个数组对象,各位啊,我再框一下这是那个数组数组对象。就这个啊。这是一个数组对象。啊。来,这个图咱们另存一下吧。另存一下啊,我们叫。对,20。今天是第二十二天是吧,23啊对23。行吧,数组的内存结构啊,保存一下保存一下啊,行,这个是对我们数组的一个初步的一个认识,各位啊,后边我会详细给大家画内存图,放心啊,不用着急,不用着急啊,这块的话主要是先跟大家说一下数组啊,它其实就相当于是存储数据的一个容器。
16:04
啊,一个容器,然后呢,这个数组这块啊,它这个可以里边存什么呀,基本数据类型也可以里边存什么,存对象的内存地址。啊,你比如这就是int类型数组啊,这个其实就是person数组啊,Person数组里边存person int数组里边存in。就这意思,你注意啊,数组当中是不是直接存Java对象的啊,实际上数组里边存的都是引用。这是一个引用,这个引用。明白吧,哎,是这样的。来,那这样的话,这块我在这个笔记当中给大家总结一下啊,呃,对于什么呀,对于。呃,数组当中如果存储的是。Java对象的话,实际上啊,存储的是对象的。
17:00
引用啊,或者叫内存地址啊,来另外数组一旦创建。在Java中规定。长度不可变。各位啊,这些特性呢,都是比较重要的一些东西,我在这里先给大家总结一下,然后呢,我再告诉大家这个数据应该怎么去哎定义,或者是怎么去创建,好吧,哎,一旦创建的Java中规定长度不可变啊,就是数组长度不可变,数组长度不可变啊,这只是在Java中,但是别的语言咱就不用管了啊,比如说你说后期要学javascript呀,或是别的语言,那可能会发生改变,但Java中是不允许的啊。
我来说两句