public class MyMain{
static int i;
public static void main(String argv[]){
i = 2;
i =i++;
System.out.println(i);//这里居然输出2。怎么就不是3呢在=号那还是2啊,但是后来又加了1嘛
static int i;
public static void main(String argv[]){
i = 2;
i =i++;
System.out.println(i);//这里居然输出2。怎么就不是3呢在=号那还是2啊,但是后来又加了1嘛
楼主【kim_lc】截止到2008-07-24 16:03:08的历史汇总数据(不包括此帖):
发帖的总数量:3 发帖的总分数:50 每贴平均分数:16
回帖的总数量:3 得分贴总数量:0 回帖的得分率:0%
结贴的总数量:3 结贴的总分数:50
无满意结贴数:0 无满意结贴分:0
未结的帖子数:0 未结的总分数:0
结贴的百分比:100.00% 结分的百分比:100.00%
无满意结贴率:0.00 % 无满意结分率:0.00 %
敬礼!
++i:先加,然后赋值。如果搞不懂,直接写i=i+1就好。真的,其实效率没差别的
前者是先加后使用,而后者是先使用后增加,这里如果你想输入出3可以把I=i++改成i++
int s = i++;
//这时i已经是3了
i = s;
//i被重新赋值
static int i;
public static void main(String argv[]){
System.out.println(i);
i = 2;
System.out.println(i);
int j=0;
j =i++;
System.out.println(i+","+j);
}
把 i = 去了,直接 i++ ,print值就变了
i++是先用后加
++i是先加后用
i=i++的意思是:把后面i的值付给前面的i之后
因此:结果还是2
public static void main(final String[] args) {
int i=2;
i=(i++);
System.out.println(i);
}
这个程序的结果也是2