一、什么是数组?
1. 数组的概念
- 数组是一种最常见的数据结构,用于存储多个数据;
- 在Java中,数组中的元素具有相同的数据类型,数组本身是一种引用数据类型
2. 数组的特点
- 数组中的元素按线性方式排列,可以通过下标来访问数组中的每一个元素;
- 一旦初始化完成,数组在内存中所占的空间就固定下来了,即数组的长度不可以改变;
- 数组既可以存储基本数据类型的数据,也可以存储引用类型的数据,只要类型(对象哪些)相同即可;
3. 数组的声明
(1)两种方式
1. type[] arrayName;
2. type arrayName[];
4. 数组的初始化
(1)静态初始化
在初始化数组的时候,直接就把数据确定下来了
1. type[] arrayName = {data1, data2, data3, ...};//声明时立刻初始化才可以这样写
2. arrayName = new type[]{data1, data2, ...};//先声明了,后面再初始化
(2)动态初始化
初始化数组的大小,但是没有数据
- arrayName = new type[length];
- 整数类型默认值为0, 浮点类型默认值为0.0
- 字符类型默认值为'\u0000'
- 布尔类型默认值为false
- 引用类型默认值为null
5. 数组的访问
(1)访问元素
- arrayName[index];
- index是数组的索引(下标),从0开始的整数;
- 数组的第一个元素是arrayName[0], 最后一个元素是arrayName[length - 1];
(2)访问长度
- arrayName.length;
- length是数组的属性,通过它可以访问数组的长度;
6. 具体代码样例
package main;
import java.util.Random;
public class FirstApp {
public static void main(String[] args) {
// 1. 数组的声明
int[] first;
int second[];
// 2. 数组的静态初始化
first = new int[] {1, 2, 3};
second = new int[] {5, 9, 9, 4, 36, 56, 53};
int three[] = {1, 2, 3};// 这种方式的必须在声明的同时马上初始化
int[] four = {1, 2, 3};
// 3. 数组的动态初始化
int five[] = new int[15];
int[] six = new int[15];
// 4. 访问数组元素
System.out.println(second[5]);
int numbers[] = new int[6];
Random rand = new Random(100);
for (int i = 0; i < numbers.length; i++){
numbers[i] = rand.nextInt(33); // 随机生成数字在0 - 33之间(不含33),可能会有重复,但是先不管
System.out.print(numbers[i] + "\t");
}
System.out.println(' ');
for (int x: second) {
System.out.print(x + "\t");
}
System.out.println(' ');
}
}
// 伪随机数
7. 遍历数组两种方式
(1)for循环
for (int i = 0; i < arrayName.length; ++i){
System.out.println(arrayName[i]);
}
(2)foreach
for (type variableName:arrayName){
System.out.println(variableName);
}