Three way Quicksort in Java
i should be initialized to lo + 1 this will reduce the while loop by 1
you should use braces {} for single if statements. This will make your code less errorprone.  
instead of doing this recursively, you could do is iterativ by adding a while loop with (lo &lt; lowerIndex - 1 &amp;&amp; greaterIndex + 1 &lt; hi) as condition.  
for make the if..else if you shoul consider to swap the position of element and array [i] because if you imagine the array, index 0 will be on the left  

if (element &gt; array[i])