Explain Binary Search In Java