写一个 java的 二分查找
时间: 2023-11-25 08:48:05 浏览: 32
当然可以!下面是一个在 Java 中实现的二分查找的示例代码:
```java
public class BinarySearch {
public static int binarySearch(int[] arr, int target) {
int low = 0;
int high = arr.length - 1;
while (low <= high) {
int mid = (low + high) / 2;
if (arr[mid] == target) {
return mid;
} else if (arr[mid] < target) {
low = mid + 1;
} else {
high = mid - 1;
}
}
return -1;
}
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9};
int target = 5;
int result = binarySearch(arr, target);
if (result == -1) {
System.out.println("目标值不存在于数组中");
} else {
System.out.println("目标值在数组中的索引为: " + result);
}
}
}
```
上述代码定义了一个名为 `BinarySearch` 的类,其中包含一个名为 `binarySearch` 的静态方法。这个方法接受一个已排序的整数数组 `arr` 和一个目标值 `target`,并返回目标值在数组中的索引。如果目标值不在数组中,则返回 -1。
在 `main` 方法中,我们创建了一个示例数组 `arr` 和一个目标值 `target`,并调用 `binarySearch` 方法进行二分查找。最后,根据返回的结果输出相应的信息。
请注意,这个二分查找的实现同样假设输入的数组已经按升序排列。如果数组无序,需要先进行排序操作。