A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yangming 中级黑马   /  2015-4-27 22:39  /  1201 人查看  /  20 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

++有两种,一种放在变量后,一种放在变量前,好像有区别。但不知区别究竟在哪?
例如:b++与++b
class Example{
public static void main(String[] args)
{
int a=1;
int b=2;
int c = a + b++;
int d = a+ (++b);
System.out.println("b="+b);
System.out.println("c="+c);
System.out.println("d="+d);
}
}

20 个回复

倒序浏览
本帖最后由 xiao7181jun 于 2015-4-27 23:16 编辑

答: b++与++b的区别主要是赋值与自增的先后顺序不一样。 b++是先把b的值赋予左边变量,然后自己再自增。++b是先自增,再把自增后的值赋予左边变量。
例如:
int b = 3;
int c = b++; //这条语句你如果输b、c的值得话,b先向左边变量c赋值,得 c = 3,然后b再自增后,b =4。
int c= ++b; //这条语句如果输出b、c的值得话,b先自增,b = 4, 然后把自增后的值 赋予左边变量c,得 c = 4 。
说明:++b,b++ 自增的值都是 1。

回复 使用道具 举报
多看看毕老师视频
回复 使用道具 举报
int a=1; int b=2; int d = a+ (++b); 输出是4,3,5.b有两次++,最后输出的时候,是4; int c = a + b++;a和b相加,相加之后b自增加一,所以c是1+2=3; int d=a+(++b);先算(++b)此时b上次自增再自增是4,加上a所以输出5. ++b是b先自增,再参与运算;b++是先参与操作,再自增。
回复 使用道具 举报
要理解++在前和在后的问题,要带着内存去理解。
变量初始化完成,内存就有一个值,进行赋值的时候会从内存取值,运算后会改变内存中的值。
++在前,先运算,再赋值。初始化值为1,那么就会在运算后变为2,赋值时,取出的就是2。
++在后,先赋值,再运算。初始化为1,赋值时取到的值为1,再运算后变为2,如果再取值就是2(比如打印这个变量的值)。
回复 使用道具 举报
xiao7181jun 发表于 2015-4-27 22:44
答: b++与++b的区别主要是赋值与自增的先后顺序不一样。 b++是先把b的值赋予左边变量,然后自己再自增。++ ...

太感谢了,解释地很详细,终于弄懂了。:)
回复 使用道具 举报
hui1130 发表于 2015-4-27 22:45
多看看毕老师视频

嗯,是的,毕老师视频很不错,现在正学基础,看了前面的一部分。
回复 使用道具 举报
18463730277 发表于 2015-4-27 22:52
int a=1; int b=2; int d = a+ (++b); 输出是4,3,5.b有两次++,最后输出的时候,是4; int c = a + b++;a和 ...

谢谢你,我理解了。你真行!:handshake
回复 使用道具 举报
IDhmpj 发表于 2015-4-27 23:14
要理解++在前和在后的问题,要带着内存去理解。
变量初始化完成,内存就有一个值,进行赋值的时候会从内存 ...

嗯,谢谢你的解答,终于搞懂了,:loveliness:
回复 使用道具 举报
不错又温习了一下自增自减,
回复 使用道具 举报
Cat 中级黑马 2015-4-28 09:01:03
11#
学习一下
回复 使用道具 举报
:lol毕老师用吃饭解释的。多看看
回复 使用道具 举报
都是自增运算,如b++,指运算后自增,++b,是在运算前自增
回复 使用道具 举报
b++和++b,对于b来说,它都是在原来的基础上加1。用毕老师的话说:b++是先去玩再回来吃饭,++b是先吃饭再去玩。
回复 使用道具 举报
b++和++b,对于b来说,它都是在原来的基础上加1。用毕老师的话说:b++是先去玩再回来吃饭,++b是先吃饭再去玩。
回复 使用道具 举报
b++和++b对于b来说都是一样的。都是在原来b的基础上加1,用毕老师的话说:b++先去玩再回来吃饭,++b先去吃饭在回来吃饭,最终b都吃饭了
回复 使用道具 举报
b++和++b对于b来说都是一样,都是在b原值的基础上加1,。用毕老师的话说:b++先去玩再回来吃饭,++b先吃饭再去玩,两种情况b都吃饭了。a=b
回复 使用道具 举报
路过。。。
回复 使用道具 举报
就是来看看,一起学习一下。
回复 使用道具 举报
xiao7181jun 发表于 2015-4-27 22:44
答: b++与++b的区别主要是赋值与自增的先后顺序不一样。 b++是先把b的值赋予左边变量,然后自己再自增。++ ...

赞!!!
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马