一、声明及其初始化
动态初始化(指定长度,系统自动赋初值):类型名[] 数组名 = new 类型名[长度];
int[] arr=new int[10];
int arr[]=new int[10];
静态初始化(指定内容,系统自动给容量):类型名[] 数组名 = {元素1,元素2……};
int[] arr={1,2,3};
快速初始化:Arrays.fill(数组名,初始值);
简化写法:arr = new int[]{1,2,3,4};
相当于:int[] annoymous={1,2,3,4}; arr = annoymous;
二、数组常用技巧
1、for-each 循环:循环数组(一行)的每一个元素(不可遍历二维数组,可用两个for循环解决)
2、Araays.toString(arr): 将arr转化为字符串,可打印出数组所有值
System.out.println(Array.toString(arr));
3、Arrays.copyOf(数组名,长度)
将arr的值赋给新创建数组arr1(容量为2*arr.length),多余元素自动赋初值0,长度不够则只赋前面元素
int[] arr1=Array.copyOf(arr,2*arr.length);
4、Arrays.sort(数组名):实现数组元素升序
5、Arrays.equals(数组1,数组2):比较两数组是否相同
6、Arrays.binarySearch(数组名,起始标号(包括该下标),终止标号(不包括),待查找值):查找成功则返回其下标,否则返回一个负数(需保证数组有序)
7、Arrays.deepToString(数组名):打印二维数组
8、不规则数组:java实际上没有多维数组,只有一维数组。多为数组为“数组的数组”,即一维数组中的元素为一维数组
故可以用arr[i]代表整个第i行
9、import java.util.Arrays; 引用Arrays函数需加上的头文件
三、代码展示
import java.util.Arrays;
public class Array2 {
public static void main(String[] args) {
int[] a=new int[5]; //创建一个具有5个元素的数组
Arrays.fill(a,14); //将数组a元素均初始化为14
int[] b= new int[]{1, 5, 10, 100, 580}; //创建一个具有5个元素的数组b,且进行初始化
int[] c=Arrays.copyOf(a,a.length); //创建一个数组c,并将a的值赋给它,不足补0
System.out.println(Arrays.binarySearch(b,0,b.length,10)); //从1~b.length中二分查找10这个数值(需有序)
System.out.println(Arrays.toString(c)); //将数组c转化为字符串
System.out.println(Arrays.toString(b));
System.out.println(Arrays.equals(a,b));//比较数组a和b是否完全一致
System.out.println(Arrays.binarySearch(a,10));
for(int k:c) {
System.out.println(k); //遍历打印出数组c的元素
}
}
}