binarySearch in int array does not find properly value 0 and less : <p>I have performed following tests:</p>

<pre><code>int[] test1 = {1, 2, 3};
System.out.println(Arrays.binarySearch(test1, 3)); //prints 2

int[] test2 = {1, 0, 3};
System.out.println(Arrays.binarySearch(test2, 0)); //prints 1

int[] test3 = {1, 2, 0};
System.out.println(Arrays.binarySearch(test3, 0)); //prints -1 (item not found), expected value: 2
</code></pre>

<p>I just found bug in Java implementation or I am doing something wrong?</p>
