数组
定义:存储多个同一种类型的元素的集合(容器)
特点:
1) 长度固定
2) 可以存储基本数据类型,也可以存储引用数据类型.
3) 只能存储同一种数据类型
定义格式:
int[] arr1 = new int[10];
int[] arr2 = new int[]{10,20,30};
int[] arr3 = {40,50,60};
三个功能:
int[] arr = {5, 26, 15, 47, 13, 39};
遍历
for(int x = 0; x < arr.length; x++){
int everyElement = arr[x];
}
找最值
思路:
1)定义变量,记录一个最值,默认选取了第一个
2)然后遍历数组,拿数组中的每一个元素与记录的值比较,如果发现遍历到的比记录的值大,记录的值就改变成遍历到的这个值.
3)遍历完成,记录的就是最大的那个值了,将这个值返回即可.
注意:
能确定下面两个问题吗?
能确定传递进来的数组不是null吗?
能确定传递进来的数组不是空数组吗?
所以为了程序的健壮性,要先判断. 因为方法有int类型返回值,目前我们不好处理.等学完异常处理,就好办了.
但我们目前可采取下面的解决方案:
解决方案:
我们不找最值了,我们找最值出现的索引. 那么如果这个索引是5,那么最值不就是arr[5] 吗.
这时,我们可以先做判断了, 并且把null和空数组的情况返回 -1 来处理.
public static int getMaxIndex(int[] arr){
if(arr == null || arr.length == 0){
return -1;
}
else
{
// 再做正常的找最值的代码
}
}
找指定值的索引:
遍历数组,依次拿遍历到的元素与指定值进行比较 一旦匹配,返回指定值的索引. 如果遍历完,没有,返回-1 |
|