数组创建
声明数组变量:
dataType[] arrayRefVar;
示例:
double[] myList;
创建数组
1.arrayRefVar = new dataType[arraySize];
2.dataType[] arrayRefVar = new dataType[arraySize]; //声明变量与创建合并,需指定数组大小
3.dataType[] arrayRefVar = {value0, value1, ..., valuek};//声明、创建并初始化,数组大小由编译器自动计算
注:数组索引从0开始,到arrayRefVar.length-1结束。即arrayRefVar[0]为首个元素,末尾元素为arrayRefVar[arrayRefVar.length-1]
遍历数组
1.for循环
public class QueryArray {
public static void main(String[] args) {
int[] array={1,2,3,4,5};
for(int i=0;i<array.length;i++){
System.out.println(array[i]);
}
}
}
输出结果
1
2
3
4
5
2.foreach循环
public class QueryArray {
public static void main(String[] args) {
int[] array = {1, 2, 3, 4, 5};
for (int n : array) {
System.out.println(n);
}
}
}
输出结果
1
2
3
4
5
快速打印数组
1.Arrays.toString
public class QueryArray {
public static void main(String[] args) {
int[] array={1,2,3,4,5};
System.out.println(Arrays.toString(array));
}
}
输出结果
[1, 2, 3, 4, 5]
2.Arrays.deepToString
public class QueryArray {
public static void main(String[] args) {
int[][] array = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
System.out.println(Arrays.deepToString(array));
}
}
输出结果
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
数组排序
1.基本数据类型排序-快速排序
public class SortArray {
//重写排序
static class MyComparator implements Comparator<Integer> {
@Override
public int compare(Integer o1, Integer o2) {
if (o1 > o2) {
return -1;// 从小到大排return 1,从大到小排return -1
}
if (o1 < o2) {
return 1;// 从小到大排return -1,从大到小排return 1
}
return 0;
}
}
public static void main(String[] args) {
int[] array = {12, 56, 34, 78, 99, 5};
System.out.println(Arrays.toString(array));
Arrays.sort(array);// 从小到大
System.out.println(Arrays.toString(array));
//实例化自定义排序器
MyComparator myComparator = new MyComparator();
//将int数组转为Integer对象数组
Integer[] integerArray = new Integer[array.length];
for (int i=0;i<array.length;i++) {
integerArray[i]=new Integer(array[i]);
}
//传入自定义排序器
Arrays.sort(integerArray, myComparator);//从大到小
System.out.println(Arrays.toString(integerArray));
}
}
输出结果
[12, 56, 34, 78, 99, 5]
[5, 12, 34, 56, 78, 99]
[99, 78, 56, 34, 12, 5]
java的基本数据类型有
boolean char byte short int float long double
对应的对象为
Boolean Character Byte Short Integer Float Long Double