Java基础四

Java基础

数组操作常见问题

数组脚标越界异常(ArrayIndexOutOfBoundsException)

int[] arr = new int[2];
System.out.println(arr[3]);
访问到了数组中的不存在的脚标时发生。

空指针异常(NullPointerException)

int[] arr = null;
System.out.println(arr[0]);
arr引用没有指向实体,却在操作实体中的元素时。

数组常见操作

遍历

获取数组中的元素,通常会用到遍历。

数组中有一个属性可以直接获取到数组元素的个数: length

使用方式:数组名称.length =

获取最值

获取数组中的最大值。

思路:
1,获取最值需要进行比较,每一次比较都会有一个较大的值。因为该值不确定,通过一个变量来存储。
2,让数组中的每一个元素都和这个变量中的值进行比较。如果大于了变量中的值,就用该变量记录较大值。
3,当所有元素都比较完成,那么该变量中存储的就是数组中的最大值了。

排序

选择排序
在这里插入图片描述

冒泡排序
在这里插入图片描述

数组中的查找操作

在这里插入图片描述

折半查找

折半查找,可提高效率,但是必须要保证数组是有序数组。
在这里插入图片描述
折半的第二种方式
在这里插入图片描述

数组中的数组

二维数组

格式1:int[ ][ ] arr = new int[3][2];

定义了名称为arr的二维数组
二维数组中有3个一维数组
每一个一维数组中有2个元素
一维数组的名称分别为arr[0], arr[1], arr[2]
给第一个一维数组1脚标位赋值为78写法是:arr[0][1] = 78;

格式2:int[ ][ ] arr = new int[3][ ];

二维数组中有3个一维数组
每个一维数组都是默认初始化值null
可以对这个三个一维数组分别进行初始化:
arr[0] = new int[3];
arr[1] = new int[1];
arr[2] = new int[2];

格式3:int[ ][ ] arr = {{3,8,2},{2,7},{9,0,1,6}};

定义一个名称为arr的二维数组
二维数组中的有三个一维数组
每一个一维数组中具体元素也都已初始化
第一个一维数组arr[0] = {3,8,2};
第二个一维数组arr[1] = {2,7};
第三个一维数组arr[2] = {9,0,1,6};
第三个一维数组的长度表示方式:arr[2].length;

注意特殊写法情况:int[ ] x,y[ ]; x是一维数组,y是二维数组。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章