数组的一些内容

关于数组

数组的基本概念

什么是数组

数组就是一组相同类型的数。

数组的定义形式

数组的一些内容
上图就是一位数组的三种定义形式。

数组的使用

数组的使用分为数组长度的获取以及数组内元素的访问。

数组长度的获取

数组的一些内容
如上图所示,arr.length表示arr这个数组的长度,也就是这个数组中总共包含多少个变量。

数组中元素的访问

  1. for (int i = 0; i < array2.length; i++) {
    System.out.print (array2[i] + " ");
    }
    用for循环对数组进行遍历输出。

  2. int[] arr = {1, 2, 3};
    for (int x : arr) {
    System.out.println(x);
    }
    用for-each对数组进行打印。

  3. System.out.println(Arrays.toString(array2));
    System.out.println();
    用Arrays将数组打印为字符串,在答应的过程中Arrays包必须进行调用。import java.util.Arraysd ;

数组作为方法的参数

在java中,传参的方式为按值传递,只不过Arr中存放的是数组的地址,所以在数组的传参过程中,传递的是这个数组的引用。其中,形参就是实参的一个拷贝。
例如public static void func(int [] arrray){
array[0] = 99;
}
public static void main (String [] args){
int [] array1 = {1,2,3,4,5};
func(array1);
System.out.println(Arrays.toString(array1));
}
由上述代码可以看出,输出结果为99,2,3,4,5。是因为array以及array1指向同一个数组,所以无论是array[0]还是array1[0]改变,数组中的值都会发生改变。

初识jvm

数组的一些内容
jvm的内部组成由上图所示。
具体的:
数组的一些内容

数组的拷贝

拷贝分为深拷贝和浅拷贝

深拷贝

数组的一些内容
如果数组当中为简单类型,那么就是深拷贝。

浅拷贝

数组的一些内容
如果数组中是引用类型,那么就是深拷贝。

数组排序问题

二分排序

数组的一些内容

冒泡法

数组的一些内容

二维数组

二维数组的定义方式也有三种
数组的一些内容
数组的一些内容
由上图可以看出,二维数组的行和列的地址存放在一个两行一列的数组中,而我们用来表示二维数组的array[][]中所存放的应该是地址的地址。
二维数组的读取就是用两个for循环来做或者Arrays.DeeptoString()语句。