**Binary Search in Java** is used to search an element from an array. Programmers opt for **Binary search** over linear search when it comes to large numbers. It can be done either recursively or iteratively.

The program checks the entered value with the middle element of the array. If they match the algorithm stops and position is returned. If it does not match than we have two cases:

- If the entered value is less than the middle element then the process is repeated to the left of middle element.
- If the entered value is greater than the middle element then the process is repeated to the right of middle element.

This is continued until the searched element is found or it is not found. In the case when the searched element is not found the program returns the answer "Not Found".

**Following is the example of Binary Search in Java:**

import java.util.*; public class BinarySearch { public static void main(String[] args) { int[] intArray = new int[10]; int searchValue = 0, index; System.out.println("Enter 10 numbers"); Scanner input = new Scanner(System.in); for (int i = 0; i < intArray.length; i++) { intArray[i] = input.nextInt(); } System.out.print("Enter a number to search for: "); searchValue = input.nextInt(); index = binarySearch(intArray, searchValue); if (index != -1) { System.out.println("Found at index: " + index); } else { System.out.println("Not Found"); } } static int binarySearch(int[] search, int find) { int start, end, midPt; start = 0; end = search.length - 1; while (start <= end) { midPt = (start + end) / 2; if (search[midPt] == find) { return midPt; } else if (search[midPt] < find) { start = midPt + 1; } else { end = midPt - 1; } } return -1; } }

Enter 10 numbers:

1

2

3

4

5

6

7

8

9

10

Enter a number to search for: 5

Found at index: 4

Advertisements

Posted on: May 3, 2013 If you enjoyed this post then why not add us on Google+? Add us to your Circles

Share this Tutorial Follow us on Twitter, or add us on Facebook or Google Plus to keep you updated with the recent trends of Java and other open source platforms. Connect Me on Google+

Comments:0

Discuss: Binary Search in JavaPost your Comment