Java一维数组:
(1)一维数组的定义:int []arr=new int []{1,2,3,4,5};Int []arr= new int[5];int []arr={1,2,3,4,5};
(java中可以创建数组长度为零的数组,但0不等同于null)
(2)一维数组的遍历:
for循环法:for(in t i=0;i<arr,length;i++)
System.out .println(arr[i]);
For each法:for(int element:arr)
System.out.println(element);//循环数组中的每一个元素
Arrays 类中的toString方法: Arrays.tostring(arr);
(3)一维数组的内存分布: java数组属于引用数据类型,new运算符会在JVM中的堆内存中创建一段空间,存放数组元素,并返回数组的引用;而数组变量[ ]arr则存放在栈中;
如图:int [] arr=new int[]{0,1,2,3,4,5};int []brr=new int[]{9,8,7,6,5,4};
(4)一维数组的拷贝:将一个数组变量拷贝给另一个数组变量,使两个变量引用同一个数组。
方法一:int[]arr=new int[]{1,2,3,4,5};int brr[]=new int[5];
For(int i=0;i<arr.length;i++)
Brr[i]=a[i];
方法二(数组扩容):int []arr=new int[]{1,2,3,4,5};
Int[] brr = Arrays.copyOf(arr,5);//第一个参数:原数组名 第二个参数:拷贝后新数组的长度;
若新数组大于原始数组的长度:如果数组元素是数值型,则多余的元素被赋值为0,如果为布尔型数组元素,则赋值为false;
若新数组的长度小于原数组的长度:则只拷贝最前面的数据元素;
int []arr = new int[]{1,2,3,4,5,6};
int []brr = new int[6];
brr= Arrays . copyOf(arr,arr.length);
arr=brr;
如图:
方法三:调用方法System.arraycopy()
int arr ={1,2,3,4,5};
Int brr= new int [100];
System.arraycopy( arr , 0 , brr , 0 , arr.length);//参数一:原数组;参数二:原数组中的起始拷贝位置;参数三:被拷贝数组;参数四:被拷贝数组中的拷贝起始位置;
参数五:希望拷贝的数组元素个数。
方法四:调用方法 数组名.clone()
Int []brr=arr.clone();//将arr中的数组元素拷贝进brr;