目录
课前先导
之前我们讲过变量是存储数据的空间(装数据的容器);数组也是存储数据的空间(装数据的容器);不过不同的是:变量中只能存储一个数据,数组中可以存储多个相同类型的数据;就像我的胃和婴儿的胃;胃是用来装食物的;食物就相当于数据类型;我的胃可以装米饭;馒头;肉;蔬菜,抢来的奶粉等,婴儿的胃呢,只能装奶粉。
数组定义:有限个类型相同的变量的集合;
一、数组的组成部分
(1)元素类型:用来规定数组中存储的数据的类型;
(2)标识符:数组的名称;取名规则和变量一样;
(3)数组元素:数组中存储的每一个数据称之为数组元素;
(4)元素下标:因为数组在内存总是连续的空间;我们需要用到这个数组元素的时候;要在这个内存空间里找到它,所以我们就给数组内的元素编上号,通过编号来找到它,数组下标是从0开始的,最后一个元素的下标要用数组的长度减去一。
数组下标为什么从0开始?
我们获取数组中的元素时,是通过地址来获取的,数组元素地址=数组首地址+数组下标*数据类型字节长度;数组是从第一个元素开始开辟空间;即第一个数组元素的地址就是数组的首地址;下标如果从1开始,拿int类型举例,数组的首地址为1000,每个int类型占4个字节,第一个数组元素的地址是1000+1*4=1004,与数组首元素不相同。
二、定义数组的三种方式
- [ ] : 表示数组;
- new:关键字,创建数组或者对象使用的关键字。
- [长度]:数组的长度,表示数组容器中可以存储多少个元素。
- 注意:数组有定长特性,长度一旦指定,不可更改
(1)数据类型[] 变量名 = new 数据类型[长度];
int[] arr = new int[5];
(2) 数据类型[] 变量名 = {元素,元素,元素};
int[] arr = {1,2,3,4,5};
(3)数据类型[] 变量名 = new 数据类型[]{元素,元素...};
int[] arr = int[]{1,2,3,4,5}
三、数组元素的赋值及操作(访问数组)
每一个存储到数组的元素,都会自动的拥有一个编号,从0开始,这个自动编号称为数组索引或数组下标,可以通过数组的索引访问到数组中的元素。
(1)给数组赋值
public static void main(String[] args){
int[] arr = new int[5];
arr[0] = 1;
arr[1] = 12;
arr[2] = 123;
arr[3] = 1234;
arr[4] = 12345;
System.out.println("数组中的第三个元素是:"+arr[2]);
}
(2)通过数组下标操作数组元素
public static void main(String[] args){
int[] arr = new int[5];
arr[0] = 1;
arr[1] = 12;
arr[2] = 123;
arr[3] = 1234;
arr[4] = 12345;
System.out.println("数组中的第三个元素是:"+arr[2]);
System.out.println("数组中的第五个元素是:"+arr[4]);
System.out.println("*****************************");
arr[2] += 7;
arr[4] +=10000;
System.out.println("数组中的第三个元素是:"+arr[2]);
System.out.println("数组中的第五个元素是:"+arr[4]);
}
四、遍历数组的方法
遍历:所谓遍历(Traversal),是指沿着某条搜索路线,依次对树(或图)中每个节点均做一次访问。访问结点所做的操作依赖于具体的应用问题, 具体的访问操作可能是检查节点的值、更新节点的值等。
就是把数组中的元素全都访问一遍!
1、获取数组长度(元素个数)的方法
语法格式:
数组名.length
2、通过for循环遍历数组
public static void main(String[] args){
int[] arr = new int[5];
arr[0] = 1;
arr[1] = 12;
arr[2] = 123;
arr[3] = 1234;
arr[4] = 12345;
for(int i = 0;i < arr.length;i++){
System.out.print(arr[i]+"\t");
}
}
3、增强for循环
增强for循环是JDK1.5之后提供的,用来实现对数组和集合中数据的访问
语法格式:
for(元素类型 变量名 : 要循环的数组或集合名){
...........
}
增强for循环里面定义的变量是用来接收数组或集合中每一个元素的
4、通过增强for循环遍历数组
public static void main(String[] args){
int[] arr = new int[5];
arr[0] = 1;
arr[1] = 12;
arr[2] = 123;
arr[3] = 1234;
arr[4] = 12345;
for(int num:arr){
System.out.print(num+"\t");
}
}
今天我们先来认识一下一维数组,也学习一下Java中出现的第四个循环语句——增强for循环,明天我们就见一下数组的应用。好了,今天的学习内容就这些,我是一米八、有腹肌、低于半小时你报警的Loveletter,觉得内容不错的小伙伴可以点点关注,我们下篇博文见,再见!