Java数组大白话简介说明
下文笔者讲述java数组的相关简介说明,如下所示
数组简介
数组是具有相同类型且按一定次序排列的一组变量的集合 我们将数组中的每一个元素称之为"数组元素" 数组元素在数组中的位置称之为"小标" 数组小标 从0开始计数 我们将数组中元素个数称之为"数组大小"
获取数组长度方法
数组名.length
注意事项: 数组长度 在为数组分配内存的时候确定 数组长度一旦确定,则长度不可更改
怎么使用数组
定义数组 可采用以下两种方式定义数组 int arr[]; int[] arr;
为数组元素分配内存
int[] arr = new int[];
数组元素初始化
数组声明并为数组分配空间后 必须为数组元素初始化(初始化即赋值)后 才能使用数组元素 arr[0] = 891; arr[1] = 68; arr[2] = 77;
使用数组
数组常见操作: 求数组的最大最小值,求和,求平均值 遍历数组元素 数组元素排序 数组中元素的数量 如: int[] arr = new int[]{901,902,11,22,35,98}; int max = arr[0]; for(int i = 1;i < arr.length;i++){ if(arr[i]>max){ max = arr[i]; } } System.out.println("最大值为"+max);
数组常见问题
下标越界异常
系统提示运行改程序时发生 java.lang,ArrayindexOutOfBoundsException异常 这个异常表示数组的下标越界 数组下标的界限是介于0到数组长度减一范围内的整数 数组下标超出这个范围的值就会发生下标越界异常 int[] arr = new int[]{98,87,76,88,79}; System.out.println("第5个学生的成绩是"+arr[5])//下标越界
没有分配内存空间
int[] arr = null;//没有分配内存空间 System.out.println("第1个学生的成绩是"+arr[0]) 系统提示运行该程序时发生了java.long.NullPointerException异常 这个异常表示空指针异常。这个程序只为数组名称在栈中分配内存 但是并没有在堆中为数组元素分配内存 当输出arr[0]时 表示输出数组arr指向内存空间中的第一个元素 但是数组arr并没有指向任何内存空间 因此arr是空指向(即arr的值是null) 因此JVM抛出空指针异常 解决办法是为数组元素分配内存 并让数组arr指向到数组元素
数组语法错误
一些常见的语法错误: //等号左边的中括号不允许写长度 int array1[3]=new int[]{22,66,77}; //直接为数组元素初始化时不允许指定数组长度 int array2 = new int[3]{22,66,77} //直接初始化数组元素的代码必须写在一起 int array3; array3 = {22,66,77}
二维数组简介
Java中定义和操作多维数组的语法和一维数组类似 使用二维数组同一维数组的步骤 1:定义数组 2:为数组元素分配内存 3:数组元素初始化 4:使用数组
定义二维数组
int[][] s; int s[][];
二维数组元素分配内存
int [][]s; s= new int[8][7];
二维数组初始化
int [][]arr = new int[][]{ {4,6,7}, {88,99,100}, {3,8,9} } //或 int [][]arr = { {4,6,7}, {88,99,100}, {3,8,9} }
二维数组遍历
二维数组遍历 常使用双重for循环
Arrays类
Arrays类是一个工具类 可方便对数组进行相关操作,如下所示 给数组赋值:使用fill 方法 对数组排序:使用sort 方法,按升序 比较数组:使用 equals 方法比较数组中元素值是否相等 查找数组元素:使用 binarySearch 方法能对排序好的数组进行二分查找法操作 将数组赋值成一个长度为设定值的新数组:使用copyOf()方法把数组复制成一个长度为设定值的型数组 将数组转换成字符串:使用toString方法将一个数组转换为一个字符串
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。