In for(int i=0; i < 5; i++) loop isn't i incremented by i++ already before the printf reads it? If so it should return i=1 right? What's the concept here that returns 0 at first.
public class Application {
    public static void main(String[] args) {
        for(int i=0; i < 5; i++) {
            System.out.printf("The value of i is: %d\n", i);
        }
    }
}