数组——初阶
-
数组是多个相同类型数据的组合,实现对这些数据的统一管理
-
数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型
-
数组属引用类型,数组型数据是对象(object),数组中的每个元素相当于该对象的成员变量
一维数组的声明方式:
type var[] 或 type[] var;
例如:
int a[];
int[] a1;
double b[];
Mydate[] c; //对象数组
Java语言中声明数组时不能指定其长度(数组中元素的数), 例如: int a[5]; //非法
随机数组
/*
数组 : 一组相同类型的数据的组合, 实现对这些数据的统一处理.
数组是通过for循环来实现统一处理的.
数组 == 循环.
任意数据类型都可以创建数组, 包括基本数据类型和引用数据类型.
数组声明 :
元素数据类型[] 数组名;
数组创建 :
数组名 = new 元素数据类型[元素个数];
数组元素的访问 :
数组名[偏移量]; // 底层操作是一个加法运算, 首地址+偏移量
偏移量也称为下标或索引或脚标
数组只要创建成功了, 它的每个元素都会自动的拥有缺省值0
局部变量(保存在栈中的变量) : 没有隐式初始化值, 因为它速度太快
数组元素(保存在堆中的变量) : JVM会自动隐式初始化, 初始化为0. 因为这里的数据最重要.
数组下标从0开始到length - 1, 其他的下标都是越界.
数组一旦创建, 它的长度绝不允许修改, 元素类型也绝不能改变. 所以数组是一个非常稳定的数据结构.
因为它的所有元素都是连续排列, 所以称它为顺序表.
*/
class ArrayTest3{
public static void main(String[] args) {
int [] arr = new int [8];
for (int i = 0;i < arr.length; i ++) {
arr [i] = (int) (Math.random() * 20);
}
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
int sum = 0;
for (int i = 0; i < arr.length; i++) {
sum += arr[i];
}
int avg = sum / arr.length;
System.out.println("avg: " + avg);
}
}
class ArrayTest8 {
public static void main(String[] args) {
int[] arr = new int[8];