Java(14)数组

Posted on 2023-02-01 22:07  弯弓射雕的男人  阅读(27)  评论(0编辑  收藏  举报

一、数组的基本概念
1、什么是数组
数组是相同类型元素的集合。

创建数组的时候,Java就会再内存中分配一段连续的空间来存放数组的内容。

每一个数组内容都有自己的编号,这个编号从0开始的,也就是数组的下标从0开始。通过数组的下标来访问数组的内容。

2、一维数组的创建和初始化
创建一个数组:

 

T[] 数组名 = new T[N];

T:数组中元素的类型。

T[]:表示是数组类型,[]也可以放在数组名的后面。这里的[]不能有任何的数组

N:创建数组要的长度。 

 

int[] array1 = new int[10]; // 创建一个可以容纳10个int类型元素的数组
double[] array2 = new double[5]; // 创建一个可以容纳5个double类型元素的数组
String[] array3 = new String[3]; // 创建一个可以容纳3个字符串元素的数组

 

int[] array1 = new int[10]; // 创建一个可以容纳10个int类型元素的数组
double[] array2 = new double[5]; // 创建一个可以容纳5个double类型元素的数组
String[] array3 = new String[3]; // 创建一个可以容纳3个字符串元素的数组

要对数组进行初始化,有两种方式。

静态初始化:知道数组的内容,就可以静态初始化。

int[] arr = { 1,2,3,4 }; //省略情况
int[] arr = new int[] { 1,2,3,4 };//可以省略new int[]

当然,我们可以对数组的内容进行修改。将上面的array[0]改为20:

array[0] = 20;
System.out.println(array[0]);

2、数组的遍历
在Java中,对数组的遍历有两种方式:第一种是for,第二种是增强for(foreach)。

由于Java是面向对象的语言,在Java中,一切都是对象,比如数组。数组这个对象有它的属性,比如数组的长度等,基于这一点,我们可以不用刻意知道数组的长度,使用.length来获取数组的长度。

//for
int[]array = new int[]{10, 20, 30, 40, 50};
for(int i = 0; i < array.length; i++){
    System.out.println(array[i]);
}

 

//foreach
int[] array = {1, 2, 3};
for (int x : array) {
System.out.println(x);
}
//说明:
//int x :array
//数组中的数据类型+变量名,这里array数组里面的类型是int
//array是数组名
//foreach
double[] array = {1.0, 2.0, 3.0};
for (double x : array) {
System.out.println(x);
}

数组常用的方法

Arrays.toString方法

将一维数组变成字符串。二维数组使用Arrays.deepToString方法。

Arrays.copfOf方法

从0下标来时复制指定长度数组的内容到新的数组中。

Arrays.copyOfRange方法

和Arrays.copfOf方法类似,这个是指定范围的拷贝。范围是左闭右开区间。

public static void main(String[] args) {
    int[] array = new int[] { 1,2,3,4 };
    int[] ret = Arrays.copyOfRange(array,2,4);
    System.out.println(Arrays.toString(ret));//[3,4]
}

Arrays.sort方法

对数组进行升序排序。

Arrays.equal方法

判断两个数组的内容是否相同

Arrays.binarySearch方法

二分查找数组内容,使用前先sort排序数组。

 

常见异常

NullPointerException 空指针异常

ArrayIndexOutOfBoundsException 索引值越界