java 数组总结
数组定义:一组相关(相同)类型的变量的集合并且这些变量可以按照统一的方式进行操作。数组本身属于引用数据类型。
1:数组定义的三种方式
第一:
数据类型[] 数组名称=new 数据类型[长度]
int[] data= new int[10]
int[0]=1//动态初始化
int[1]=3
int[2]=4
第二:静态初始化
数据类型 数组名称={值,值,值…}
数据类型 数组名称=new 数据类型[]{值,值,值…}
int data[] ={1,2,3,4,5,6,7}
int data[]=new int[]{1,2,3,4,5,6}
2:如何得到一个数组对象
数组对象[下标]
System.out.println(data[2]);
3:如何得到数组的大小
数组对象.length
System.out.println(data.length);
4:如何遍历数组对象:
a: for +下标
for(int x=0;x<数组对象.length;x++){
System.out.println(数组对象[x]);
}
b:foreach
for(从数组里面取出来的一个元素:数组对象){
处理元素
}
for(int x:data){
//x--元素
System.out.println(x);
}
5:数组的复制:
1):错误的复制方式
只是内存里面的对象多了一个引用而已
2):笨重的复制方式
挨个进行手动复制
3):调用clone方法
不符合正常的应用开发
4):Arrays.copyOf(老数组对象,新数组长度);
5):System.arraycopy(1,2,3,4,5);
1: 要复制的原数组对象
2:元素组的下标及开始复制
3: 要复制到的目标数组
4:目标数组的起始位置
5:要复制的长度
注:1,3参数可以是同一个数组对象
从而实现的是一个数组的前后移动
6:数组排序
手动排序
冒泡排序
外层循环控制次数,内存循环控制下标
for(int y =0;y<data.length-1;y++){
for(int x=0;x<data.lenght-1;x++){
if(data[x]>data[x+1]){
int z=data[x]
data[x]=data[x+1]
data[x+1]=z
}
}
}