数组是一组具有相同类型的数据的数据结构
数组中的数据在内存中是连续存放的
使用方式是step1创建数组
step2操作数组
int [ ] arr=new int[5];
数组的类型是引用类型
♥数组如何进行遍历
package part6;
public class ArrayTest {
public static void main(String[] args) {
/* int o=23;
int[]arr = new int[5];
System.out.println(arr[0]);
arr[1]=1;*/
String[]ban200 =new String[50];
//遍历赋值
for (int i=0;i<ban200.length;i++){
ban200[i]="李俊强的同学"+i;
}
//遍历打印
for (int i=0;i<ban200.length;i++){
System.out.println(ban200[i]);
}
for(String name:ban200){
System.out.println(name);
}
}
}
方法的可变参数写法:
public static int getSum(int... nums){
}
实际上nums是数组。方法体内遍历后进行操作
数组的拷贝分为浅拷贝和深拷贝两种,浅拷贝只是引用传递,指向内存地址不变;
深拷贝
值传递,内存中新开辟空间
public class ArrayDemo4 {
public static void main(String[] args) {
/*数组拷贝*/
int[]arr ={3,42,31,33,12};
int[]arr1=arr;
arr1[0]=1;
//System.out.println(arr[0]);
//System.out.println(arr1[0]);
/*深拷贝,值传递*/
int[]arr2=new int[arr.length];
for (int i=0;i<arr2.length;i++){
arr2[i]=arr[i];
}
arr2[0]=42;
System.out.println(arr[0]);
System.out.println(arr2[0]);
}
}
Arrays工具类
package part6;
import java.util.Arrays;
public class ArraysDemo {
public static void main(String[] args) {
int[]arr={32,34,33,122,1321};
int i = Arrays.binarySearch(arr, 122);
System.out.println(i);
System.out.println(Arrays.toString(arr));
//数组拷贝
int[] newAray = Arrays.copyOf(arr, arr.length);
System.out.println(Arrays.toString(newAray));
//equals方法
boolean equals = newAray.equals(arr);
System.out.println(equals);
boolean equals1 = Arrays.equals(arr, newAray);
System.out.println(equals1);
//二维数组
int[][]arrs=new int[3][4];
arrs[0][1]=123;
arrs[0][2]=321;
System.out.println(Arrays.toString(arrs));
}
}
二维数组:就是数组中存的是N个一维数组