什么是数组
数组,是相同类型的数据按顺序组成的一种引用数据类型。
一维数组
数组声明
语法格式:
数据类型[] 数组名;
数据类型 数组名[];
例子:
int[] myIntArr;
int myIntArr[];
char[] chArr;
String[] strArr;
数组创建
语法格式一:先声明后创建。
数据类型[] 数组名;
数组名 = new 数据类型[数组长度];
例子:
int[] arr;
arr = new int[10]; //创建一个长度为10的整型数组
语法格式二:声明的同时创建数组。
数据类型[] 数组名 = new 数据类型[数组长度];
例子:
int[] arr = new int[10]; //创建一个长度为10的整型数组
注意:无论采用哪种格式,数组长度必须指定。
数组在内存中的存储
数组会被分配连续的内存空间,如下图,我们创建一个长度为5的int数组,会在内存中开辟一块连续空间,并且索引值从0开始,即a[0]指向数组的第一个元素。
数组的初始化
声明数组的同时给数组赋值,叫做数组的初始化。
例子:
int[] arr = {1,2,3,4,5,6,7,8,9,10};
数组的长度就是初始化时所给的数组元素的个数。
数组元素的引用
语法格式:
数组名[下标];
注意:下标从0开始。
例子:
int[] arr = {1,2,3,4,5,6,7,8,9,10};
我们可以通过属性length获取数组的长度,比如 arr.length 。如下图,我们可以看到数组每一个元素的引用。
public class ArrayDemo {
public static void main(String[] args) {
//声明一个整型数组
int[] intArr;
//声明一个字符串类型的数组
String strArr[];
//创建数组
intArr = new int[5];
strArr = new String[10];
//声明数组的同时进行创建
float[] floatArr = new float[4];
//初始化数组
char[] ch = {'a','b','c','d'};
System.out.println("ch的数组长度为:"+ ch.length);
System.out.println("intArr数组的第2个元素为:"+ intArr[1]);
System.out.println("strArr数组的第5个元素为:"+ strArr[4]);
System.out.println("floatArr数组的最后一个元素为:"+ floatArr[floatArr.length-1]);
//循环为整型数组赋值
for (int i=0;i<5;i++) {
intArr[i] = i+1;
}
//循环输出整型数组中的元素
for (int i=0;i<intArr.length;i++) {
System.out.print(intArr[i]+ " ");
}
}
}
/**
//程序运行后输出如下:
ch的数组长度为:4
intArr数组的第2个元素为:0
strArr数组的第5个元素为:null
floatArr数组的最后一个元素为:0.0
1 2 3 4 5
**/
增强型for循环
增强型for循环,又被称为foreach循环。
例子:
public class ForDemo {
public static void main(String[] args) {
int[] arr = {1,2,3,4,5};
for (int n : arr) {
System.out.println(n);
}
}
}
注意的问题:
1、数组是引用数据类型;
2、创建数组时,会开辟连续的内存空间;
3、数组长度使用length属性获取;
4、数组元素的下标从0开始;
5、数组下标越界问题。