基本概念
数组是一种引用数据类型,在内存中存储示意图如下:
![](https://i-blog.csdnimg.cn/blog_migrate/fab4be35b878640ad68969775581e4a5.png)
1.
数组是一组数据的集合
2.
数组作为一种引用类型
3.
数组元素的类型可以是基本类型,也可以是引用类型,但
同一个数组只能是同一种类型
4.
数组作为对象,数组中的元素作为对象的属性,除此之外数组还包括一个成员属性
length
,length
表示数组的长度
5.
数组的长度在数组对象创建后就确定了,就无法再修改了
6.
数组元素是有下标的,下标从
0
开始,也就是第一个元素的下标为
0,依次类推最后一个元素的下标为
n-1
,我们可以通过数组的下标来访问数组的元素
数组的声明
int [] a;
Student stu[];
int[] a, b, c;
//以上都正确
数组的创建
int[] data = new int[5];
//如果不赋值默认为该类型的默认值,以上数组默认为 0
Student[] student = new Student[2];
//空指针异常
student[0].id = 1001;
student[0].name = "张三";
//正确赋值
Student zhangsan = new Student();
zhangsan.id = 1001;
zhangsan.name = "张三";
student[0] = zhangsan;
使用初始化语句
int[] data = {1, 2, 3, 4, 5};
Student zhangsan = new Student();
zhangsan.id = 1001;
zhangsan.name = "张三";
Student lisi = new Student();
lisi.id = 1002;
lisi.name = "李四";
Student[] students = {zhangsan, lisi};
二维数组
int[][] data = new int[2][3];
int[][] data = new int[2][];
int[][] data = {{1,2},{1,2,3,4}};
sort和binarysearch
import java.util.Arrays;
Arrays.sort(data);
int index = Arrays.binarySearch(data, 3);