一、什么是数组?
数组指的是一种容器,可以用来存储同种数据类型的多个值。
同种数据类型我们不能理解的太死,例如现在定义了一个数组,限定以后能存double类型的小数。但现在有这样一堆数:有小数有整数,是否能存进去?
答案是可以的,之前学习过隐式转换,整数存进去后会自动转换成小数。
二、总结
- 数组容器在存储数据的时候,需要结合隐式转换考虑。
- 建议:容器的类型,和存储的数据类型保持一致
三、数组的定义
数组的定义和之前学习变量的定义非常类似。例如 int a = 0
,但这句话其实是做了两件事情:等号左边叫定义,等号右边叫赋值
而我们学习数组的定义是等号左边那部分。数组的定义一共有两种格式,比定义变量多了一个中括号。
- 数据类型限定了数组以后能存什么类型的数据。
[ ]
表示我们现在定义的是一个数组,如果没写[ ]
就表示你现在定义的是一个变量。- 数组名:就是一个名字,方便以后我们使用。
[ ]
跟数组名
是没有先后顺序的。个人习惯是第一种格式。
四、数组的初始化
初始化:就是在内存中,为数组容器开辟空间,并将数据存入容器中的过程。
数组初始化的两种方式:1、静态初始化;2、动态初始化
静态初始化
完整格式。在大括号中写上要存入数组中的多个元素就可以了,每个元素之间用逗号隔开。
数据类型[] 数组名 = new 数据类型[] {元素1, 元素2, 元素3...};
示例:
int[] arry = new int[] {11, 22, 33};
double[] arry = new double[] {11.1, 22.2, 33.3};
由于完整格式书写起来不太方便,因为它比较长。所以以后实际开发的时候,一般不会用它的完整格式,而是使用它的简写格式。
它的简写格式就是将 new 数据类型[]
直接省略,等号的右边直接写大括号。
数据类型[] 数组名 = {元素1, 元素2, 元素3...};
示例:
int[] arry = {11, 22, 33};
double[] arry = {11.1, 22.2, 33.3};
当数组初始化执行完毕后,在内存中就会开辟一块大空间,例如我现在要在数组中存三个元素,所以就会把大空间里分成三个小格子,每一个格子里装一个元素。
数组一旦创建完毕,长度就不能发生变化。
代码示例
package com.itheima.arraydemo;
public class ArrayDemo1 {
public static void main(String[] args) {
//格式:
//静态初始化
//完整格式:
//数据类型 [] 数组名 = new 数据类型[]{元素1,元素2....};
//简化格式:
//数据类型 [] 数组名 = {元素1,元素2....};
//需求1:定义数组存储5个学生的年龄
int[] arr1 = new int[]{11, 12, 13, 14, 15};
int[] arr2 = {11, 12, 13, 14, 15};
//需求2:定义数组存储3个学生的姓名
String[] arr3 = new String[]{"zhangsan", "lisi", "wangwu"};
String[] arr4 = {"zhangsan", "lisi", "wangwu"};
//需求3:定义数组存储4个学生的身高 1.93
double[] arr5 = new double[]{1.93, 1.75, 1.73, 1.81};
double[] arr6 = {1.93,1.75,1.73,1.81};
}
}