java基础笔记-数组
三 数组
? Array 引用数据类型,在内存中开辟一整块连续空间
? 长度确认后不能更改
1.数组声明
? 前面 [ ] 的永远为空
//静态初始化
int[] array;
array = new int[]{1,2,3,4};
//动态初始化
String[] names = new String[5];
//array = new int[5]{1,2,3,4}; 错误
2.数组默认初始化值
? 0 0.0 char型也是0或者‘\u0000’ false String类型是null
3.内存解析
? int array = new int[]{1,2,3,4};
? 栈:存放局部变量
? 堆:存放new出来的结构,对象,数组
? 改变数组变量的指针,new出来的数组会被垃圾回收
4.二维数组
int[][] arr = new int[][]{{1,2,3},{4,5},{6,7,8}};
int[][] arr2 = new int[3][2];
int[][] arr3 = new int[3][];//没问题
5. Arrays工具类
import java.util.Arrays;
5.1 equals( int[] a , int[] b)
? 比较数组内容!
? 两个数组 都是null时,为false
5.2 void toString(int[] a )
? 输出数组信息,不是转String
5.2 fill(int[] a , int val)
? 填充指定值
5.4 sort()
? 底层用的快排
5.5 binarySearch( int[] arr, int key )
? 前提:一定要有序