Chapter2 数组
2.1 数组概述
- 引用数据类型
- 内存中连续的空间
- 长度不能修改
2.2 一维数组
1. 声明与初始化
默认初始化值:// 1. 声明 int[] num; //2. 初始化 // 静态初始化 num = new int[]{1001,1002,1003,1004}; // 动态初始化 String[] names = new String[5];
- 整型: 0
- 浮点型: 0.0
- 字符: 0
- boolean:
false
- String:
null
2. 内存解析
- 局部变量:栈(stack)
- new-对象、数组:堆(heap)
- 常量池、静态域:方法区
2.3 多维数组
1. 声明与初始化
// 静态初始化 int[][] arr = new int[][]{{1,2,3},{1,2},{2,5}}; // 动态初始化1 String[][] arr2 = new String[3][2] //动态初始化2 String[][] arr2 = new String[3][]//arr2[i]=null
2. 数组长度
arr.length; arr[1].length;
3. 数组常见算法
- 冒泡排序
- 快速排序
2.4 Arrays工具类
boolean equals(array1,array2)
判断两个数组是否相等,boolean
String toString(array)
Arrays.toString(array1);
void fill(array, int b)
将指定值填充的数组中(即将数组中元素替换为该值)void sort(array)
对数组进行排序int binarySearch(array, int key)
寻找元素,返回索引位置,未找到则为负2.5 数组常见异常
- 角标越界异常
- 空指针异常