1、一维数组
初始化
import com.test.*;public class Main {public static void main(String [] argv){int a[]={1,2};int b[]=new int[]{1,0,2};// int b[]=new int[3]{1,2,3}; ERROR 要么指定长度要么大括号里初始化数据算长度int[] c={1,2};int d[]=new int[10];}
}
基本类型默认为0,引用类型为null
import com.test.*;public class Main {public static void main(String [] argv){int a[]=new int [2];String b[]=new String[2];System.out.println(a[0]); //0System.out.println(b[0]); //null}
}
比较数组写for循环去比
import com.test.*;public class Main {public static void main(String [] argv){int a[]={1,2,3};int b[]={1,2,3};System.out.println(a.equals(b));//falseSystem.out.println(judge(a,b));//true}public static boolean judge(int a[],int b[]){for(int i=0;i<a.length;i++){if(a[i]!=b[i])return false;}return true;}}
foreach遍历数组元素
import com.test.*;public class Main {public static void main(String [] argv){int a[]={1,2,3};for(int i:a)System.out.print(i+" ");//1 2 3}}
基本类型数组不支持自动拆箱装箱,但每一个元素可以
引用类型数组可以赋值的
import com.test.*;public class Main {public static void main(String [] argv){int a[]={1,2,3};//Object object[]=a; ERROR ,数组不能装箱和拆箱Object object1=a[0]; //自动装箱成IntegerString str[]=new String[]{"22","11"};Object b[]=str;System.out.println(object1.getClass());//class java.lang.IntegerSystem.out.println(b.equals(str));//true}}
2、多维数组
初始化
import com.test.*;public class Main {public static void main(String [] argv){int a[][]={{1,2,3}};int [][]b={{}};int c[][]=new int[2][2];int d[][]=new int[][]{{1,2},{2,3}};int e[][]={{}};}}
遍历:
import com.test.*;public class Main {public static void main(String [] argv){int a[][]=new int[][]{{1,2},{2,3}};for(int i=0;i<a.length;i++){for(int j=0;j<a[i].length;j++){System.out.print(a[i][j]+" ");}System.out.println();}//1 2//2 3}}
3、可变长数组
如果同时存在其他参数,那么可变长参数只能放在最后
import com.test.*;public class Main {public static void main(String [] argv){String str[]=new String[]{"3","2","1"};arr(str); }public static void arr(String ...s){for(String i:s)System.out.print(i+" ");//3 2 1}
}