数组
一、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);
}
}
}