昨天考试,有道题目是关于 ++i和i++ 的,突然发现自己有点搞不清楚了特意来写个帖子
题目是 public static void main(String[] args){
int a = 1; if(a++>1){ System.out.println(a); }else{ System.out.println(a); } } 运行为2; 后来我自己写了下 看下区别 public static void main(String[] args){ int a = 1; int b = a++;
System.out.println(b); } 我以为结果为2 但是却为1让我大吃一惊,这是为什么呢, 我查资料后自己的结论:当++在前面时即为++i就是先i的值先加1,如果在后面即为i++则i值还是原来的没有变 举个例子inti=1; int b = i++; 这样的话 b的值是i原来的值为1, 当下次调用i时i才会加1, 如果这样int i =1; i++;b=i 此时b就是2; 下面看++i这个最简单的 就是i的值加1了 。
|