1. 数组的基本概念
1.1 什么是数组
在Java中,数组用于存储相同类型的多个元素,即数组可以理解为是相同类型元素的集合。例如
这就是一个整型数组,包含5个整形类型元素的数组,从上图我们可以总结数组的特点:
数组的特点
- 连续的内存
- 存储得是相同数据类型的数据集合
那么我们应如何创建数组呢?
1.2 数组的创建于初始化
1.2.1 数组的创建
T[] 数组名 = new T[N];
T:表示数组中存放元素的类型
T[]:表示数组的类型
N:表示数组的长度
例如
int[] array1 = new int[10];
double array2 = new double[10];
String[] array3 = new String[10];
1.2.2数组的初始化
数组的初始化主要分为动态初始化以及静态初始化。
** 1. 动态初始化:在创建数组时,直接指定数组中元素的个数 **
int[] array2 = new int[10];
** 2. 静态初始化:在创建数组时不直接指定数据元素个数,而是将具体的数据内容进行指定**
int[] array1 = new int[]{1,2,3,4,5};
也可以省略new int[ ] ,即
后面的{1,2,3,4,5} 称为对象,而new是用来实例化对象的。
int[] array1 = {1,2,3,4,5};
注意:
- 静态初始化虽然没有指定数组的长度,但编译器在编译时会根据{}中元素个数来确定数组的长度。
- 静态初始化时, {}中数据类型必须与[]前数据类型一致。
- 大多数宝子们是先学习的C语言,所以创建数组时的格式为
int array4[] = {1,2,3,4,5};
在Java中可以按照C语言格式来创建并初始化数组,但是不推荐。
不准用!!!使用Java语言时用C语言格式,显得像个外行
- 如果没有对数组进行初始化,数组中元素有其默认值
- 如果数组中存储元素类型为基类类型,默认值为基类类型对应的默认值,比如:
类型 | 默认值 |
---|---|
byte | 0 |
short | 0 |
int | 0 |
long | 0 |
float | 0.0f |
double | 0.0 |
char | /u0000 |
boolean | false |
- 如果数组中存储元素类型为引用类型,默认值为null
1.3 数组的使用
手跟个残废似的,就是画不好
如图,上述是一个可以存储五位整型的整型数组,下标是从0开始标记数据的位置。
1.3.1 数组中元素的访问
**数组在内存中是一段连续的空间,下标都是从0开始的,依次递增,数组可以通过
下标访问其任意位置的元素。**例如上述数组
int[] array = new int[]{1,2,3,4,5};
System.out.println(array[0]);
System.out.println(array[1]);
System.out.println(array[2]);
System.out.println(array[3]);
System.out.println(array[4]);
同理,我们也可以通过这种方式对某个元素进行修改。
注意
下标从0开始,介于[0, N)之间不包含N,N为元素个数,不能越界,否则会报出下标越界异常。例如
1.3.2 数组中元素的遍历
所谓 “遍历” 是指将数组中的所有元素都访问一遍, 即打印。例如
int[] array = new int[]{1,2,3,4,5};
System.out.println(array[0]);
System.out.println(array[1]);
System.out.println(array[2]);
System.out.println(array[4]);
上述代码虽然可以实现将数组中的元素遍历,但是如果这个数组中有一百个元素,难道我们要一行一行打印吗?
其实我们可以借助前面学到的循环来遍历数组,例如
int[] array = new int[]{1,2,3,4,5};
for(int i = 0;i < 5;i++){
System.out.println(array[i]);
}
但是我们运用词循环的前提是知道该数组的长度,当我们不知道数组的长度时,可以通过 数组对象.length 来获取数组的长度,例如
int[] array = new int[]{1,2,3,4,5};
for(int i = 0;i < array.length;i++){
System.out.println(array[i]);
}
也可运用其他循环方式,比如while ,for each等等。
剩下的明天吧,嘻嘻
明天不更新就击毙我自己