黑马程序员技术交流社区

标题: 很基础的小问题 [打印本页]

作者: 7jianpan    时间: 2014-7-18 20:13
标题: 很基础的小问题
int num=60
int n1 = num & 15;
System.out.print((char)(n1 - 10 + 'A'));
如果省去第二步,直接把输出处的n1替换成num & 15,为何结果不同

作者: fantacyleo    时间: 2014-7-18 20:27
因为位运算符的优先级比加减号低,所以会变成:num & ((15 -10) + 'A')
作者: 安少康    时间: 2014-7-18 20:39
位运算优先级低于减运算,
作者: 汉谟拉比    时间: 2014-7-18 21:14
一楼解释的很到位!!!!
作者: 科篮    时间: 2014-7-18 21:17
运算符的优先级(从高到低)
优先级描述        运算符
1        括号        ()、[]
2        正负号        +、-
3        自增自减,非        ++、--、!
4        乘除,取余        *、/、%
5        加减        +、-
6        移位运算        <<、>>、>>>
7        大小关系        >、>=、<、<=
8        相等关系        ==、!=
9        按位与        &
10        按位异或        ^
11        按位或        |
12        逻辑与        &&
13        逻辑或        ||
14        条件运算        ?:
15        赋值运算        =、+=、-=、*=、/=、%=
16        位赋值运算        &=、|=、<<=、>>=、>>>=
               
作者: wisely    时间: 2014-7-18 21:17
有个优先级口诀,拿出来分享一下。

****单目乘除位关系,逻辑三目后赋值****

这个口诀里包括,单目运算符、乘除运算符、位运算符、关系运算符、逻辑运算符、三目运算符、赋值运算符,足够多了吧。
作者: ashinfree1204    时间: 2014-7-18 21:29
科篮 发表于 2014-7-18 21:17
运算符的优先级(从高到低)
优先级描述        运算符
1        括号        ()、[]

怎么记啊  这个
作者: ashinfree1204    时间: 2014-7-18 21:30
在自学中,零基础,多指教
作者: 科篮    时间: 2014-7-18 21:32
ashinfree1204 发表于 2014-7-18 21:29
怎么记啊  这个

很多不要记的啊,常识有的,比如括号内的肯定先参与,乘除肯定比加减高。。。实在不确定的就查一下
作者: doubandddk    时间: 2014-7-18 21:34
优先级低 加上括号
作者: ashinfree1204    时间: 2014-7-18 21:36
科篮 发表于 2014-7-18 21:32
很多不要记的啊,常识有的,比如括号内的肯定先参与,乘除肯定比加减高。。。实在不确定的就查一下 ...

恩恩  我刚学习这个 零基础的     看前辈的名字就知道是球迷啊   同为球迷的我   咱们交个朋友啦    以后可以聊技术也可以聊球    有机会去北京了还可以一起打球
作者: 科篮    时间: 2014-7-18 21:38
ashinfree1204 发表于 2014-7-18 21:36
恩恩  我刚学习这个 零基础的     看前辈的名字就知道是球迷啊   同为球迷的我   咱们交个朋友啦    以后 ...

嗯嗯,好的,我现在在北京
作者: ashinfree1204    时间: 2014-7-18 21:41
科篮 发表于 2014-7-18 21:38
嗯嗯,好的,我现在在北京

我准备八月底去北京   现在在学习     希望一切顺利   有机会一起打球   我是狂热球迷    加个qq呗   前辈多指导
作者: 止询初衷    时间: 2014-7-18 21:42
你加括号就哦了、。。。
作者: 科篮    时间: 2014-7-18 21:54
ashinfree1204 发表于 2014-7-18 21:41
我准备八月底去北京   现在在学习     希望一切顺利   有机会一起打球   我是狂热球迷    加个qq呗   前 ...

不要老前辈的,都是新手
作者: ashinfree1204    时间: 2014-7-18 21:56
科篮 发表于 2014-7-18 21:54
不要老前辈的,都是新手

haha  好吧   科密    我是詹密
作者: 科篮    时间: 2014-7-18 21:59
不说了,这论坛不是聊天的地方,加油
作者: ashinfree1204    时间: 2014-7-18 22:00
科篮 发表于 2014-7-18 21:59
不说了,这论坛不是聊天的地方,加油

ok   方便加你qq么
作者: 7jianpan    时间: 2014-7-19 22:38
fantacyleo 发表于 2014-7-18 20:27
因为位运算符的优先级比加减号低,所以会变成:num & ((15 -10) + 'A')

明白了,谢谢:handshake
作者: 7jianpan    时间: 2014-7-19 22:39
科篮 发表于 2014-7-18 21:17
运算符的优先级(从高到低)
优先级描述        运算符
1        括号        ()、[]

好全啊,谢谢啦~
作者: 7jianpan    时间: 2014-7-19 22:41
wisely 发表于 2014-7-18 21:17
有个优先级口诀,拿出来分享一下。

****单目乘除位关系,逻辑三目后赋值****

谢谢啦,这样记起来就比较容易了
作者: wisely    时间: 2014-7-19 22:42
7jianpan 发表于 2014-7-19 22:41
谢谢啦,这样记起来就比较容易了

我也是从其他人那里得来的,大家相互交流,共同进步
作者: 7jianpan    时间: 2014-7-19 22:46
wisely 发表于 2014-7-19 22:42
我也是从其他人那里得来的,大家相互交流,共同进步

好哒:handshake
作者: 张慈瑞    时间: 2014-7-19 22:54
必须有括号才可以




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2