「小马java」12、数组(欲吃之罪,何患无辞?)

课前小谈

最近看到网上十分火热的【华农兄弟】非常有意思。视频不多,人气却一路飙升、积累了大量的粉丝。视频非常有意思,找各种理由吃竹鼠。这只好像受伤了,我们把它烤了吧...(竹鼠心中肯定一万只草拟吗,难道不能抢救一下嘛??)。哈哈~~除了受伤,还有贪吃、抑郁、中暑...最后没有理由了,长得太漂亮了 也成为了被吃的理由...

「小马java」12、数组(欲吃之罪,何患无辞?)

那么问题来了:为什么简单的视频,会如此吸引人乐此不彼的观看呢?

我想道理很简单:就是三种“真实”。

真实的乡村气息:捣马蜂窝、逗狗、烤鱼、抓蛇、制作食材。没有镜头布景、编排。没有特意渲染的BGM和镜头特效。将我们从高楼林立的城市拉到了充满泥土气息的乡村。

真实的生活:为了吃竹鼠想尽办法的他们,搞笑又显得不那么靠谱。好像养几只还不够自己吃的。但实际,他们对待养竹鼠十分认真。竹鼠的吃什么,什么习性,恋爱情况都清清楚楚。

真实的人:捣马蜂窝、抓蜈蚣泡酒、品尝做好的竹鼠、高兴地就像一个胜利的孩子。他们展现的,是我们本可以触手可及 却正在远离我们的简单而且充实的生活瞬间。

课程内容

今天我们来讲一讲数组。

问:什么是数组呢?

答:当我们需要放1组相同类型的数,比如一个班的学生成绩。假如这个班10个人,我们要声明10个变量吗?没那么麻烦。这里我们声明一个数组就可以了。数组就像下面的调料盒一样,这个调料盒有4个格子,对应的可以保存4个数字。我们声明一个有10个格子的数组。就能保存这个班级所有人的成绩了。

「小马java」12、数组(欲吃之罪,何患无辞?)

调料盒

下面我们来看看数组的样子。

int 是数组要存放的数据类型。[] 表示这是一个数组变量、{ }中的内容是数组中的元素。

「小马java」12、数组(欲吃之罪,何患无辞?)

数组

数组初始化有两种方式:

1、静态初始化:我们不用规定数组的长度,将数组中的元素全部放在数组中。系统自动帮我们计算数组的长度,并将数组中的元素放入数组中。这里我们把8这个元素放在第一个格子中,6放在第二个格子中,4放在第三个格子中..以此类推。

int[] a = {8,6,4,2,5};

2、动态初始化:这里我们只规定数组的长度。数组中的元素系统分配默认值。这里我们声明一个长度是5的数组。表示b这个数组只能保存5个int类型的整数。

需要注意的是:我们声明了长度,数组中的元素并不是什么都没有。系统会帮我们默认给每个元素一个值。byte short int long 类型的数组 默认值是0、float double 默认值是0.0、

char 默认值是空字符、boolean 默认值是false、其他类型默认值是null。

int[] b = new int[5];

画个图说明一下。

「小马java」12、数组(欲吃之罪,何患无辞?)

红色是数组的角标。通过第一种静态初始化的方式我们得到如上图所示的数组。第二种动态初始化我们得到的数组中的元素全部都是0。

操作数组

1、设置数组的值

「小马java」12、数组(欲吃之罪,何患无辞?)

操作数组

很简单 直接变量名加上中括号,中括号中间写上角标就可以了。

注意:数组角标都是从0开始的,不是从1开始的!

a数组0角标位置(第一个格子),保存的数字原来是8。通过a[0] = 10 。这个操作,将8改成了10。

b数组0角标的元素是系统默认初始化的(是0),这里赋值成了3。

2、取数组中的值

直接使用 a[角标] 就可以取出数组中的值了。

如图打印出来数组中的值。

「小马java」12、数组(欲吃之罪,何患无辞?)

打印数组中的值

计算a数组数字的总和。

「小马java」12、数组(欲吃之罪,何患无辞?)

计算并打印总和

3、注意点

  • 数组的角标的最大值 是 数组长度 -1,因为角标是从0开始,不是从1开始。
  • 数组一旦声明好了,长度是固定的,不能改变。
  • 其他类型的数组与int类型的数组类似,这里就不啰嗦了。
「小马java」12、数组(欲吃之罪,何患无辞?)

其他类型的数组

二维数组

以上我们讲解的是一维数组,下面我们说一下二维数组。

二维数组像下面这个收纳盒一样,并不是一排,而是多排。

「小马java」12、数组(欲吃之罪,何患无辞?)

收纳盒

二维数组初始化

1、与一维数组相同有两种方式。静态初始化、动态初始化。

「小马java」12、数组(欲吃之罪,何患无辞?)

二维数组初始化

二维数组的保存示意图

「小马java」12、数组(欲吃之罪,何患无辞?)

二维数组示意图

2、设置数组中的值

直接使用 a[行角标][列角标] 就可以设置数组中的值。

a[0][1] 表示第1行 第2列 就是上图中的数字2。

b[0][0] 表示第1行 第1列

「小马java」12、数组(欲吃之罪,何患无辞?)

设置二维数组的值

3、取数组中的值

直接使用 a[行角标][列角标] 就可以取出数组中的值了。

如图打印出来数组中的值。

「小马java」12、数组(欲吃之罪,何患无辞?)

课后开动脑筋

打印数组的时候,我们现在是一个一个打印的,很麻烦。

问:怎么才能一口气全部打印出来呢?

提示:利用for循环。数组名称.length 表示数组的长度 (如:a.length)

答案:

「小马java」12、数组(欲吃之罪,何患无辞?)

第一题答案

问:二维数组怎么全部打印呢?

答案:

「小马java」12、数组(欲吃之罪,何患无辞?)

第二题答案

问:一维数组 int[] a={1,2,3,4,5,6,7,8,9,10} 如果是偶数就加1,奇数减1,怎么写?

答案:

「小马java」12、数组(欲吃之罪,何患无辞?)

第三题答案

今天你又进步了!加油


分享到:


相關文章: