一次性声明大量的存储数据的变量,要存储的数据通常是同数据类型 格式1:数据类型[] 变量名 例如:int[] arr 定义了一个int数据类型的数组,数组名是arr 格式2:数据类型 变量名[] 例如:int arr[] 定义了一个int类型的变量,变量名是arr数组 动态初始化 格式:数据类型[] 变量名 = new 数据类型[数组长度]; 数组操作的两个常见小问题 索引越界:访问了数组中不存在的索引对应的元素,造成索引越界 ArrayIndexOutOfBoundsException 空指针异常:访问的数组已经不再指向堆内存的数据,造成空指针异常 NullPointerException null:空值,引用数据类型的默认值,表示不向任何有效对象
package Learningtestpackage; import com.sun.xml.internal.ws.addressing.WsaActionUtil; import java.lang.reflect.Array; import java.util.Arrays; /* * 取出数组中的最大值和最小值 * */ public class Anarrayof2 { public static void main(String[] args) { int[] arr =new int[]{56, 3, 324, 5, 98, 32, 232}; int max = arr[0]; for (int x = 0; x < arr.length; x++) { if (arr[x] > max) { max = arr[x]; } } System.out.println("最大值:" + max); int min = arr[0]; for (int x = 0; x < arr.length; x++) { if (arr[x] < min) { min = arr[x]; } } System.out.println("最小值:" + min); bubbling(arr); System.out.println(Arrays.toString(arr)); } //冒泡排序 public static void bubbling(int arr[]){ for (int i = 0; i < arr.length-1; i++) { for (int j = 0; j <arr.length-1 ; j++) { if(arr[j]>arr[j+1]){ int tem=arr[j]; arr[j]=arr[j+1]; arr[j+1]=tem; } } } } }
输出结果
最大值:324
最小值:3
[3, 5, 32, 56, 98, 232, 324]
进程已结束,退出代码0