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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 白马程序猿 中级黑马   /  2015-7-4 21:22  /  1448 人查看  /  21 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

基础班才刚刚开课,接触了这个概念,比如
int x=10;
x=x++;
sop(x)=10;
但是
int x=10;
y=x++'
sop(x)=11;
理解起来有点困难,才第二天上课,需要后边的哪部分知识才能理解啊,或者哪位大神试着给新手说说。

21 个回复

倒序浏览
y=x++;先赋值再++这个代码执行结果为先把x的值赋给y所以y=10,然后x++就是x=x+1,所以x=11.
回复 使用道具 举报
你这y=x++完了之后,打印的还是x的值,x++之后就是11啦,如果你打印y的值就会是10的。
回复 使用道具 举报
++n在前,就是先自增一,然后再参与运算;n++在后就是先让n参加运算,然后再自增一
回复 使用道具 举报
小骆驼 发表于 2015-7-4 21:28
y=x++;先赋值再++这个代码执行结果为先把x的值赋给y所以y=10,然后x++就是x=x+1,所以x=11. ...

你说的这个我知道,我两个都是sop(x),为什么一个是10,一个是11?
回复 使用道具 举报
々白点潜心ザ 发表于 2015-7-4 21:33
你这y=x++完了之后,打印的还是x的值,x++之后就是11啦,如果你打印y的值就会是10的。 ...

恩  那x=x++;  x 输出是10是为什么呢
回复 使用道具 举报
白马程序猿 发表于 2015-7-4 21:41
恩  那x=x++;  x 输出是10是为什么呢

试了一下,的却想你说的那样,明白了求告知:)
回复 使用道具 举报
々白点潜心ザ 发表于 2015-7-4 22:11
试了一下,的却想你说的那样,明白了求告知

好的,我这边才 基础班第二天,估计要用到后边的知识吧,老师提了一句,用什么副本,涉及到内存的知识
回复 使用道具 举报
你要先理解x++的含义,x++意思是先用了x的值 ,然后x的值再加一,然后加完1的值等到下次调用的时候才会用到
第一个例子,是把x++的值赋给了x,这里的意思就是说。把x的值付给了x,最后打印的是x的值。那个加一的动作是在赋值之后进行的,所以在打印的时候打印的不是加完后的值
第二个例子,是吧x++的值付给了y..这个动作完了之后x加一了。最后打印的值就是加完一的值11
回复 使用道具 举报
++在后,先用后加. 这时候x++ 会产生一个临时的量, 这个量相当于x的一个副本,然后将x的值自增, 将副本的值返回.
                       
回复 使用道具 举报
白马程序猿 发表于 2015-7-4 21:40
你说的这个我知道,我两个都是sop(x),为什么一个是10,一个是11?

x=x++;sop(x)括号中的x是左边的x
回复 使用道具 举报
从左往右看,是运算符的就先运算,是变量名的就先赋值
回复 使用道具 举报
也是一愣一愣的
回复 使用道具 举报
++、--放在操作数前面是先进行自增或自减再进行其他运算;如果放在操作数后面,则先进行其他运算再 自增或自减,对照例子细细体会着两句话就可以明白了
回复 使用道具 举报
a++ 的运行顺序是这样的      如果有a被调用的话 那么先把啊赋值出去  然后自身自增1   ++a  相反先自增1然后才被调
回复 使用道具 举报
x++意思是先用了x的值 ,然后x的值再加一,然后加完1的值等到下次调用的时候才会用到.--也是一样的
回复 使用道具 举报
我想问下sop()怎么理解?求指教
回复 使用道具 举报
++X:如果x=5,++X的话是X先变成6在参加后续的计算,例如:(1) b=++X;这时的b=6,x=6;(2)  b=X++;这时的b=5,x=5,当这条语句执行完后x才能变成6。
回复 使用道具 举报
shanshan33 发表于 2015-7-5 21:56
我想问下sop()怎么理解?求指教

33老师啊,我是0702班的:handshake,sop()就是System.out.println()的简写
回复 使用道具 举报
白马程序猿 发表于 2015-7-6 21:30
33老师啊,我是0702班的,sop()就是System.out.println()的简写

为什么我是33老师啊??费解
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马