java数组的定义和使用
一、java 数组描述
数组是一组相同数据类型元素的集合。在Java中数组属于引用类型,即数组是一个对象。这里的数据类型不仅含八大基本数据类型,还包含引用数据类型,如数组里面可以存数组,数组里面可以存放字符串。
二、java 数组作用
在程序中常常需要使用数组,利用循环可以对数组中的数据进行批量操作,大大提高了效率,十分方便。
三、java 数组声明方式
1、数据类型 [] 数组名称 eg:int [] a;
2、数据类型 数组名称 [] eg:int a [];
四、java 数组初始化
1、动态初始化
数据类型 [] 数组名称 = new 数据类型 [长度];
public class Test
{
public static void main(String[] args)
{
// 动态初始化
int[] arr = new int [5];
arr[0] = 0;
arr[1] = 1;
arr[2] = 3;
arr[3] = 4;
arr[4] = 5;
// 利用循环实处每一个元素的值
for(int i = 0;i < arr.length;i++)//数组名.length就是数组长度
{
System.out.print(arr[i]+" ");
}
}
}
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、匿名数组
利用完整格式,可以方便使用匿名数组,匿名数组就是没有名称的数组,本质是一块没有栈内存指向的堆内存。只能使用一次,用完就被回收了。
public class Test
{
public static void main(String[] args)
{
int[] arr = init();
for(int i=0; i < arr.length;i++)
{
System.out.print(arr[i]+" ");
}
System.out.println();
}
public static int[] init()
{
return new int[]{1,2,3,4,5};//方法返回一个匿名数组
}
}
2、二维数组
数组里的每一个元素都是是一个一维数组的数组被称为二维数组。
静态初始化
int[][] arr1 = {{1,2,3},{1,2}};//简化格式
int[][] arr2 = new int[][] {{1,2,3},{4,5}};//完整格式
动态初始化
int arr[][] = new int[2][3];//2 行个数,3,列个数
六、java 数组遍历
利用增强型for循环(foreach循环)打印多维数组。
格式:for(part1:part2){part3}
part2 是一个数组对象。
part1:定义一个变量,变量的类型是数组中元素的类型。
part3:循环体。
public class Foreach
{
public static void main(String[] args)
{
int[] arr1=new int[]{1,2,3,4,5};
int[][] arr2=new int[][]{{1,2,3},{4,5}};
int[][][] arr3=new int[][][]{{{1,2,3},{4,5}}};
//方法重载,方法的新参类型不同。
printArr(arr1);
printArr(arr2);
printArr(arr3);
}
// 利用增强型for循环打印一维数组
public static void printArr(int[] arr)
{
for(int i: arr)
{
System.out.print(i+" ");
}
System.out.println();
}
// 利用增强型for循环打印二维数组
public static void printArr(int[][] arr)
{
for(int[] data:arr)
{
for(int i: data)
{
System.out.print(i+" ");
}
}
System.out.println();
}
// 利用增强型for循环打印三维数组
public static void printArr(int[][][] arr)
{
for(int[][]data:arr)
{
for(int[]daat:data)
{
for(int i:daat)
{
System.out.print(i+" ");
}
}
}
System.out.println();
}
}
七、数组常用操作
1、数组长度: 数组名.length。
2、数组排序: java.util.Arrays.sort(数组名) 升序。
3、数组扩容:java.util.Arrays.(数组名称,新数组长度)。
4、在数组中查找指定元素:Arrays.binarySearch(数组,指定元素)。
5、数组拷贝:System.arraycopy(源数组名称,源数组开始点,目标数组 名称,目标数组开始点,拷贝长度)。