第三章:数组
2021年3月20日
11:26
数组的特点:
* ① 数组是有序排列的
* ② 数组属于引用数据类型的变量。数组的元素,既可以是基本数据类型,也可以是引用数据类型
* ③ 创建数组对象会在内存中开辟一整块连续的空间
* ④ 数组的长度一旦确定,就不能修改
数组是引用类型,引用类型的初始化要用new
// ① 一维数组的声明和初始化 int[] ids;//声明 // 数组是引用类型,引用类型的初始化要用new //1.1 静态初始化:数组的初始化和数组元素的赋值操作同时进行 ids = new int[]{1001,1002,1003,1004}; //1.2 动态初始化:数组的初始化和数组元素的赋值操作分开进行 String[] names = new String[5];
// 总结:数组一旦初始化完成,其长度就确定了。 |
⑤ 数组元素的默认初始化值 * > 数组元素是整型: 0 * > 数组元素是浮点型: 0.0 * > 数组元素是char型: 0或'\u0000' 0代表的ASCII符号,而不是'0' * > 数组元素是boolean型: false(因为boolean的底层中false是用0存储的,true是用1存储的) * * > 数组元素是引用数据类型时: null |
.length length属性获取数组的长度
静态赋值不可以不输入值,末尾最多有一个",",如果有多个","会报错,编译失败。末尾的这个","不会多算长度,只会算作最后一个元素的结尾
引用计数算法是一种判断“堆”中的数据是不是垃圾的方法
① 二维数组的声明和初始化 //静态初始化 int[][] arr1 = new int[][] {{1,2,3},{4,5},{6,7,8}}; //动态初始化 String[][] arr2 = new String[3][2]; //动态初始化2 String[][] arr3 = new String[3][]; |
int[] arr4 = {1,2,3,4,5};//省略的写法,类型推断
int arr5;
arr5 = {1,2,3,4,5};//错误的写法,分两行写不支持类型推断
int[][] arr6 = new int[][]{{1,2,3},{4,5},{6,7,8}};
int[] arr6[] = new int[][]{{1,2,3},{4,5},{6,7,8}};
int arr6[][] = new int[][]{{1,2,3},{4,5},{6,7,8}};
[]放在哪里都可以
⑤ 数组元素的默认初始化值 * 针对于初始化方式一:比如: int[][] arr = new int[4][3]; * 外层元素的初始化值为:地址值 * 外层元素的初始化值为:与一维数组初始化情况相同 * 针对于初始化方式二:比如:int[][] arr = new int[4][]; * 外层元素的初始化值为:null * 外层元素的初始化值为:不能调用,否则报错 |
int[] x,y[]; 效果等于:
int[] x;
int[] y[];
x是一个一维的数组,元素类型是int;
y是一个二维数组,元素类型是int;
求数组最大值、最小值的题中,
// 最大值和最小值不要初始化为0,因为如果数组是包含负数的话,0并不是最大的或最小的
// 并且max和min要在给数组赋完值之后初始化,要不然arr[0]默认还是0
int[] array1, array2; array1 = new int[] { 2, 3, 5, 7, 11, 13, 17, 19 }; array2 = array1; // array1和array2的地址值相同,都指向了堆空间中的同一个数组实体。这个不能称作数组的复制。 |
冒牌排序要会,快速排序要会。冒泡排序比较简单,快速排序用的最多,所以两个都要会
堆排序和归并排序要知道是怎么实现的,面试可能会问
快排时间复杂度:0(nlogn)
冒泡时间复杂度:0(n^2)
java.util.Arrays 操作数组的工具类的常用方法
// 1.boolean equals(int[] a,int[] b) 判断两个数组是否相等。 // 2.String toString(int[] a) 输出数组信息。 // 3.void fill(int[] a,int val) 将指定值填充到数组之中。 // 4.void sort(int[] a) 对数组进行排序。 // 5.int binarySearch(int[] a,int key) 对排序后的数组进行二分法检索指定的值。返回的值>=0代表找到了,返回负数是没找到。需要对返回的值做一个判断 |
引用数据类型的值,要么是地址值,要么是null
结尾
使用 Microsoft OneNote 2016 创建。 版权所有:古木苏