数组(array)是一种用于存储多个相同类型数据的存储模型
数组定义格式:
:::info
- 格式一:
- 数据类型[] 变量名 int[] arr
- 定义了一个int类型的数组,数组名是arr
- 格式二:
- 数据类型 变量名[] int arr[]
- 定义了一个int类型的变量,变量名是arr数组 :::
数组初始化:
概述:
java中数组必须先初始化才能使用[就是为数组中数组元素分配内存空间,并为每个数组元素赋值]
数组初始化方式:
动态初始化:初始化时只指定数组长度,由系统为数组分配初始值
- 格式:数据类型[] 变量名 = new 数据类型[类型长度];
- 静态初始化:初始化时指定每个数组元素的初始值,由系统决定数组长度
- 格式:数据类型[] 变量名 = new 数据类型[]{数据1,数据2,…};
- 简化格式:数据类型[] 变量名 = {数据1,数据2,…}; :::
数组常见操作:
遍历:
- int[] arr = {34, 89, 56, 12};
思路:
定义一个变量,用于保存最值
- int max;
获取数组第一个数据作为变量的初始值
- int max = arr[0];
与数组中剩余的数据逐个比对,每次将最值保存到变量中
- for (int i = 1; i < arr.length; i++) {
- if (arr[i] > max) {
- max = arr[i];
- }
- }
输出 :::
Arrays
:::info
- 数组从小到大排序:Arrays.sort()
- 数组以字符串的形式输出:Arrays.toString()
:::
public static void main(String[] args) {
double sum = 0;
double a[] = {3, 5, 1, 3.4, 2, 50};
for (int i = 0; i < a.length; i++) {
System.out.println(a[i]);
sum = sum + a[i];
}
System.out.println("和:" + sum);
System.out.println("均:" + sum/6);
}
public static void main(String[] args) { int a[] = new int[4]; Random ran = new Random(); System.out.print("四个随机数为:"); for (int i = 0; i < a.length; i++) { //生成四个100以内的随机数 a[i] = ran.nextInt(100); System.out.print( a[i] + "\t"); } System.out.println("\t"); for (int x = 1; x < a.length; x++) { //冒泡排序,外循环控制趟数 for (int y = 0; y < a.length - x; y++) { //内循环控制每趟排序次数 if (a[y] > a[y + 1]) { //相邻两个数比较,将大的以下标排至右边 int temp = a[y]; a[y] = a[y + 1]; a[y + 1] = temp; } } } System.out.print("随机数从小到大排序:"); for (Integer array: a) { //增强for循环,遍历a[] System.out.print(array+"\t"); } System.out.println("\t"); System.out.println("其中最大值为:" + a[3]); System.out.println("最小值为:" + a[0]); }
int a[] = new int[5]; Random ran = new Random(); for (int i = 0; i < a.length; i++) { a[i] = ran.nextInt(11) + 10; } System.out.println(Arrays.toString(a)); //把数组转变为字符串 Arrays.sort(a); //对数组元素从小到大排序 返回值为void System.out.println("min" + a[0] + ", max" + a[a.length - 1]);
int[] arr = {12, 34, 56, 78, 90, 01}; int num = 0; for (int fort = 0, queen = arr.length - 1; fort < queen; fort ++ ,queen --) { num = arr[fort]; arr[fort] = arr[queen]; arr[queen] = num; } System.out.println(Arrays.toString(arr));
public static void main(String[] args) { int[][] YH = new int[10][]; for (int i = 0; i < YH.length; i++) { YH[i] = new int[i + 1]; for (int j = 0; j < YH[i].length; j++) { if (j == 0 || j == YH[i].length - 1) { YH[i][j] = 1; }else { YH[i][j] = YH[i - 1][j] + YH[i - 1][j - 1]; } } } for (int i = 0; i < YH.length; i++) { for (int j = 0; j < YH[i].length; j++) { System.out.print(YH[i][j] + " "); }System.out.println("\t"); } }