写一个java二分查找
时间: 2023-10-14 08:26:52 浏览: 38
好的,以下是一个Java二分查找的示例代码:
```java
public static int binarySearch(int[] arr, int target) {
int left = 0;
int right = arr.length - 1;
while (left <= right) {
int mid = left + (right - left) / 2;
if (arr[mid] == target) {
return mid;
} else if (arr[mid] < target) {
left = mid + 1;
} else {
right = mid - 1;
}
}
return -1;
}
```
该函数接收一个有序整数数组和一个目标值,返回目标值在数组中的索引位置,如果目标值不存在,则返回-1。
在函数中,我们用两个指针left和right来确定要查找的范围。我们计算中间索引mid,如果arr[mid]等于目标值,则直接返回mid。否则,如果arr[mid]小于目标值,则说明目标值在mid的右侧,我们更新left为mid + 1。如果arr[mid]大于目标值,则说明目标值在mid的左侧,我们更新right为mid - 1。重复这个过程直到left大于right为止。如果循环结束时仍然没有找到目标值,则返回-1。
希望对你有所帮助。