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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 白白胖胖 中级黑马   /  2014-4-5 12:25  /  1491 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

看视频,自增和自减,要是简单运算还能明白。
但是还是对优先级有点迷糊,就是自增自减和加减乘除这些相比,优先级是怎样的

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

3 个回复

倒序浏览
本帖最后由 Darkhorse′Xa 于 2014-4-5 18:26 编辑


网上的运算符优先级的表也很多,可以去查一下资料,
自增自减有前缀和后缀,优先级是不一样的,自增自减前缀优先级是大于+-*/优先级的,后缀自增自减小于+-*/优先级
  1. <p>
  2.             int number = 20;
  3.             int i = 5 * ++number;/*首先这边有三个运算符,前缀自增,*,=,优先级是先进行自增那么number的值就为21,
  4.                                                   在进行*运算符的计算,最后在赋值给i */
  5.             Console.WriteLine(i);//输出就为105
  6.             int number = 20;</p><p> </p><p> </p><p> </p><p>
  7.             int i = 5 * number++;/*首先这边有三个运算符,前缀自增,*,=,优先级是先进行*运算,那么计算完为100
  8. 再进行赋值运算将100赋值给i,最后在进行自增运算(后缀)*/
  9.             Console.WriteLine(i);//输出就为100
  10.             Console.WriteLine(number);//number自增后为21</p>
复制代码

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报 1 0
本帖最后由 李云锋 于 2014-4-5 18:12 编辑

不难吧,很久没特意弄这些了,也不知道有没有记错
加入a=1 b=2
a++ 无论加减乘除,都是先加后运算 比如 b+a++ 然后输出运算结果和a,这个时候a++先变成2,然后和是2+2=4
++a的话,是先运算后加,同上b+++a,然后同输出运算结果和a的值,这个时候运算之前++a代表的还是1,运算完后才是2,所以结果是1+2=3,而输出的a的值是2加减乘除都一样,还有新手的话不比纠结于其他运算的优先级,能把常用的了解就行了

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报
自增和自减单独使用时没有区别;
在参与运算时,a++ a使用递增之前的值进行运算,运算结束后a的值增加1;
++a a的值先递增1然后使用递增之后的值参与运算;
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马