Java基础笔记09-数组简介
1.简介
- 数组是一个容器,当需要存储多个数据的时候,就需要有这么一个容器,以方便存储使用。
- 数组的特点:大小固定,数组中的数据必须是同一种类型的数据。
- 数组的优缺点:查询快(下标),增删速度慢
- 数组可以是多维的,在此只简单介绍一维与二维数组
2.语法
-
一维数组的定义有几种语法格式,在定义数组时中括号在变量名前后都可以。
-
数据类型[ ] 变量名 = new 数据类型[size];
-
数据类型 变量名[ ] = new 数据类型[size];
-
int[] arr = new int[4];//一个大小为4的整型数组,指定了数组大小,但没有直接给值 int arr[] = new int[4];
-
数组类型[ ] 变量名 = new 数据类型[]{值1,值2…};
-
数组类型 变量名[ ] = new 数据类型[]{值1,值2…};
-
int[] arr = new int[] {1,2,3,4};//直接给数据值,由值的数量来决定数组大小 int arr[] = new int[] {1,2,3,4}
-
数组类型[ ] 变量名 = { 值1,值2…};
-
数组类型 变量名[ ] = { 值1,值2…};
-
int[] arr = {1,2,3,4};//简写形式,常见的使用这种格式 int arr[] = {1,2,3,4}
-
-
数组值的获取查询
-
数组根据下标查询数组数据,下标对应了数据在数组中的位置
-
下标都是从0开始,这是固定不变的
-
获取数组大小的属性—length,即数组长度
-
数组的下标最大值为数组长度减一,不能超过这个数,否则编译会报错。
-
int[] arr = {1,2,3,4} System.out.println(arr[0]);//输出arr的第一个元素 System.out.println(arr.length); //获取arr的大小,即长度 System.out.println(arr[10]);//报错,数组下标越界异常,ArrayIndexOutofBoundsException
-
数组根据数据类型都有默认值,int型默认值为0,String型默认值为null。
-
3.二维数组
-
二维数组的定义有几种语法格式,在定义数组时中括号在变量名前后都可以。
-
数据类型 [ ] [ ] 变量名 = new 数据类型[行长度] [列长度];
-
数据类型 变量名[ ] [ ] = new 数据类型[行长度] [列长度];
-
int[][] arr = new int[4][4];//一个大小为4行4列的整型数组,指定了数组大小,但没有直接给值 int arr[][] = new int[4][4];
-
数组类型[ ] [ ]变量名 = new 数据类型[ ] [ ]{{值1,值2…},{值1,值2…}…};
-
数组类型 变量名[ ] [ ] = new 数据类型[ ] [ ]{{值1,值2…},{值1,值2…}…};
-
int[][] arr = new int[][] {{1,2},{3,4}};//直接给数据值,由值的数量来决定数组大小 int arr[][] = new int[][] {{1,2},{3,4}};
-
数组类型[ ] [ ]变量名 = {{值1,值2…},{值1,值2…}…};
-
数组类型 变量名[ ] [ ]= {{值1,值2…},{值1,值2…}…};
-
int[][] arr = {{1,2},{3,4}};//简写形式,常见的使用这种格式 int arr[][] = {{1,2},{3,4}};
-
4.举例
public class Array {
public static void main(String[] args) {
array1();
array2();
}
/**
* 定义一个一维数组,并进行遍历
*/
public static void array1(){
//定义一个一维数组
String[] arr1 = {"河南","浙江","福建"};
//遍历一维数组
for (int i=0;i<arr1.length;i++) {//遍历时遍历次数为数组长度
System.out.println(arr1[i]);
}
}
/**
* 定义一个二维数组,并进行遍历
*/
public static void array2(){
//定义一个二维数组
String[][] arr2 = {
{"南阳","洛阳","安阳"},
{"杭州","湖州","温州"},
{"莆田","厦门","龙岩"}
};
//遍历二维数组
for (int i=0;i<arr2.length;i++) {
for(int j=0;j<arr2[i].length;j++) {
System.out.println(arr2[i][j]);
}
}
}
}