数组的一些内容
关于数组
数组的基本概念
什么是数组
数组就是一组相同类型的数。
数组的定义形式
上图就是一位数组的三种定义形式。
数组的使用
数组的使用分为数组长度的获取以及数组内元素的访问。
数组长度的获取
如上图所示,arr.length表示arr这个数组的长度,也就是这个数组中总共包含多少个变量。
数组中元素的访问
-
for (int i = 0; i < array2.length; i++) {
System.out.print (array2[i] + " ");
}
用for循环对数组进行遍历输出。 -
int[] arr = {1, 2, 3};
for (int x : arr) {
System.out.println(x);
}
用for-each对数组进行打印。 -
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()语句。