1.数组:
存放多个同一类型的数据,是引用数据类型/对象
2.使用:
1)动态初始化: 数据类型 数组名[] =new 数据类型 [大小];
Int a[]=new int [5];//int []a=new int [5];
2)动态初始化: 先声明数组 数据类型 数组名 [] //数据类型 []数组名
在创建数组后 给定大小 数组名=new 数据类型[大小]
3)静态初始化:数据类型 数组名[]={元素值,……………}
细节:
①数据是多个相同元素可以使任意类型数据的集合
②数组中的任意数据类型, 包括基本和引用类型
③数组创建后如果没有赋值,会有默认值 0/false/null
④注意下标不越界
3数组赋值机制
基本数据类型赋值,即具体的数据 均保存在栈内存,互不影响
引用类型赋值,传递的是地址,互相影响,地址保存在栈内存,值在堆内
4.查找
1)顺序查找
2)二分查找(有序数组)*
5.数组扩容 //缩减
定义新数组,扩大长度,并赋给旧数组。
6.二维数组
1)理解:每个元素是一维数组的数组构成二维数组
2)使用:
①动态初始化:
先声明 类型[] [] 数组名=new 类型 [大小][大小]
先声明 类型[] [] 数组名=new 类型 [大小][大小]
②动态初始化:
先声明 类型 数组名[][];
在定义(开辟空间)数组名=new 类型[大小][大小];
在赋值。
③动态初始化-列数不确定
类型[ ][ ] 数组名 = new 类型 [行数][ ] ;
For(int i=0;i<行数;i++){ 数组名[i] =new int[大小];}
④静态初始化
类型[] [] 数组名={{ },{ },{ },………}
// 类型[] [] 数组名=new int [ (不能给大小) ] {{ },{ },{ },………}