00:00
那我们讲完这个数组的概述以后呢,下边呢,我们就开始来这个具体落地啊,来看一看这个代码呢该怎么去实现,那么我们首先呢,给大家讲的就是关于一维数组的一个使用。哎,数组话呢,我们已经对它进行一个简单的分类了哈,诶按照这个维数的话呢,分成一维的,二维的,甚至更高维的,哎,我们这里边呢,就先来谈一谈一维数组的使用,好,那我们这个代码当中呢,哎,先来一个这个may,然后alt斜杠。哎,这个第一个就是了啊,所以回车,那下面呢,我们来写这个代码啊,那么关于一位数组的使用呢,这块我们需要关注六个点。来我这写一下啊五。因为。诶,数组的。使用这呢,我们说这个六个事情哈,哎,我先把这先列一下,第一个就是一维数组的,哎,声明和初始化。啊,这是第一个问题,然后第二个问题呢,我们如何调用数组的指定索引位置的元素。
01:04
哎,数组的指定啊,位置的这个元素,这第二个问题,然后第三个呢,我们说如何去表示,或者说呢,叫获取数组的长度。哎,这是我们第三个问题,诶第三个问题啊。然后第四个问题呢,就是我们如何电力数组。或者说呢,叫便利数组元素啊,也可以五,那么这里呢,就涉及到叫数组元素的默认初始化值。是初始化。这是我们第五个问题,那第六个问题。第六个问题这块呢,呃,就我们要谈一谈,数组呢,我们创建了也初始化了,这个时候呢,在内存当中,咱们上边讲过,说是开辟了一段连续的空间,那我们呢,要讲一讲内存中是如何分配这个数组结构的啊相当于呢,就是我们叫数组的内存解析。
02:05
好,这呢就是我们关于一位数组呢,要讲这六个事情,那么讲完一位数组呢,我们做一些练习,然后接着讲二位数组,二位数组的话呢,仍然是这六个问题。哎,这也是我们大家今天咱们讲完课以后,数字这块呢,需要大家掌握的这几个点啊。这个都需要掌握,那我们就按照这个顺序来说,第一个异位数组的声明和初始化。哎,这样啊。呃,前面的话呢,我们讲过变量啊,就是关于一个基本数据类型啊,呃,应用数据类型咱们没有详细的说,只说过一个string啊,它的一个声明初始化,先举一个例子,比如说我们定一个number。哎,这呢,我们通常就叫做声明了。哎,初始化呢,就是直接number复个值,这个呢,我们叫做初始化。初始画行那也可以呢,把它就写成一行了啊,写成一行呢,就比如说我定一个int型的啊叫ID吧,啊我直接呢就复制1001,这就是声明和初始化呢就合一起了。
03:06
哎,相当于声明加上一个,哎初始化了,这个大家应该都清楚。那下面呢,咱们看一下这个数组这块该如何去声明和初始化,那如果要按照这样的思路的话,那就拆开写,拆开写也OK啊,那就这样,那我们现在呢,定义数组,数组的定义的话呢,我们这也提到了啊,这个数组的元素涉及到它的一个元素的类型,那我们就得指明你这个数组元素是什么类型的。比如说我们先举一个例子,是int型的数组。In后边呢,加一个中括号,中括号的意思呢,就表示它是一个数组了,我这呢写一个就是叫啊ids吧,就放大家的这个序号的啊。嗯,有很多嘛,所以加个S复数,然后后边,嗯,我先声明一下。这是个声明,下边的话呢,我ids给它做一个赋值,注意数组呢是一个引用数据类型,它的赋值的话呢,就得是new了。
04:02
New,一个in的形的。哎,后边怎么写呢,这里呢,就涉及到数组初始化呢,有两种方式。哎,我们一个一个说啊,第一种方式呢,就是我中括号后边呢,再来个大括号,在这个大括号里边,1001100210031004。这儿呢,我就有四个元素。四个元素分别就是啊,这个这四个。这呢就是我们这叫声明,这个不难哈,诶这个呢,就是初始化。说实话呢,主要呢,大家没见过的,就是右边这块,这个格式呢是固定的,所以大家要写的时候呢,也都得这样写。好在前面说一下啊,这个中括号呢,其实就能表明这是一个数组,前面这个呢。对,其实呢,就告诉我们这个数组元素的类型。那元素呢,是in的形的。对,右边呢又一个int型的数组,所以这个呢都不能丢啊,在后边呢是一个大括号,不同的元素之间用逗号隔开啊,这呢一共是有四个元素。
05:04
啊就这样,那么把这种方式呢,哎,我们称作呢,这我写一个叫。呃,上面这个是个一是吧,这给我写成这个一吧。这个呢叫1.1。啊,这种方式呢,我们称作叫静态初始化。哎,叫静态初始化啊,等一下我们去总结啊,那有了静态初始化呢,似乎就有所谓的叫动态初始化了。来个1.2叫动态。初始化。行,那动态初始化,我们就再举一个例子,比如说我现在换一个哈。哎,咱们说数组的元素可以是基本数据类型,也可以是引用数据类型。那不妨呢,我这举一个string啊,引用数据类型,整一个中括号。然后呢,这个我们叫names,就是大家的姓名啊呃,刚才咱们这说是可以分开写,那其实是不是也可以写成一行。就跟你这块一样,其实是吧。
06:01
哎,合一起的话呢,是我们其实写的更多啊,直接呢,右边我去new一个string,然后呢,这有一个中括号。直接呢,一个分号,这时候呢,还报错,我在这个中括号里边,我写上一个。四。换一个吧,五。那这时候呢,就不报错了。把这种方式呢,我们称作叫动态初始化。你看这两种方式确实不一样。啊,那怎么去描述什么叫静态,什么叫动态,来我们说一下啊。它俩的区别呢,首先我这声明都是数组啊,这是一样的,然后右边呢,都对这个数组进行了初始化。但是数组初始化了,但是数组这个元素大家看上边呢,明显指明了这四个元素是什么,这个呢,是不是没有指明啊。对,咱们这放大家的性命,但是你发现。这五个人的这个姓名叫什么,是不没有啊。没有,哎,这就是他的叫动态啊,那什么叫静态呢?我们说叫数组的初始化。
07:05
啊和数组元素的赋值操作。还说叫同时进行。像这种呢,我们称作叫静态初始化。那么数组的初始化。什么叫数字出发?这就叫数字数字化。你刚才上面声明了一下,下边赋了个值,这叫数组的它的一个初始化啊,数组的初始化和数组元素的数值操作呢,分开进行。什么叫分开进行?我现在光给这个数组进行初始化,数组元素还没赋值呢,你只能是通过后面的方式再给这个数组中的每一个元素去赋值。啊,像这种呢,我们叫做动态输入法。这两种方式呢,咱们开发当中都会用到啊,都会用到,比如说呢,像这种方式,哎,咱们提前呢,相当于是我先呢,造好这样的一个结构,接着呢,后边用户可能是诶一个一个的往这里边儿去放。
08:06
举个例子,比如说呢,咱们银行银行呢,造了一个数组。哎,银行这个数组里边呢,就专门存放大家每一个客户啊,这一个位置呢,就是一个客户。哎,就银行呢,是先把这个数组呢先造好了。但是呢,你这个数组里边到底第一个是是是是张三还是李四这个客户,第二个是谁不知道,所以我只能是先把这个框呢,就是数组先造好,他呢只能是用这种方式,那接下来的话呢,呃,一个一个的去给大家赋值。啊,这就属于我们的,这叫动态输入化。那有的时候呢,我们已经知道这个数组值是什么呢,所以我们就呃造这个数组的同时呢,把这个值就直接给它附上了。哎,所以这两种方式呢,我们后边呢都会写。啊都会写,所以大家呢,这第一个关于数组的一个初始化啊,需要大家掌握的啊,就是这样的一个情况。呃,这呢是咱们叫初始化了啊,是正确的情况,那对应的还会有这个,呃,错误的写法。
09:03
正常来讲,这个错误的写法我就不该讲啊。讲了以后反而你记住了是吧。呃,但是呢,确实大家写的时候呢,还经常容易写错哈,那我就稍微的你看一眼啊,比如说我这定义这个in字形的,我就呃,随意的写几个哈一个。哎,因特型的数组,哎,首先呢,这样写,前后呢都没有写这个。不能叫前后了啊,主要是像后边这块,既没有负值也没有指令长度的,这个是错的。这是一种错误的啊,然后我还拿这个特性举例。这个这块呢,你要是写个长度。这相当于是个动态吧。对,然后有的同学呢,就是这个位置不写了,然后这这写了一个哈。哎说哎还可以这样做呢是吧。不要这样写啊,前面这块呢,永远都是一个空的,这个中号不要有东西的,或者你前面写了一个,后边写了一个,这这这都是错的啊。
10:00
哎,这都是不行的。那还有的同学呢,更牛,他把这个动态初始化,静态初始化给他合一个啊。这呢写了一个三啊,然后紧接着后边呢,这个值也附上了。多帅呃,动态的要动态的,这项动态的要看这这像静态的是吧。啊,合二为一,这这更更不行。哎,这都是这个错误的情况。等等。啊就类似呢,大家写法呢,就是要注意正确的呢,就只有两种情况啊,前边这块呢,都是中括号里边不要放东西啊,右边这块呢,你就看,要么是扭完以后呢,指定个长度,要么呢就是哎,你把这个值附上。哎,是这样的一个情况啊,那这两个情况呢,我们稍微的总结一下啊,就是不管叫静态初始化还是叫动态初始化,我说呀,一旦初始化完成以后。数组的长度就确定了。这个长度几啊?我这呢是就是不管你采用哪一种长度呢,就是你的只要初始化完了是不是就知道了。
11:04
对,这个呢,是我们的一个点啊,第二数组一旦。初始化完成。其长度啊就确定了。长度是几,这时候呢,是能说出来的,而不是说诶可能是多少啊,可能是多少,这个肯定不会的啊,他就确定了。那为什么要确定呢?就是你要确定不了,咱们内存中是不是没办法给你知道开辟多长长度啊。你说三也可能是三,也可能是四,那到底我给你解析说是三还是四啊。对吧,哎,你一定得告诉我啊,告诉我是几内存中才能给你开辟指定那个长度的空间。所以一定也要确定啊。好,这是我们叫数组的一个初始化问题。
我来说两句