Java基础复习---数组

数组基础

把数组看作是一个同类型变量的集合,在同一个数组中的所有数据都有相同的数据类型,并且使用统一的数组名,通过下标来区分数组中各不同的元素

创建数组

数组的声明格式:

ArrayType ArrayName[ ];

ArrayType [ ] ArrayName;// 适用于对多个数组进行声明

例如:int array[ ];

    int [ ] array1,array2;

分配内存空间:使用new为声明的数组进行空间分配   array1 = new int[5];

数组的初始化

使用new的方式或使用大括号的方式

int array1 [ ] = new int[ ] { 1,2,3,4,5,6,7,8};  先创建一个数组,然后将括号里的值赋值给这个数组

int array [ ] = {1,2,4,5,6,7}将括号里的值赋值给一个创建好的数组

通过array.length方法获得数组的长度,即数组名.length


数组的使用

在进行数组复制时,可以直接将一个数组变量复制给另一个,这时候数组类型变量都会指向同一个数组。复制语句:array1 = array2元素


数组的排序

选择排序:对长度i的数组进行i遍遍历,第一遍遍历出最大的数组元素和数组第一个元素交换,第二遍将最大的和第二个元素交换,遍历n遍后,就会将所有的元素从大到小排序。

package ch01;

public class ChooseSortTest {
	public static void main(String[] args) {
		// 创建一个需要进行选择排序的数组
		int a[] = new int[] { 1, 3, 5, 2 };
		System.out.println("需要排序的数组:");
		for (int i = 0; i < a.length; i++) {
			System.out.print(a[i] + " ");
		}

		System.out.println();

		int key;// 记录选择排序开始时位置的值
		int index;// 记录选择排序开始比较时的位置
		int temp;// 完成将最小值交换到第一个位置时的中间量
		// 进行选择排序:最后数值从小到大排列
		// 先从第一个位置a[0]开始,以此类推
		for (int i = 0; i < a.length; i++) {
			index = i;
			key = a[i];
			for (int j = i; j < a.length; j++) {
				if (a[j] < key) { // 直到找到比第一个位置小的数
					index = j; // 记录此时小数的位置
					key = a[j]; // 记录此时小数的值
				}
			}// 与第一个位置的数进行交换
			temp = a[i];
			a[i] = a[index];
			a[index] = temp;
		}
		// 输出排序好的数组
		System.out.println("排序后的数组:");
		for (int i = 0; i < a.length; i++) {
			System.out.print(a[i] + " ");
		}

	}
}

冒泡排序:

package ch01;

public class MaopaoTest {
	public static void main(String[] args) {
		// 先创建一个需要排序的数组
		int test[] = new int[] { 2, 4, 5, 6, 1 };
		System.out.println("需要排序的数组:");
		// 依次遍历输出
		for (int i = 0; i < test.length; i++) {
			System.out.print(test[i] + " ");
		}
		int temp;// 定义一个冒泡时的中间位置
		System.out.println();
		// 进行冒泡排序:由小到大
		for (int i = 0; i < test.length; i++) {
			for (int j = i; j < test.length; j++) {
				if (test[j] < test[i]) {
					temp = test[i];
					test[i] = test[j];
					test[j] = temp;
				}
			}
		}
		System.out.println("进行冒泡排序后的数组:");
		for (int i = 0; i < test.length; i++) {
			System.out.print(test[i] + " ");
		}
	}
}



多维数组

是指使用多个索引来访问数组元素,它适用于表示表或其他比较复杂的内容

声明一个多维数组,需要一组括号来制定它的下标:int[ ][ ] Two = new int [5][5]

声明完成后,就需要对数组进行赋值:Two = {{1,2,3,4,5},{1,2,3,4,5},{1,2,3,4,5},{1,2,3,4,5},{1,2,3,4,5} }

对多维数组也可以使用for循环进行:

<span style="white-space:pre">					</span>for(int i=0;i<Two.length;i++){
<span style="white-space:pre">					</span>for(int j=0;j<Two[i].length;j++)
<span style="white-space:pre">					</span>Two[i] [k] = k++;
<span style="white-space:pre">					</span>}
实例:
package ch01;

public class TwoTest {
	public static void main(String[] args) {

		int[][] Two = new int[3][3];
		int k = 1;
		for (int i = 0; i < Two.length; i++) {
			for (int j = 0; j < Two[i].length; j++)
				Two[i][j] = k++;
		}
		
		System.out.println("输出Two数组");
		
		for (int i = 0; i < Two.length; i++) {
			for (int j = 0; j < Two[i].length; j++) {
				System.out.print(Two[i][j] +" ");
			}
			System.out.println();
		}

	}
}

猜你喜欢

转载自blog.csdn.net/u011296723/article/details/52770032