CoreJava(第三章)數組-01

數組

一、For Each

1.格式

for(int element : a){
  System.out.print(element);
}

打印數值a中的每一個元素,一個元素佔一行。

2.Arrays.toString

Arrays.toString(a)	// 打印數組中的所有值,用逗號分隔開

3.完整代碼

package com.eleven.array;

import java.util.Arrays;

public class ForEachArray {
	public static void main(String[] args) {
		// 定義數組a
		int[] a = { 1, 3, 4, 6 };
		// 循環打印
		for (int element : a) {
			System.out.println(element);
		}
		// 使用Arrays.toString打印出數組裏面的所有值
		System.out.println(Arrays.toString(a)); // [1, 3, 4, 6]
	}
}

二、數組初始化

1.格式

int[] smallPries = {1,4,5,6,7,8};	// 創建數組對象,並初始化對象的值爲{1,4,5,6,7,8}

三、匿名數組

1.格式

		System.out.println(Arrays.toString(new int[] {1,4,5,5,3}));	// 創建一個匿名對象,初始化值爲[1, 4, 5, 5, 3],並打印輸出

四、數組拷貝

1.定義

允許將一個數組裏面的變量拷貝到另一個數組裏面。

2.完整代碼

package com.eleven.array;

import java.util.Arrays;

/**
 * 數組拷貝
 * @author eleven
 *
 */
public class ArrayCopy {
	public static void main(String[] args) {
		// 創建一個數組smallPrimes
		int[] smallPrimes = {1,3,4,5,6};
		System.out.println(Arrays.toString(smallPrimes));	// [1, 3, 4, 5, 6]
		
		// 將smallPrimes裏面的元素拷貝到luckyNumbers中
		int[] luckyNumbers = smallPrimes;	
		System.out.println(Arrays.toString(luckyNumbers));	// [1, 3, 4, 5, 6]
		
		// 將luckyNumbers中數組下標爲2的元素修改爲12
		luckyNumbers[2] = 12;
		System.out.println(Arrays.toString(luckyNumbers));	// [1, 3, 12, 5, 6]
		
		// copyOf:將一個數組裏面的元素拷貝到一個新的數組中
		int[] newLength = Arrays.copyOf(smallPrimes, smallPrimes.length);
		System.out.println(Arrays.toString(newLength));	// [1, 3, 12, 5, 6]
		
		// 第一個參數表示要拷貝的數組,第二個參數表示拷貝數組的長度(將數組長度擴大2倍)
		smallPrimes =  Arrays.copyOf(smallPrimes,2 * smallPrimes.length);
		System.out.println(Arrays.toString(smallPrimes));	// [1, 3, 12, 5, 6, 0, 0, 0, 0, 0]
		
	}
}

五、數組排序

1.定義

要對數組裏面的元素進行排序,可以使用Arrays.sort。

2.舉個栗子

產生一個抽獎遊戲中隨機數值組合。

package com.eleven.array;

import java.util.Arrays;
import java.util.Scanner;

public class ArraySort {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);

		System.out.println("你需要抽多少個數字?");
		int k = in.nextInt();

		System.out.println("你抽中的最高數字是多少?");
		int n = in.nextInt();

		// 用數字1-n填充數組
		int[] numbers = new int[n];
		for (int i = 0; i < numbers.length; i++) {
			numbers[i] = i + 1;
		}

		// 第二個數組
		// 將抽到的數字放到第二個數組中
		int[] result = new int[k];
		for (int i = 0; i < result.length; i++) {
			// 創建隨機數
			int r = (int) (Math.random() * n);
			// 在任意位置選取元素
			result[i] = numbers[r];
			// 將最後一個元素移動到隨機數的位置
			numbers[r] = numbers[n - 1];
			n--;
		}
		// 數組排序
		Arrays.sort(result);
		System.out.println("祝好運!");
		// 將結果打印輸出
		for (int r : result) {
			System.out.print(r);
		}
	}
}
發佈了92 篇原創文章 · 獲贊 285 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章