# Binary Search in Java

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.

Tutorials

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:

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

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 {
}
}

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;
}
}```

# Output

Enter 10 numbers:

1
2
3
4
5
6
7
8
9
10

Enter a number to search for: 5

Found at index: 4

# Binary Search in Java

Related Tutorials

Discuss: Binary Search in Java