目 录
1、数组的概述
2、一维数组的使用
3、多维数组的使用
4、数组中涉及到的常见算法
5、Arrays工具类的使用
6、数组使用中的常见异常
3、多维数组的使用:
二维数组的初始化:
二维数组的内存解析:
数组元素的默认初始化值:
练习1:遍历二维数组的值
练习2:获取arr数组中所有元素的和。
练习3:
练习4:
4、数组中涉及到的常见算法
练习5:
package com.atguigu.java;
public class ArrayTest5 {
public static void main(String[] args) {
int[] arr = new int[10];
for(int i = 0; i < arr.length;i++){
arr[i] = (int)(Math.random() 90 + 10);
}
// 1.求最大值
int maxValue = arr[0];
for(int i = 1; i < arr.length;i++){
if(maxValue < arr[i]){
maxValue = arr[i];
}
}
System.out.println("最大值为" + maxValue);
// 2.求最小值
int minValue = arr[0];
for(int i = 1;i < arr.length;i++){
if(minValue > arr[i]){
minValue = arr[i];
}
}
System.out.println("最小值为" + minValue);
// 3.求和
int sumValue = 0;
for(int i = 0;i < arr.length;i++){
sumValue += arr[i];
}
System.out.println("和值为" + sumValue);
// 4.平均值
double avgValue = sumValue/arr.length;
System.out.println("平均值为" + avgValue);
}
}
练习6:
package com.atguigu.java;
public class ArrayTest6 {
public static void main(String[] args) {
int[] array1,array2;
array1 = new int[]{2,3,5,7,11,13,17,19};
// 显示array1内容
for(int i = 0;i < array1.length;i++){
System.out.print(array1[i] + "t");
}
// 赋值array2变量等于array1
array2 = array1;//把array1的地址值赋给array2
// 修改array2中的偶索引元素使其等于索引值(如array[0]=0,array[2]=2)。
for(int i = 0;i < array2.length;i++){
if(i % 2 == 0){
array2[i] = i;
}
}
System.out.println();
// 打印出array1。
for(int i = 0;i < array1.length;i++){
System.out.print(array1[i] + "t");
}
}
}
二分法查找算法:
排序算法:
冒泡排序:
package com.atguigu.java;
public class BubbleSortTest {
public static void main(String[] args) {
// 冒泡排序:
int[] arr = new int[]{-24,25,56,-37,89,101,-9,10,99};
for(int i = 0;i < arr.length - 1;i++){
for(int j = 0;j < arr.length - 1 - i;j++){
if(arr[j] > arr[j + 1]){
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
for(int i = 0;i < arr.length;i++){
System.out.print(arr[i] + "t");
}
}
}
5、Arrays工具类的使用
package com.atguigu.java;
import java.util.Arrays;
public class ArraysTest {
public static void main(String[] args) {
// 1.boolean equals(int[] a,int[] b) 判断两个数组是否相等。
int[] arr1 = new int[]{1,2,3,4};
int[] arr2 = new int[]{1,3,2,4};
Boolean isEquals = Arrays.equals(arr1, arr2);
System.out.println(isEquals);
// 2.String toString(int[] a) 输出数组信息。
System.out.println(Arrays.toString(arr1));
// 3.void fill(int[] a,int val) 将指定值填充到数组之中。
Arrays.fill(arr1, 10);
System.out.println(Arrays.toString(arr1));
// 4.void sort(int[] a) 对数组进行排序。
Arrays.sort(arr2);
System.out.println(Arrays.toString(arr2));
// 5.int binarySearch(int[] a,int key) 对排序后的数组进行二分法检索指定的值。
int[] arr3 = new int[]{24,25,56,37,89,101,9,10,99};
System.out.println(Arrays.toString(arr3));
int index = Arrays.binarySearch(arr3,9);
System.out.println(index);
}
}