前面我们知道了Java中的数据类型可以分为两大类
一是:基本数据类型,二是:引用数据类型
引用数据类型又分为:类,接口和数组
这一次我们的内容就是数组
我们先了解一下为什么要有数组这个东西
假如让你定义一百个int类型的变量,并给他们每个都赋值
我相信你一定会搞得心烦意乱,这样也使我们代码太多的重复
好了,其实就是想骗你们用数组。
其实数组的的创建有很多种
第一种:
数据类型 [] 变量名 = new 数据类型 [参数]
参数:表示你想要这个数组的长度,一定不能为空也不能为0
参数不能过大,如果数组需求的内存超过了虚拟机的内存将会Bomm!
上手代码:
使用这种方法创建时,每个索引的值都为默认值
这时我们创建了一个数组,那么我们该如何去使用他呢?
这时就是有一个概念叫做:下标 (个人喜欢叫索引)
索引有很重要的一点就是:索引是从0开始的,从0开始,从0开始
使用索引时不能超过数组的长度,否则抛出异常,程序停止(和蓝屏差不多)
上面说了每个索引都为默认值,现在就给各个索引赋值吧
赋值?不就是等号吗?不不不,可以去参考一下前的赋值运算符文章
在这说一下数组越界的问题,其实有个简单的技巧
如数组长度为5,那么这个数组的最大索引就为4
最大索引长度就是数组长度减1的值,
原因其实很简单:
数组长度从1开始,数组索引从0开始
所以最大索引就比长度少1
赋完值后我们就要来使用值,当然是用索引了
如果是这样:
System.out.println(array[0]);
System.out.println(array[1]);
...
这肯定是不行的,代码重复性太高了
我们发现一个规律一直是索引在递增
利用这个规律,我们写个循环,从0开始一直递增
循环肯定需要一个循环条件,循环条件肯定是和索引有关系的
索引有个要求:不能超出最大索引,求最大索引的方法在上面说了
我们就差一个数组长度,使用语法:数组名.length 就可以得到长度
方法图:
这个方法还有一个响亮的名字:数组遍历
这里简要说明几个问题
1.为什么i初始化为0?
因为索引是从0开始的
2.循环条件简单解释一下
索引小于等于最大索引(数组长度-1)
3." "代表什么
其中是转义字符t 表示Tab,既每一次打印增加一个空格
运行结果:
8 45 36 56 16
到这时,我们任然发现这个数组赋值比较麻烦
就可以使用我们数组创建的第二种方法:
数据类型 [] 变量名 = {值,值,值};
这个方法就可以初始化且赋值,多个值使用逗号隔开
第三种:
数据类型 [] 变量名 = new 数据类型 [] {值,值,值};
这种方法有点像一和二的结合体,虽然我们从来没用过
这里有个要求就是两个[] 内不能有值
我们应该要掌握这些东西:
数据的创建,使用,遍历