public static void main(String[] args)
{
int[] arr={3,2,4,1,5,6,8,2};
int index=getIndex(arr,8);
System.out.println("index="+index);
}
public static int getIndex(int[] arr,int key)
{
for(int x=0;x<arr.length;x++)
{
if(arr[x]==key){
arr[x]=key;
}
//return x;
}
return -1;
}
按照你的理解的话,这个方法返回值永远都是-1,因为方法里面只有一个return语句。
如果:
public static void main(String[] args)
{
int[] arr={3,2,4,1,5,6,8,2};
int index=getIndex(arr,8);
System.out.println("index="+index);
}
public static int getIndex(int[] arr,int key)
{
for(int x=0;x<arr.length;x++)
{
if(arr[x]==key){
//arr[x]=key;
return x;
}
}
return -1;
}
因为第一个return语句在for循环的if语句里面,如果不满足条件将不走if语句里面的return语句,这样方法就没有int类型的返回值,所以必须在for循环外面方法里面在写一个return语句,这样方法不论在那种情况下都有返回值。 |