【本节目标】
1、理解数组基本概念
2、掌握数组的基本用法
3、数组与方法互操作
4、熟练掌握数组相关的常见问题和代码
1.数组的基本概念
1.1 为什么要使用数组
有一组类型相同的数据需要存放在一起,这就是所谓的数组。
1.2 什么是数组
数组:可以看成是相同类型元素的一个集合。在内存中是一段连续的空间。在java中,首先数组中存放的元素类型相同;其次,数组的空间是连在一起的;然后每个空间有自己的编号,起始位置的编号是0,即数组的下标。
1.3 数组的创建及初始化
1.3.1数组的创建
例如:
int[] array1 = new int[66];
double[] array2 = new double[6];
String[] array3 = new String[3];
1.3.2数组的初始化
初始化分为动态初始化与静态初始化
1、动态初始化:在创建数组时,直接指定数组中元素的个数
int[] array = new int[10];
2、静态初始化:在创建数组时不直接指定元素个数,而直接将具体的元素内容指定
int[] array1 = new int[]{1,2,3,4};
double[] array2 = new double[]{1.0,2.0,3.0,4.0};
String[] array3 = new String[]{"hello","java"};
【注】1、静态初始化可以简写,省略后面的new T [ ]。
2、静态初始化时必须保证前后数据类型一致。
3、如果不确定数组当中内容时,使用动态初始化,否则建议使用静态初始化。
4、如果数组没有初始化,数组元素有其默认值。
类型 默认值 byte 0 short 0
int 0 long 0 float 0.0f double 0.0 char /u0000 boolean false 5、如果数组中存储元素类型为引用类型,默认值为null。
1.4 数组的使用
1.4.1 数组元素的访问
数组在内存中是一段连续的空间,空间的编号都是从0开始的,依次递增,该编号称为数组的下标,数组可以通过下标访问其任意位置的元素,也可以通过[ ]对数组中的元素进行修改。
【注】1、支持随机访问,即通过下标快速访问数组中任意位置的元素。
2、下标从0开始,[0,N)坐闭右开,不能越界,否则编译器会报下标越界异常。
抛出java.lang.ArrayIndexOutofBoundsException异常。
1.4.2 遍历数组
遍历:是将数组中的所有元素都访问一遍,访问是指对数组中的元素进行某种操作。比如打印:
int[] array = new int[] {10,20,30,40,50};
for(int i = 0; i < array.length; i++){
System.out.println(array[i]);
}
也可以用for-each(for循环的另外一种)遍历数组:
int[] array = {1,2,3};
for(int x : array){
System.out.println(x);
}
2、数组是引用类型
2.1初始JVM的内存分布