Definition and use of Java array

1、 Array concept

Multiple data of the same data type can be stored in the same container

1. Format

2. Array operation

2、 One dimensional array

1. Declaration and initialization

正确的方式:
	int num;//声明
	num = 10;//初始化
	int id = 1001;//声明 + 初始化
		
	int[] ids;//声明
	//1.1 静态初始化:数组的初始化和数组元素的赋值操作同时进行
	ids = new int[]{1001,1002,1003,1004};
	//1.2动态初始化:数组的初始化和数组元素的赋值操作分开进行
	String[] names = new String[5];

	int[] arr4 = {1,2,3,4,5};//类型推断

2. Reference of one-dimensional array

	//数组的角标(或索引从0开始的,到数组的长度-1结束。
		names[0] = "王铭";
		names[1] = "王赫";
		names[2] = "张学良";
		names[3] = "孙居龙";
		names[4] = "王宏志";//charAt(0)

3. Array attribute length

System.out.println(names.length);//5
System.out.println(ids.length);
说明:
数组一旦初始化,其长度就是确定的。arr.length
数组长度一旦确定,就不可修改。

4. Traversal of one-dimensional array

for(int i = 0;i < names.length;i++){
	System.out.println(names[i]);
}

5. Default initialization value of one-dimensional array element

6. Memory parsing of one-dimensional array

3、 Two dimensional array

1. How to understand two-dimensional array?

An array is an element that refers to an array of data types. It can also be an element that refers to a one-dimensional array a of data types. If it is also a one-dimensional array type, this array A is called a two-dimensional array.

2. Declaration and initialization of two-dimensional array

The right way:

int[] arr = new int[]{1,3};//一维数组
	//静态初始化
	int[][] arr1 = new int[][]{{1,3},{4,5},{6,7,8}};
	//动态初始化1
	String[][] arr2 = new String[3][2];
	//动态初始化2
	String[][] arr3 = new String[3][];
//也是正确的写法:
	int[] arr4[] = new int[][]{{1,5,9,10},8}};
	int[] arr5[] = {{1,8}};//类型推断

3. How to call 2D array elements:

	System.out.println(arr[1][0]);//2
	System.out.println(arr[1][1]);//null
	arr3[1] = new String[4];
	System.out.println(arr3[1][0]);
	System.out.println(arr3[0]);//

4. Properties of two-dimensional array:

	System.out.println(arr4.length);//3

		System.out.println(arr4[0].length);//3

		System.out.println(arr4[1].length);//4

5. Traverse two-dimensional array elements

	for(int i = 0;i < arr4.length;i++){		
		for(int j = 0;j < arr4[i].length;j++){
			System.out.print(arr4[i][j] + "  ");
		}
		System.out.println();
}

6. Two dimensional array memory parsing

4、 Common array algorithms

1. Yanghui triangle

	// 1. 初始化二维而数组
		int[][] arr1 = new int[10][];

		for (int i = 0; i < arr1.length; i++) {
			arr1[i] = new int[i + 1];
			
			// 给每行首位元素赋值
			arr1[i][0] = arr1[i][i] = 1;
			// 给每行非首位元素赋值
			for (int j = 1; j < arr1[i].length - 1; j++) {
				arr1[i][j] = arr1[i - 1][j - 1] + arr1[i - 1][j];

			}

		}
		
		// 遍历二维数组
		for (int i = 0; i < arr1.length; i++) {
			for (int j = 0; j < arr1[i].length; j++) {
				System.out.print(arr1[i][j] + "\t");
			}
			System.out.println();
		}

2. Bubble sorting

int[] arr = new int[]{43,32,76,-98,64,33,-21,99};
		
		//冒泡排序
		for(int i = 0;i < arr.length - 1;i++){
			
			for(int j = 0;j < arr.length - 1 - i;j++){
				
				if(arr[j] > arr[j + 1]){
					int temp = arr[j];
					arr[j] = arr[j + 1];
					arr[j + 1] = temp;
				}
				
			}
			
		}
		for(int i = 0;i < arr.length;i++){
			System.out.print(arr[i] + "\t");
		}

5、 Tool class for manipulating arrays

		//1.boolean equals(int[] a,int[] b):判断两个数组是否相等。
		int[] arr1 = new int[]{1,4};
		int[] arr2 = new int[]{1,4};
		boolean isEquals = Arrays.equals(arr1,arr2);
		System.out.println(isEquals);
		
		//2.String toString(int[] a):输出数组信息。
		System.out.println(Arrays.toString(arr1));
		
			
		//3.void fill(int[] a,int val):将指定值填充到数组之中。
		Arrays.fill(arr1,10);
		System.out.println(Arrays.toString(arr1));
		

		//4.void sort(int[] a):对数组进行排序。
		Arrays.sort(arr2);
		System.out.println(Arrays.toString(arr2));
		
		//5.int binarySearch(int[] a,int key)
		int[] arr3 = new int[]{-98,-34,34,54,66,79,105,210,333};
		int index = Arrays.binarySearch(arr3,210);
		if(index >= 0){
			System.out.println(index);
		}else{
			System.out.println("未找到");
		}
		

6、 Common exceptions in arrays

//1. 数组角标越界的异常:ArrayIndexOutOfBoundsExcetion
		int[] arr = new int[]{1,5};
		
//		for(int i = 0;i <= arr.length;i++){
//			System.out.println(arr[i]);
//		}
		
//		System.out.println(arr[-2]);
		
//		System.out.println("hello");
		
		//2.2. 空指针异常:NullPointerException
		//情况一:
//		int[] arr1 = new int[]{1,3};
//		arr1 = null;
//		System.out.println(arr1[0]);
		
		//情况二:
//		int[][] arr2 = new int[4][];
//		System.out.println(arr2[0][0]);
		
		//情况三:
		String[] arr3 = new String[]{"AA","BB","CC"};
		arr3[0] = null;
		System.out.println(arr3[0].toString());
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
分享
二维码
< <上一篇
下一篇>>