Java Program to Implement Binary Search Algorithm

To understand this example, you should have the knowledge of the following Java programming topics:


Example: Java Program to Implement Binary Search Algorithm

 import java.util.Scanner; // Binary Search in Java class Main { int binarySearch(int array[], int element, int low, int high) { // Repeat until the pointers low and high meet each other while (low <= high) { // get index of mid element int mid = low + (high - low) / 2; // if element to be searched is the mid element if (array[mid] == element) return mid; // if element is greater than mid element // search only the right side of mid if (element > array[mid]) low = mid + 1; // if element is less than mid element // search only the left side of mid else high = mid - 1; } return -1; } public static void main(String args[]) { // create an object of Main class Main obj = new Main(); // create a sorted array int[] array = { 3, 4, 5, 6, 7, 8, 9 }; int n = array.length; // get input from user for element to be searched Scanner input = new Scanner(System.in); System.out.println("Enter element to be searched:"); // element to be searched int element = input.nextInt(); input.close(); // call the binary search method // pass arguments: array, element, index of first and last element int result = obj.binarySearch(array, element, 0, n - 1); if (result == -1) System.out.println("Not found"); else System.out.println("Element found at index " + result); } }

Output 1

 Enter element to be searched: 6 Element found at index 3

Here, we have used the Java Scanner Class to take input from the user. Based on the input from user, we used the binary search to check if the element is present in the array.

We can also use the recursive call to perform the same task.

  int binarySearch(int array[], int element, int low, int high) { if (high >= low) { int mid = low + (high - low) / 2; // check if mid element is searched element if (array[mid] == element) return mid; // Search the left half of mid if (array[mid] > element) return binarySearch(array, element, low, mid - 1); // Search the right half of mid return binarySearch(array, element, mid + 1, high); } return -1; }

Here, the method binarySearch() is calling itself until the element is found or, the if condition fails.

If you want to learn more about the binary search algorithm, visit Binary Search Algorithm.


Also Read:

Did you find this article helpful?

Your builder path starts here. Builders don't just know how to code, they create solutions that matter.

Escape tutorial hell and ship real projects.

Try Programiz PRO
  • Real-World Projects
  • On-Demand Learning
  • AI Mentor
  • Builder Community