數組
一、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);
}
}
}