当前位置: 代码迷 >> Eclipse >> 请教i++和++i有什么区别
  详细解决方案

请教i++和++i有什么区别

热度:102   发布时间:2016-04-23 00:52:30.0
请问i++和++i有什么区别
我怎么做都没看懂,可以举个通俗的列子吗?请教个位大神

------解决方案--------------------
表达式 (i++) 的值是i没增加前的值 
表达式 (++i) 的值是i增加后的值 

i的值都自增1
------解决方案--------------------
比如这个表达式:b=i++;其实就等价于b=i;i +=1;
而b= ++i;等价于i +=1;b=i;
------解决方案--------------------
i++:先运算,再自增
++i:先自增,再运算
------解决方案--------------------
i++是先进行方法内的操作后i再自增1,++i是自增1后在进行该方法中的其他操作
------解决方案--------------------
i++:先运算,再自增
++i:先自增,再运算
public static void main(String[] args) {
int i = 0;
System.out.println("++i=" + ++i);
System.out.println("i=" + i);
System.out.println("i++=" + i++);
System.out.println("i=" + i);
}
------解决方案--------------------
i = 5
j = i++  ; j = 5,i = 6 
z = ++i  ; z = 6,i = 6
i都自增1,但是表达式的值不同


------解决方案--------------------
i++ 是先进行方法内的操作后i再自增1,
++i 是自增1后在进行该方法中的其他操作;
++在前,则先进行自增运算,
++在后,则别的运算结束,在进行自增运算!!
------解决方案--------------------
System.out.println(++i)先加后再输出;
System.out.println(i++)先输出再运算;
------解决方案--------------------
·····i++·····对于i开辟的内存,先取出其中存放的值进行运算,再对内存中存放的值自增;
·····++i·····对于i开辟的内存,先对此内存中存放的进行值自增,再取出内存中自增后的变量值进行运算;
不知道有没有把你绕糊涂; 呵呵,所有操作均内存,不是简单的口诀式死记。
------解决方案--------------------
举个例子:
i=1; 
j=i++;
j=++i;
你可以这么记,在j=i++中,i前面是赋值运算符,直接把i的值赋给j,j=1,然后i再自增1,i=2;
而在j=++i中,j=++i,i前面是自增运算符,i先自加1再把值赋给j,因前面i=2,自加1后为3,j=3;
------解决方案--------------------
(i++)
(++i)
括在括号里就是一个东西了
------解决方案--------------------
例:
public class Test {
    public static void main(String[] args) {
int i=1;
int i1=i++;
System.out.println("【i1=i++】 :i++:先运算,再自增 ");
System.out.println(" i="+i+"   i1="+i1);
int y=1;
int y1=++y;
System.out.println("【y1=++y】 :++i:先自增,再运算");
System.out.println(" y="+y+"   y1="+y1);
    }
}
打印结果:
【i1=i++】 :i++:先运算,再自增 
 i=2   i1=1
【y1=++y】 :++i:先自增,再运算
 y=2   y1=2

------解决方案--------------------
int i=0;
//i++;输出0 
//++i;输出1  

简单理解就是 哪一个加号在前面 此时就+1  加号在后面的 下次出现i才+1
------解决方案--------------------
i++:先运算,再自增
++i:先自增,再运算
如:
int i =1;
i++;//此时i还为1
++i;//此时i为2
------解决方案--------------------
i++先加在用
++i先用再加
这么说简单吧
------解决方案--------------------
i++ 和 ++i 效果都是加一
应该这样理解
     i= 10;
     如果执行 int j = i++  那么  j=10,i=11
     如果执行 int j = ++i  那么  j=11,i=11
   就这么简单
------解决方案--------------------
如果是单独用,这两个根本就没有区别;
和其他一起用的时候你就该注意了
------解决方案--------------------
int i=0;
int j=0;
    j=i++;  结果 >>   j=0;
    j=++i;  结果 >>   j=1;

------解决方案--------------------
一般没有区别,只有输出时:
System.out.println(i++);
System.out.println(++i);
上面输出的是i
下面输出的是i+1
------解决方案--------------------
一个是先运算 一个先取值