Java的数组是一种简单的复合数据类型,他可以存储大量数据类型相同的数据,并且通过数组名加上不同的下标可以调用数组中不同的元素。
一.声明数组
一般来说,使用一个变量或一个常量,都需要先声明,数组也不例外。
dataType[] arr; //推荐使用这种
//或者
dataType arr[]; //不推荐使用这种
注意:dataType代表了你想声明什么数据类型的数组,是整型int,还是浮点数float等等。
二.创建数组
也叫数组的初始化,Java中如果只声明一个数组,而不初始化,当调用的时候,程序就会报错(可能尚未初始化变量arr)。
Java 中使用new操作符来初始化数组
初始化分为动态初始化和静态初始化:
//动态初始化
arr = new dataType[5];
//静态初始化
arr2=new dataType[]{1,2,3,4,5};
动态初始化:程序员可以自定义数组长度,元素的值由系统给定的默认值。
静态初始化:程序员给定了元素的值,由系统确定数组的长度。
我们可以将数组的声明和创建用一条语句来创建完成:
dataType[] arr = new dataType[arrSize];、
dataType[] arr = {value0, value1, ..., valuek};
三.处理数组
数组的元素的数据类型和元素个数都在声明和创建的时候确定了,所以处理这些数组元素的时候,我们通常采用 for循环 或者 for-Each:
For循环
public class Array {
public static void main(String[] args) {
int[] arr = new int[]{1,2,3}; //声明数组并初始化
for(int i=0; i<arr.length; i++){
System.out.println("arr[i]"); //打印数组下标为i的元素
}
}
}
运行结果:
For-Each循环
JDk1.5 引用了一种新的循环类型,被称为For-Each循环 或 加强型循环,它能在不使用数组下标的情况下遍历数组
语法格式:
for( type index arr){
System.out.println(index);
}
具体实例
public class Foreach {
public static void main(String[] args) {
int[] arr = new int[]{1,2,3};
for(int index: arr){
System.out.println(index);
}
}
}
运行结果:
四.二维数组
二维数组是一个特殊的的一维数组,每一个元素都可以看做成是一个一维数组。
二维数组的声明和创建和一维数组类似
dataType[][] arrName = new dataType[length1][length1];
注意:length1和lenggth2必须是整数,length1为行数,kength2为列数。
这就有了我们经常说的二位数组第几行第几列的叫法。
ps:二维数组在开发发时候使用的机率不高
五.拓展小知识
1.数组的下标 = 数组长度 - 1; 也就是说数组的下标是从0开始,而不是从1开始的。
2. 数组报错中最常见的两个错误:
1)ArrayIndexOutOfBoundsException(数组下标越界): 使用数组下标超过了创建数组时定义的长度。
2)NullPointerException (空指针异常):当创建数组的时候给了一个null,或者为未初始化。
请动动读者大大的小手手 关注一波 小小作者 帮忙涨涨粉丝 ,谢谢啦。