编辑代码

public class BinarySearch {  
    // 二分查找算法  
    public static boolean 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) {  
                // 如果中间元素等于目标元素,则返回 true,表示找到目标元素  
                return true;  // 元素找到  
            } else if (arr[mid] < target) {  
                // 如果中间元素小于目标元素,则缩小搜索范围到右半部分  
                low = mid + 1;  
            } else {  
                // 如果中间元素大于目标元素,则缩小搜索范围到左半部分  
                high = mid - 1;  
            }  
        }  
  
        // 如果循环结束仍未找到目标元素,则返回 false,表示元素不存在于数组中  
        return false;  // 元素未找到  
    }  
  
    // 主函数测试二分查找算法  
    public static void main(String[] args) {  
        // 定义一个有序数组  
        int[] myArray = {6, 17, 25, 34, 52, 63, 85};  
  
        // 要查找的目标元素  
        int targetElement = 6;  
  
        // 调用二分查找算法并获取结果  
        boolean result = binarySearch(myArray, targetElement);  
  
        // 根据结果输出相应的信息  
        if (result) {  
            System.out.println("元素 " + targetElement + " 存在于数组中。");  
        } else {  
            System.out.println("元素 " + targetElement + " 不存在于数组中。");  
        }  
    }  
}