3.1 数组介绍
- 数组是用来存储一组相同数据类型数据的数据结构
- 数组的元素可以是简单类型的数据,也可以是引用类型的数据
- 无论数组内容是简单类型还是引用类型,数组自己本身都是一种引用类型
- 每个数组元素都有下标,下标从0开始
3.2 数组的创建
一维数组的声明
- 数组的定义方式有两种:
- 数据类型[] 数组名字;
- 数据类型 数组名字[];
- 在数组定义中,不能指定数组的长度,而需要在数组的创建阶段来指定
一维数组的创建
创建数组格式:
- 数组类型[] 数组名称 = new 数组类型[数组长度];
- 数组类型[] 数组名称;数组名称 = new 数组类型[数组长度];
- 数组类型[] 数组名称 = {值1,…,值n};
- 数组类型[] 数组名称 = new 数组类型[]{值1,…,值n};//在[]中不能指定数组大小
一维数组的赋值
- 数组的动态初始化:先声明数组,在赋值
- 数组的静态初始化:声明时进行赋值
注:
- 数值型元素默认值为0,浮点型元素默认值为0.0,boolean型元素默认值为false,char型元素默认值为空字符,引用型元素默认值为null,如字符串
- 通过下标可访问一维数组中元素
- 获取一维数组的长度,使用length属性
3.3 数组作为参数和返回值
-
一维数组作为参数:
- 传数组的引用
- 创建数组直接传,本质上也是传数组的引用
- 传null,不可用,会报错
public class Main { // 一维数组作为参数 public void m1(int[] a){ System.out.println("数组的长度是:" + a.length); } public static void main(String[] args) { Main m = new Main(); // 创建一个数组,传递这个数组的引用 int[] a = {1,2,3,4}; m.m1(a); // 创建数组直接传值 m.m1(new int[]{1,2}); // 传null,但是这个数组不可用 m.m1(null); } } ************打印结果如下:********************* 数组的长度是:4 数组的长度是:2 Exception in thread "main" java.lang.NullPointerException at com.company.Main.m1(Main.java:6) at com.company.Main.main(Main.java:18)
-
一维数组作为返回值:
- 返回数组的引用
- 直接创建一个数组返回,本质上是返回数组的引用
- 返回null
public class Main { // 数组作为返回值 // 创建一个数组,并返回引用 public String[] m2(){ String[] s = {"QQ","微信"}; return s; } // 创建一个数组直接返回 public String[] m3(){ return new String[]{"QQ","微信","支付宝"}; } // 返回一个null值,但是这个数组不可用 public String[] m4(){ return null; } public static void main(String[] args) { Main m = new Main(); String[] strings1 = m.m2(); System.out.println("数组的长度是:" + strings1.length); String[] strings2 = m.m3(); System.out.println("数组的长度是:" + strings2.length); String[] strings3 = m.m4(); System.out.println("数组的长度是:" + strings3.length); } }