上篇的内容不知道小伙伴们学习的怎样,我这里出几个问题帮助下你们巩固一下,你们看看能不能直接回答出来。java
做用:数组可用于存储同一类型的多个数据,是一个Java的数据容器程序员
特色:数组长度固定,存储数据类型一致数组
// 格式一(经常使用):数据类型[] 数组名称
int[] arr;
String[] arr;
Object[] arr;
// 格式二(该写法由C转Java的程序员使用的比较多):数据类型 数组名称[]
int arr[];
String arr[];
Object arr[];
什么是数组初始化?ide
java中变量使用前必须完成初始化,数组也同样,须要完成初始化才能使用。学习
数组初始化就是为数组分配内存空间,并为数组中每一个元素赋值。spa
数组的初始化分为动态初始化和静态初始化。指针
什么是动态初始化?code
动态初始化的格式是?orm
// 数组类型[] 数组名称 = new 数组类型[数组长度];
int[] arr = new int[3]; // 定义一个长度为 3 的 int 类型数组
格式说明:blog
数组变量存储的是什么?
什么是索引?
数组索引:数组元素的编号,从0开始,最大值为数组长度-1。
能够经过索引操做数组元素。
数组元素访问的格式?
// 数组名称[索引值]
int[] arr = new int[3];
//输出数组名,获得一个地址值
System.out.println(arr); //[I@880ec60
//输出数组中的元素,默认值0
System.out.println(arr[0]); // 首个元素对应索引值为 0
System.out.println(arr[1]);
System.out.println(arr[2]);
什么是静态初始化?
数组静态初始化的格式
// 数据类型[] 数组名 = new 数据类型[]{元素1, 元素2, 元素3...}
int[] arr = new int[]{1,2,3};
// 简化格式:数据类型[] 数组名 = {元素1, 元素2, 元素3...}
int[] arr = {1,2,3};
数组的动态初始化和静态初始化的区别:
int[] arr = new int[3];
int[] arr = new int[]{1,2,3};
int[] arr = {1,2,3};
数组索引越界异常:ArrayIndexOutOfBoundsException
产生缘由:访问到了数组中不存在的索引。
如何避免:在索引范围内访问数组元素。
int[] arr = {10,20,30};
// 下面代码会运行报错,由于arr索引范围为0~2,-1和3都不在范围内
System.out.println(arr[-1]);
System.out.println(arr[3]);
空指针异常:NullPointerException
产生缘由:数组地址为null,此时操做数组元素就会报空指针异常。
注意:一旦出现空指针异常,要在代码中进行修改或进行非空判断,避免空指针异常产生。
// 这种缘由大可能是因为方法返回值为 null 致使
int[] arr = method();
System.out.println(arr[0]);
如何获取数组长度?
如何遍历数组?
int[] arr = {10,20,30};
// 普通for循环
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
// 加强 for
for (int i : arr) {
System.out.println(i);
}
// stream 流
Arrays.stream(arr).forEach(System.out::println);
今天讲解的是数组的概述与基本使用,后面咱们还会讲解到集合,这二者在项目中的使用频率仍是很高的,小伙伴们必定要学好哦!