数组的基本操作
1:数组的基本操作
获取元素:元素类型 变量 = 数组名[index];
设置元素:数组名[index] = 值;
遍历数组元素:
for(int index = 0;index <= nums.length-1;index++){
System.out.println(nums[index]);
数组长度:数组名.length;length是属性不是方法
索引范围:从0开始,逐一递增。[0,数组名.length-1]
2:操作数组的常见异常
NullPointerException:空指针异常(空引用): 当数组还未初始化就直接操作数组。
String[] bs = null;
system.out.println(bs.length)
ArrayindexOutOfBoundsException: 数组的索引越界异常。
3:获取数组最大最小元素
获取最大元素:不要忘记传参数!!!!
public class ArrayDemo3 {
static int getMax(int[] nums){
int max = nums[0];
for(int index = 0;index <= nums.length-1;index ++)
{
if (nums[index] > max)
{
max = nums[index];
}
}
return max;
}
public static void main(String[] args) {
// TODO 自动生成的方法存根
int[] nums = new int[]{2,3,5,-3,4};
int max = getMax(nums);
System.out.println(max);
}
}
4:打印数组元素
直接打印数组的时候,打印出来是hashcode值
static void printArray(String[] arr)
{
if (arr == null)
{
System.out.println("null");
return;
}
String ret = "[";
for(int index = 0;index < arr.length;index++)
{
ret = ret + arr[index];
//如果当前index不是最后一个索引,则拼接","
if(index != arr.length-1)
{
ret = ret + ",";
}
}
ret = ret + "]";
System.out.println(ret);
}
main方法中
String[] arr = {"a","b","c"};
printArray(arr);
5:逆序排列数组元素
static String[] reverse(String[] oldArr)
{
String[] newArray = new String[oldArr.length];//创建一个新的数组,用来存放颠倒之后的元素
for(int index = oldArr.length-1;index >=0;index--)
{
newArray [oldArr.length-1-index] = oldArr[index];
}
return newArray;
}
6:元素出现索引(第一次/最后一次)
int[] arr = {10,20,30,10,50,10,50}
获取元素10在arr数组中第一次出现的索引(indexOf);
获取元素10在arr数组中最后一次出现的索引(lastIndexOf);
/*
* 查询key元素在nums数组中第一次出现的位置,
* 参数:
* nums:从哪一个数组中去做查询
* key:当前查询的元素
* 返回:如果key存在于arr数组中,则返回第一次出现的索引
* key不存在于nums数组中,返回-1.
*/
static int indexOf(int[] nums,int key)
{
for(int index = 0;index <= nums.length - 1;index++)
{
if(nums[index] == key)
{
return index;
}
}
return -1;
}
最后一次
static int lastIndexOf(int[] nums,int key)
{
for(int index = nums.length-1;index >= 0;index--)
{
if(nums[index] == key)
{
return index;
}
}
return -1;
}