public class Zizeng {
/*
* i++和++i做为单条语句的时候是一样的,等价于i=i+1; * 做运算的时候可以分别当两条语句
* 如x=2*i++等价于x=2*i;i=i+1;
* x=++i*2等价于i=i+1;x=i*2;
* */
public static void main(String[] args) {
int x=0,y=0;
int x1,y1;
x1=2*x++; //x1等于x自增前的值乘以2,语句结束后x加1;
y1=2*++y; //y1等于y自增后的值乘以2,语句结束后y加1;
System.out.println("x="+x);
System.out.println("x1="+x1);
System.out.println("y="+y);
System.out.println("y1="+y1);
/*
* 打印结果:
* x=1
* x1=0
* y=1
* y1=2
* */
}
}
作者: wzl963358694 时间: 2014-11-14 17:35
一楼说的很全了、、作者: 菜鸟一号 时间: 2014-11-15 11:38
单独使用没区别,跟其他运算符一齐用就有区别。就是先自增还是后自增的区别作者: baoting_1990 时间: 2014-11-15 11:54
i++,i--运算后的表达式的值是i,而i的值是i+1,i-1;
++i运算后的表达式的值是i+1,i-1,而i的值是i+1,i-1; 作者: wf111sxwf 时间: 2014-11-15 13:23
int i = 1;
int a = i++ 等效于 int i = 1; int a = i; i++
int a = ++i 等效于 int i = 1; i++; inta = i
希望能帮到卤煮作者: 迷失的小Z 时间: 2014-11-15 22:51
赋值时先赋值再自增,先自增再赋值……单独用都是自增一作者: 郑飞 时间: 2014-11-16 01:26
有个比较好记得办法
如果你关注表达式的值:
就看前半部分 如果是i 那么表达式值就是i; 如果前半部分是++,那么表达式值就是i+1;
如果你关注i的值那就更简单了 都是i+1; 作者: tmac1999 时间: 2014-11-16 02:28
怎么现在论坛发布了帖子作者: 与梦逆风而行 时间: 2014-11-16 23:08
我觉得10楼的 方法特别好用作者: 米和饭 时间: 2014-11-18 10:32
int i=1;
int a=0;
a=i++;
输出a的值是1
输出i的值是2
因为i++是先赋值在运算的
而++i是先运算再赋值的
a=++i;
输出a的值是2
输出i的值也是2作者: java小兵 时间: 2014-11-18 12:32
毕老师的吃饭理论啊。x=i++是先出去玩,再回来吃饭,x=++i是先吃饭再出去玩。
两个单独存在时,是一样的。都是自增,