how to implement Binary Search in Java ?.

package com.hubberspot.binarysearch.example;

import java.util.Scanner;

public class BinarySearch {
  public static void main(String[] args){       
    int[] numbers = {3, 4, 5, 6, 7, 2, -3, 4, 16, 14};
    sort(numbers);
        
    Scanner scanner = new Scanner(System.in);    
    System.out.println("Enter the number you want to "
            + "search from array : ");
    
    int key = scanner.nextInt();
        
    boolean position = binarySearch(numbers,key);
    
    if(position == true)
      System.out.println("Array contain the element to "
              + "be searched");
    else
      System.out.println("Array does not contain the element"
              + " to be searched");
    }
    
  public static void sort(int[] list) {
    boolean nextPass = true;
    
    for (int k = 1; k < list.length && nextPass; k++) {
      nextPass = false;
      for (int i = 0; i < list.length - k; i++) {
        if (list[i] > list[i + 1]) {
      
          int temp = list[i];
          list[i] = list[i + 1];
          list[i + 1] = temp;
          
          nextPass = true; 
        }
      }
    }
  }  
    
  public static boolean binarySearch(int[] list, int key) {
    int low = 0;
    int high = list.length - 1;

    while (high >= low) {
      int mid = (low + high) / 2;
      if (key < list[mid])
        high = mid - 1;
      else if (key == list[mid])
        return true;
      else
        low = mid + 1;
    }

    return false; 
  }
}

Output of the program




Video tutorial to demonstrate how to implement Binary Search in Java.