1.顺序查找
public class Main{
public static void main(String[] args){
//静态初始化一个长度为10的int类型的数组。
int[] intArray = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
//要查找的数值。
int destValue = 5;
//标志位。
boolean isFlag = false;
for(int i = 0; i < intArray.length; i++){
if(destValue == intArray[i]){
System.out.println("查找成功,索引位置为:" + i);
isFlag = true;
break;
}
}
//循环结束,如果标志位还没有变化,说明没有找到。
if(isFlag == false){
System.out.println("查找失败");
}
}
}
2.二分查找(前提:数组是有序的)
public class Main{
public static void main(String[] args){
//静态初始化一个长度为10的int类型的数组。
int[] intArray = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
//要查找的数值。
int destValue = 5;
//标志位。
boolean isFlag = false;
//开始位置。
int startPos = 0;
//结束位置。
int endPos = intArray.length - 1;
while(startPos <= endPos){
//中间位置。
int midPos = (startPos + endPos) / 2;
//查找成功。
if(destValue == intArray[midPos]){
System.out.println("查找成功,索引位置为:" + midPos);
isFlag = true;
break;
}
//查找数值比中间数小,向左半部分查询。
else if(destValue < intArray[midPos]){
endPos = midPos - 1;
}
//查找数值比中间数大,向右半部分查询。
else if(destValue > intArray[midPos]){
startPos = midPos + 1;
}
}
//循环结束,如果标志位还没有变化,说明没有找到。
if(isFlag == false){
System.out.println("查找失败");
}
}
}