public static int binarySearch(int[] arr,int value){
//起始位置
int start = 0;
//结束位置
int end = arr.length - 1;
while(true){
//计算中间位置下标
int mid = (start+end)/2;
//中间值
int midValue = arr[mid];
if(value==midValue){
//待查找的值等于中间值则返会中间下标
return mid;
}else{
//待查找的值比中间值小,需要将end = mid - 1
if(midValue>value){
end = mid - 1;
}
else{
//待查找的值比中间值大,需要将start = mid + 1
start = mid + 1;
}
}
if(start>end){
//说明未找到相应元素,返回-1
return -1;
}
}
}