创建一维数组
先声明,再用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};//第二种初始化方式
例:
![](https://i-blog.csdnimg.cn/blog_migrate/2201bcb1f4b5ebf108c15c217ce9a553.png)
运行结果为:
1
2
3
4
![](https://i-blog.csdnimg.cn/blog_migrate/bb40faa7bddfeae9ec9c933a230b277c.png)
创建二维数组
先声明,再用new关键字进行内存分配
声明二维数组语法:
数组元素的类型 数组名字[][];
数组元素的类型[][] 数组数字;
声明二维数组,如下:
int a[][];
第一种内存分配方式是直接为每一维分配内存空间,代码如下:
a=new int[2][4]
第二种内存分配方式是分别为每一维分配内存
![](https://i-blog.csdnimg.cn/blog_migrate/74170187a3e5b91f24a0e35f706a7767.png)
声明的同时为数组分配内存
int a=new int[2][4]
初始化二维数组代码
初始化二维数组代码:
int myarr[ ][ ]={{12,0},{45,10}} ;
初始化二维数组吧后,数组的下标都是从0开始
![](https://i-blog.csdnimg.cn/blog_migrate/ad21465db63023a0429d94aedb0815c8.png)
数组的基本操作
遍历数组
![](https://i-blog.csdnimg.cn/blog_migrate/a74d68b532af130125ab2114856bd40f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/db2500c5b899ffb2f0ffb0c0690511b1.png)
替换数组部分元素:前面改后面不改
Arrays.fill(数组名,前索引,后索引,值);
例:
![](https://i-blog.csdnimg.cn/blog_migrate/33482b7f9a9329abaa79d347c8f3f86b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1ad968c9b95fc80a230f48c2b6d93e1c.png)
数组排序
Arrays.sort(数组名)
![](https://i-blog.csdnimg.cn/blog_migrate/52aa7454408a333d3ccee73d5cd5dd90.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f9df4ae6562d4a771537af7aaa9f12da.png)
复制数组元素:空位补0溢出去掉
新数组名=Arrays.copyOf(旧的数组名,新数组的长度)
复制数组的部分元素:前在后不在
新数组名=Arrays.copyOFRange(旧的数组名,前索引,后索引);
![](https://i-blog.csdnimg.cn/blog_migrate/869298998020b90ad9f08de562a237f1.png)
运行结果:
4的索引位置是:1
查询数组元素:先排序再查询
索引=Arrays.binarySearch(数组名,元素);
查询数组元素:先排序再查询 前含后不含
索引=Arrays.binarySearch(数组名,前索引,后索引,元素);
例
![](https://i-blog.csdnimg.cn/blog_migrate/160903cafdc5eda23305e8b7aeb4e39d.png)
数组排序算法
冒泡排序
![](https://i-blog.csdnimg.cn/blog_migrate/b09184a531a5b6c7cf8ff18af9971703.png)
运行结果为:
>1>3>4>15>24>63
直接选择排序
![](https://i-blog.csdnimg.cn/blog_migrate/26990bba1afef05e4e7ea44f904b0a07.png)
运行结果为:
>1>3>4>15>24>63
反转排序
![](https://i-blog.csdnimg.cn/blog_migrate/251bf582dfef54141a63b0d297f5687d.png)