数组

一、数组赋值基本机制

1、与基本类型赋值比较:

基本类型赋值是值的拷贝,相互赋值之后,变量改变不会影响对方

但是数组赋值,两者是地址的传递,也就是说两个相互赋值的数组地址相同

如果一方的值改变,那么另一方也会改变,因为改变的是地址。

 

 2、数组拷贝:具有独立空间

使用new 重新定义空间,然后遍历赋值,两个数组地址独立就不会相互影响

3、数组反转(1、利用两个数组  2、一个数组组内交换,交换次数为arr.lenght/2)

二、数组长度改变

1、添加(扩容):定义一个新数组,长度加一,赋值后,再将原来的数组指向新赋值的数组;

2、删除(缩减):同样,定义新数组,然后赋值,最后再将新数组赋值到原来的数组中,新数组销毁;

三、排序

 

 

1、内部排序(冒泡排序)

public void ArrayPop(){
int arr[] = {21,54,1,5,78,123,34};
int temp = 0;
for (int i = 0; i < arr.length-1; i++) {
for (int j = 0; j < arr.length-i-1 ; j++) {
if (arr[j] > arr[j+1]){
temp = arr[j];
arr[j]=arr[j+1];
arr[j+1] = temp;
}
}
}
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i] + " ");
}
}

四、二维数组

1、对于二维数组

 

 遍历长度:

第一层数组长度【arr.length】

第二层数组长度【arr[i].length】:表示第i个一维数组的长度;

 2、创建一个二维数组,但是二维数组中的一维数组的长度不同:

int[][] arr = new int[3][];     ::::二维空间的长度已经定义了,但是二维数组中的一维数组长度还没有定义,所以

还需要为二维数组中的一维数组开辟新的空间;

 

 

 

 3、数组int[] arr = new int[3];

其中arr[0],arr[1]、arr[2]都是默认0;

 

 


posted @ 2021-06-08 16:58  代码红了一大片  阅读(61)  评论(0编辑  收藏  举报