一直以来,++, --语法浪费了太多人的时间。
说句实在话,++ -- 在C/JAVA语言中其实是一个很细节的语法,除了表达简练外,真的没有什么其它的好处了。
由于中国的C语言教程长期以来被谭浩强主宰,而谭又错误的把++ --作为一个C
语言重点来教,并增加了一些
难点,把本来很简单的语法,搞得复杂无比!
简单的来说,++i 和 i++,在单独使用时,就是 i=i+1。
而 a = ++i,相当于 i=i+1; a = i; (先i = i + 1,再使用i的值)
而 a = i++,相当于 a = i; i=i+1; (先使用i的值,再i = i + 1)
如果实在搞不明白++ --怎么回事,那也不是什么天塌下来的事。
因为a=++i完全可以写成 i++; a=i。 <
br>a=i++完全可以写成 a=i; i++。
而且,这也是一种好的程序风格:++ -- 语句如非特殊需要,请单独一行使用。
- public class AutoInc {
-
public static void main(String[] args) {
-
int i = 1;
-
prt("i : " + i);
-
prt("++i : " + ++i); // Pre-increment
-
prt("i : " + i);
-
prt("i++ : " + i++); // Post-increment
-
prt("i : " + i);
-
prt("--i : " + --i); // Pre-decrement
-
prt("i : " + i);
-
prt("i-- : " + i--); // Post-decrement
-
prt("i : " + i);
-
prt("(i++)+(i++)+(i++)" + (i++)+(i++)+(i++));
-
prt("i : " + i);
-
prt("(i--)+(i--)+(i--)" + (i--)+(i--)+(i--));
-
prt("i : " + i);
-
prt("(++i)+(++i)+(++i)" + (++i)+(++i)+(++i));
-
prt("i : " + i);
-
prt("(--i)+(--i)+(--i)" + (--i)+(--i)+(--i));
-
prt("i : " + i);
-
}
-
static void prt(String s) {
-
System.out.println(s);
-
}
-
}
执行结果:
- i : 1
-
++i : 2
-
i : 2
-
i++ : 2
-
i : 3
-
--i : 2
-
i : 2
-
i-- : 2
-
i : 1
-
(i++)+(i++)+(i++)123
-
i : 4
-
(i--)+(i--)+(i--)432
-
i : 1
-
(++i)+(++i)+(++i)234
-
i : 4
-
(--i)+(--i)+(--i)321
-
i : 1
阅读(714) | 评论(0) | 转发(0) |