Binary Search Explanation In Java