数组是什么
数组指的就是一组相关类型的变量集合,并且这些变量可以按照统一的方式进行操作。
数组的作用是什么??
在程序中常常需要使用数组,利用循环可以对数组中的数据进行批量操作,大大提高了效率,十分方便。
数组的初始化
1.静态初始化
数组的初始化:
1.动态初始化: 数据类型 [] 数组名称 = new 数据类型 [长度];
eg: int [] arr = new int [10];然后通过下标索引为每个元素赋值
public class ArrayDemo{
public static void main(String[] args) {
int[] x = new int[3] ; // 开辟了一个长度为3的数组
System.out.println(x.length) ;
x[0] = 1 ; // 数组第一个元素
x[1] = 2 ; // 数组第二个元素
x[2] = 3 ; // 数组第三个元素
for (int i = 0; i<x.length ; i++) {
System.out.println(x[i]) ; // 通过循环控制索引下标更改
}
}
}
注意:new关键字的含义是在堆上开辟一块新的空间。只要有new关键字的出现,就意味着有新空间的开辟。
数组属于引用数据类型,因此在使用之前一定要开辟空间(实例化),否则就会产生NullPoninterException
2.静态初始化
在定义数组的同时设置元素的值。
简化格式:
数据类型 [] 数组名称 = {值1,值2,…};
完整格式:
数据类型 [] 数组名称 = new 数据类型 [] {值1,值2,…};
public class Test
{
public static void main(String[] args)
{
int[] arr1={1,2,3,4,5};//简化格式
int[] arr2 = new int []{1,2,3,4,5};//完整格式
}
数组常用操作
Java中提供了很多对数组操作的方法可以方便得实现对数组的各种操作。
1.数组长度: 数组名.length
2.数组排序: java.util.Arrays.sort(数组名) 升序
3.数组扩容:java.util.Arrays.(数组名称,新数组长度)
(这个很像C语言中的realloc函数)。
4.在数组中查找指定元素:Arrays.binarySearch(数组,指定元素)。
(看名字像是二分查找实现的)。
5.数组拷贝:System.arraycopy(源数组名称,源数组开始点,目标数组 名称,目标数组开始点,拷贝长度)。