There is a difference indeed. The point is that the increment expression is evaluated at the end of the loop. That means that in the first loop the expression i++ will be evaluated to 1 in the first loop, then will be printed by the System.out.print(i). So the printing will start in 1 not in 0.
The second loop is different because the code block of loop is evaluated before the increment expression, so the value for j is evaluated before it is incremented. This is why this loops starts with 0.