1.数组的声明:
1.数据类型 数组名[] = null;数组名 = new 数据类型[数组长度];
//int arrayInt[] = null;arrayInt = new int[100];
2.数据类型 数组名[] = new 数据类型[数组长度];
//int arrayInt[] = new int[100];
注意:数组声明后,名字都在栈空间里面,初始化(new)之后内容在堆里面;
2.数组的初始化:
1.静态初始化:格式一 数据类型 数组名[] = {元素值1,元素值2,…………};
//int score[] = {1,2,3,4,5,6,7,8,9,0};
格式二 数据类型 数组名[] = new 数据类型[]{元素值1,元素值2,元素值3…………};
//String abc[] = new String[]{"asd","wer","jkl"};
2.动态初始化: String words[] = new String[3]; words[0] = "abc"; words[2] = "def"; words[3] = "ghi";
注意:boolean默认初始值为false;
3.访问数组元素:通过下标来访问;注:不要超出范围!;
4.获取数组长度以及foreach语句:
获取数组长度:int len =数组名.length;
foreach语句:for(数据类型 变量名:数组名){ //循环体 };
String language[] = new String[]{………………};
for (String lang:language){System.out.print(lang + "、")};
注意:用foreach的时候不能更改数组元素或给数组元素赋值;
5.二维数组:
声明:格式一:数据类型 数组名[][];
格式二:数据类型 [][]数组名;注:三种都未分配空间!
格式三:数据类型 []数组名[];
初始化与一位数组相似;
静态: int score[][] = new int[][]{{1,2},{2,3},{3,4,5},{5,6,7,8,9}};注:这里取最大的为列数;
动态: int score[][] = new int[3][4]; score = new int[][]{{1,2},{2,3,4},{4,5,6,7}};
6.数组的深入使用:
public static void main(String[] args) 中有一个 String[] args 参数,很明显这是一个字符串数组!^_^,若在Java命令行后面带上参数,Java虚拟机就直接
可以把它们存放到main()方法中的String数组里面。(就是在启用这个java文件的时候若在dos里面的Java类名后面写一写字母就可以初始化args里面的值了);
7.Arrays类的用法:
static int binarySearch(int[] a,int key):这个方法使用于在a数组里面找有没有key元素的(若没有返回负数);
static int[] copyOf(int[] original,int newLength):在original里面复制newLength个长度;
static int[] copyOfRange(int[] original,int from,int to):把original从from复制到to;
static boolean equals(int[] a,int[] a2):比较两个数组是否相等;
static void fill(int[] a,int val):将制定的val分配给指定的int