课前小谈
最近看到网上十分火热的【华农兄弟】非常有意思。视频不多,人气却一路飙升、积累了大量的粉丝。视频非常有意思,找各种理由吃竹鼠。这只好像受伤了,我们把它烤了吧...(竹鼠心中肯定一万只草拟吗,难道不能抢救一下嘛??)。哈哈~~除了受伤,还有贪吃、抑郁、中暑...最后没有理由了,长得太漂亮了 也成为了被吃的理由...
那么问题来了:为什么简单的视频,会如此吸引人乐此不彼的观看呢?
我想道理很简单:就是三种“真实”。
真实的乡村气息:捣马蜂窝、逗狗、烤鱼、抓蛇、制作食材。没有镜头布景、编排。没有特意渲染的BGM和镜头特效。将我们从高楼林立的城市拉到了充满泥土气息的乡村。
真实的生活:为了吃竹鼠想尽办法的他们,搞笑又显得不那么靠谱。好像养几只还不够自己吃的。但实际,他们对待养竹鼠十分认真。竹鼠的吃什么,什么习性,恋爱情况都清清楚楚。
真实的人:捣马蜂窝、抓蜈蚣泡酒、品尝做好的竹鼠、高兴地就像一个胜利的孩子。他们展现的,是我们本可以触手可及 却正在远离我们的简单而且充实的生活瞬间。
课程内容
今天我们来讲一讲数组。
问:什么是数组呢?
答:当我们需要放1组相同类型的数,比如一个班的学生成绩。假如这个班10个人,我们要声明10个变量吗?没那么麻烦。这里我们声明一个数组就可以了。数组就像下面的调料盒一样,这个调料盒有4个格子,对应的可以保存4个数字。我们声明一个有10个格子的数组。就能保存这个班级所有人的成绩了。
下面我们来看看数组的样子。
int 是数组要存放的数据类型。[] 表示这是一个数组变量、{ }中的内容是数组中的元素。
数组初始化有两种方式:
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];
画个图说明一下。
红色是数组的角标。通过第一种静态初始化的方式我们得到如上图所示的数组。第二种动态初始化我们得到的数组中的元素全部都是0。
操作数组
1、设置数组的值
很简单 直接变量名加上中括号,中括号中间写上角标就可以了。
注意:数组角标都是从0开始的,不是从1开始的!
a数组0角标位置(第一个格子),保存的数字原来是8。通过a[0] = 10 。这个操作,将8改成了10。
b数组0角标的元素是系统默认初始化的(是0),这里赋值成了3。
2、取数组中的值
直接使用 a[角标] 就可以取出数组中的值了。
如图打印出来数组中的值。
计算a数组数字的总和。
3、注意点
- 数组的角标的最大值 是 数组长度 -1,因为角标是从0开始,不是从1开始。
- 数组一旦声明好了,长度是固定的,不能改变。
- 其他类型的数组与int类型的数组类似,这里就不啰嗦了。
二维数组
以上我们讲解的是一维数组,下面我们说一下二维数组。
二维数组像下面这个收纳盒一样,并不是一排,而是多排。
二维数组初始化
1、与一维数组相同有两种方式。静态初始化、动态初始化。
二维数组的保存示意图
2、设置数组中的值
直接使用 a[行角标][列角标] 就可以设置数组中的值。
a[0][1] 表示第1行 第2列 就是上图中的数字2。
b[0][0] 表示第1行 第1列
3、取数组中的值
直接使用 a[行角标][列角标] 就可以取出数组中的值了。
如图打印出来数组中的值。
课后开动脑筋
打印数组的时候,我们现在是一个一个打印的,很麻烦。
问:怎么才能一口气全部打印出来呢?
提示:利用for循环。数组名称.length 表示数组的长度 (如:a.length)
答案:
问:二维数组怎么全部打印呢?
答案:
问:一维数组 int[] a={1,2,3,4,5,6,7,8,9,10} 如果是偶数就加1,奇数减1,怎么写?
答案:
今天你又进步了!加油
閱讀更多 小馬學編程 的文章