数组是一种引用类型,有两个重要特征:定长,数组中各元素的数据类型一致。
程序中用到的很多算法都需要借助数组实现,如果程序中要是用大量数据类型相同的变量,若单个声明非常麻烦,有了数组就简单许多
一维数组是使用最频繁的,一维数组的使用包括声明,初始化,访问三个过程
数据类型[] 数组名; int[] arr;
初始化后才会分配空间,也就是必须得先初始化:
静态初始化和动态初始化
静态初始化:就是直接将元素一一列举出来
例如 int[] arr = {1,2,3,4};
动态初始化:就是用new分配空间,指定类型和长度,并且为每个元素一一赋值。如果没有赋值默认为0
例如 int[] arr = new int[10] ;
index是数组下标 从0开始到arr.length-1结束
Java 会对数组元素进行越界检查以保证安全性,如果你访问数组边界以外的元素会抛出异常
class HelloWord{
public static void main(String[] args){
//声明数组,并静态初始化
int[] arr = {1,2,3};
String[] str = {"i","love","you"};
//声明数组,并动态初始化
int[] d = new int[10];
d[8] = 1;//初始化其中的元素,其他没有初始化的,默认为0
/**
* Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10
* at cn.dg.learn_37.dg_interface.HelloWord.main(User.java:77)
* 越界报错
* */
System.out.println(d[10]); //访问越界了
}
} |