数组的常见操作:
记忆:方法的功能越单一越好。
数组的遍历:
数组的长度: 数组名.length
根据索引获取指定元素: 数组名[索引];
public static void print(int[] arr) {
//遍历数组的代码
for(int i=0; i<arr.length; i++) {
System.out.println(arr[i]);
}
}
最值(最大值,最小值)
int[] arr = {1,2,3,4,5};
思路:
1、定义一个统计变量max,用来记录最大值,初始值为 数组中的第一个元素值。
2、通过遍历,获取到数组中的每一个元素,然后依次和max进行比较。
如果大了,就把当前遍历到的值给 max
如果小了,什么都不操作。
3、循环结束后,max记录的就是最大值。
用方法来做:
分析:
返回值的数据类型:int
参数列表:int[] arr
public static int getMax(int[] arr) {
int max = arr[0]; //定义一个统计变量max,用来记录最大值
for(int i=1; i<arr.length; i++) { //通过遍历,获取到数组中的每一个元素
//arr[i] 就是遍历到的每一个元素
if(max < arr[i]) { //依次和max进行比较
max = arr[i];
}
}
return max;
}
反转:
1,2,3,4,5 5,4,3,2,1
5,2,3,4,1 第一个和最后一个交换 arr[0] arr[arr.length-1-0]
5,4,3,2,1 第二个和倒数第二个交换 arr[1] arr[arr.length-1-1]
第三个和单数第三个交换 arr[2] arr[arr.length-1-2]
...................... arr[i] arr[arr.length-1-i]
关键点:
交换的次数:数组的长度/2
谁和谁交换:arr[i] 和 arr[arr.length-1-i]
用方法来做:
返回值的数据类型:void
参数列表:int[] arr
public static void reverse(int[] arr) {
for(int i=0; i<arr.length/2; i++) {
int temp = arr[i];
arr[i] = arr[arr.length-1-i];
arr[arr.length-1-i] = temp;
}
}
查表法:
解释:根据 索引(index) 去找 数组中的指定元素
public static char getElement(int week) {
char[] chs = {' ','一','二','仨','四','五','六','日'};
return chs[week];
}
基本查找:
解释:找元素在数组中 对应的索引
思路:
1、遍历数组,获取到每一个元素。
2、依次和要查找的值(value)进行比较,
如果相等,就返回该索引。
如果不等,接着循环,进行下一次比较。
3、如果循环都结束了,还没有找到,那么就说明数组中没有这个元素,索引就返回-1.
定义方法:
返回值类型:int
参数列表:int[] arr, int value(值)
public static int getIndex(int[] arr,int value) {
for(int i=0; i<arr.length; i++) {
//arr[i]就是遍历到的每一个元素
if(arr[i] == value) {
return i;
}
}
//走到这儿了,说明循环都结束了,还没有找到这个元素,就返回-1
return -1;
}
|
|