# Binary Search in Java

Binary search is a search algorithm used to find the position of a target value within a sorted array. It works by repeatedly dividing the search interval in half and comparing the target value with the middle element of the array. If the target value matches the middle element, the search is successful. If the target value is less than the middle element, the search continues in the lower half of the array. If the target value is greater than the middle element, the search continues in the upper half of the array. This process is repeated until the target value is found or the search interval becomes empty. Binary search is efficient for sorted arrays and has a time complexity of O(log n), where n is the number of elements in the array.

JAVA PROGRAMMING

import java.util.*;

public class BinarySearchWithoutMethods {

public static void main(String args[]) {

Scanner scanner = new Scanner(System.in);

// Asking for the size of the array

System.out.println("Enter the size of the array:");

int size = scanner.nextInt();

// Creating an array to store the elements

int array[] = new int[size];

// Asking the user to input the sorted array elements

System.out.println("Enter " + size + " elements in sorted order:");

for (int i = 0; i < size; i++) {

array[i] = scanner.nextInt();

}

// Asking for the element to search

System.out.println("Enter the element to search:");

int target = scanner.nextInt();

// Initializing variables for binary search

int low = 0;

int high = size - 1;

int mid;

boolean found = false;

// Binary Search Algorithm

while (low <= high) {

mid = (low + high) / 2;

// If the element is found at mid

if (array[mid] == target) {

found = true;

System.out.println("Element " + target + " found at index " + mid);

break;

}

// If the target is greater, search in the right half

else if (array[mid] < target) {

low = mid + 1;

}

// If the target is smaller, search in the left half

else {

high = mid - 1;

}

}

// If the element is not found

if (!found) {

System.out.println("Element " + target + " not found in the array.");

}

scanner.close();

}

}