从下面或此处的程序中,为什么最后一次调用要System.out.println(i)打印该值7?
System.out.println(i)
class PrePostDemo { public static void main(String[] args){ int i = 3; i++; System.out.println(i); // "4" ++i; System.out.println(i); // "5" System.out.println(++i); // "6" System.out.println(i++); // "6" System.out.println(i); // "7" } }
i = 5; System.out.println(++i); //6
这将打印出“ 6”,因为它将i加1并返回值。5 + 1 = 6;这是前缀,在操作中使用该编号之前会添加该编号。
i = 6; System.out.println(i++); //6 (i = 7, prints 6)
这将打印出“ 6”,因为它需要i,存储副本,加1并返回副本。因此,你获得了我当时的价值,但同时又增加了它。因此,你可以打印出旧值,但是它会增加。后缀增量的好处。
然后,当你打印出i时,它会显示i的实际值,因为它已经增加了。7