创建一维数组
先声明,再用new关键字进行内存分配
声明一维数组两种方式:
数组元素类型 数组名字[];
数组元素类型 [] 数组名字;
int arr[]; //声明int类型数组,数组中每个元素都是int类型数值
语法格式:
数组名字=new 数组元素的类型[数组元素个数];
数组名字:被连接到数组变量的名称
数组元素个数:指定数组中变量的个数,即数组的长度
为数组分配内存,代码如下:
arr=new int[5];
声明的同时为数组分配内存
数组元素的类型 数组名=new数组元素的类型[数组元素的个数];
声明并为数组分配内存,代码如下:
int month[]=new int[12]
初始化一维数组
int arr[]new int[]{1,2,3,5,25};//第一种初始化方式
int arr2[]={34,23,12,6};//第二种初始化方式
例:
运行结果为:
1
2
3
4
创建二维数组
先声明,再用new关键字进行内存分配
声明二维数组语法:
数组元素的类型 数组名字[][];
数组元素的类型[][] 数组数字;
声明二维数组,如下:
int a[][];
第一种内存分配方式是直接为每一维分配内存空间,代码如下:
a=new int[2][4]
第二种内存分配方式是分别为每一维分配内存
声明的同时为数组分配内存
int a=new int[2][4]
初始化二维数组代码
初始化二维数组代码:
int myarr[ ][ ]={{12,0},{45,10}} ;
初始化二维数组吧后,数组的下标都是从0开始
数组的基本操作
遍历数组
替换数组部分元素:前面改后面不改
Arrays.fill(数组名,前索引,后索引,值);
例:
Arrays.sort(数组名)
复制数组元素:空位补0溢出去掉
新数组名=Arrays.copyOf(旧的数组名,新数组的长度)
复制数组的部分元素:前在后不在
新数组名=Arrays.copyOFRange(旧的数组名,前索引,后索引);
运行结果:
4的索引位置是:1
查询数组元素:先排序再查询
索引=Arrays.binarySearch(数组名,元素);
查询数组元素:先排序再查询 前含后不含
索引=Arrays.binarySearch(数组名,前索引,后索引,元素);
例
数组排序算法
冒泡排序
运行结果为:
>1>3>4>15>24>63
直接选择排序
运行结果为:
>1>3>4>15>24>63
反转排序