我怎么做都没看懂,可以举个通俗的列子吗?请教个位大神
------解决方案--------------------
表达式 (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
------解决方案--------------------
一个是先运算 一个先取值