黑马程序员技术交流社区
标题:
y=++x写y=x++的区别
[打印本页]
作者:
549208564
时间:
2016-1-3 02:23
标题:
y=++x写y=x++的区别
也许这个很简单,但就我就是不懂为什么
public static void main(String[] args) {
int x=4;
int y=3;
y=++x;//5 这是y会什么是5,可以解为y=x++
y=x++;//4 那为什么这里y只等于4呢,想不明白 ,请大神指点
System.out.println(y);
}
作者:
晓寒轻
时间:
2016-1-3 12:22
本帖最后由 晓寒轻 于 2016-1-3 12:26 编辑
这个问题应该所有视频都会讲到的,++在左边的是右边的加1之后直接进行左边的运算,也就是进行赋值,所以第一个y=++x,是先让x=x+1,x=5,然后把5的值赋给左边的y
++在右边的是只进行加1,而不进行赋值运算(=就是赋值运算),所以y=x++,x=x+1之后就没有再进行赋值的运算。
这个记住这两个的区别就行了,没什么为什么的。左边++就是要赋值的,右边++不赋值给左边,对右边的变量没什么影响,都是加了1
作者:
hard
时间:
2016-1-3 14:52
x++:指的是 先去参与运算,然后在把结果在+1;
++x:指的是 先+1,然后在参与运算。
作者:
xianjian4720
时间:
2016-1-3 19:51
这个问题很简单,多听几遍课.
作者:
junh_01
时间:
2016-1-3 21:03
x++是先赋值然后自增,执行完x=5,y=4,而++x是先自增再赋值,执行完x=5,y=5
作者:
黑色皮肤的马
时间:
2016-1-3 21:29
首先++在左还是右,最终x都会+1,这是没有疑问的。关键是赋值给y的是几,这个可以简单这样记,挨着等号的是谁就先运算谁。y=++x,是++挨着等号,也就是先把x+1,这就是++的运算,然后赋值给y,所以y是5.
作者:
黑色皮肤的马
时间:
2016-1-3 21:30
y=x++;是先把x原来的值4赋给y,然后x自己+1.
作者:
雪中飞
时间:
2016-1-3 22:03
++x 是前加加,先自增一再赋值
x++ 是后加加,先赋值再增加一
作者:
n_Nie1991
时间:
2016-1-3 22:17
y=++x; 先把x的值先自增一次,再把 x的值赋给y ;
y= x++; 先把x的值 赋给y, 然后x 的值再自增一次.
作者:
SpiritsOfBlack
时间:
2016-1-3 22:19
这是先运算后赋值,还是先赋值后运算的问题,楼上大神已解答,我就不多嘴了
作者:
wyb414
时间:
2016-1-3 22:27
x++:指的是 先去参与运算,然后在把结果在+1;
++x:指的是 先+1,然后在参与运算。
作者:
云鱼
时间:
2016-1-3 23:03
顺序不同
作者:
czhczhczh
时间:
2016-1-3 23:51
++x就是先让X加1,即X=4+1=5,然后把5赋给y;X++就是先把X的值附给y,X再加1.
作者:
无尽落寞
时间:
2016-1-4 00:10
y=++x是先加后赋值;
y=x++是先赋值后加
作者:
小五哥
时间:
2016-1-4 00:40
前+加之后的值,后➕就是加之前的值
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2