面试腾讯遇到的面试问题

面试官问 java中 &和&&的区别
这在面试里特别常见,当时回答了按位与和逻辑与的区别。以及&&是短路与,&不是短路的区别。面试官说没有短路这种区别,说你回答的都是错的,一点不对,基础没掌握好。。。。
???这是错哪了

面试的时候给面试官举这两个例子,第一个运行结果是false,第二个运行结果是报数组溢出的错。我说是因为短路的原因,第一个只执行b==0就判断false了,后面没有执行。但是面试官不同意,他认为是优先级产生的问题。当时时间原因没有继续解释,不明白这个“优先级产生的问题”具体指什么
全部评论
我觉得没错吧
点赞 回复 分享
发布于 2017-10-14 12:48
你的是对的
点赞 回复 分享
发布于 2017-10-14 13:10
楼主面的哪一站的腾讯哇
点赞 回复 分享
发布于 2017-10-14 13:10
面试官没掌握好!
点赞 回复 分享
发布于 2017-10-14 13:26
掏出电脑演示给他看
点赞 回复 分享
发布于 2017-10-14 13:34
我觉得也没错
点赞 回复 分享
发布于 2017-10-14 15:18
可能是面试官没有听说过(短路)这个词语,
点赞 回复 分享
发布于 2017-10-14 21:41
逻辑与和位运算没毛病啊,不能说一点不对吧,想知道面试官怎么答
点赞 回复 分享
发布于 2017-10-14 22:27
&&一般常说是“骤死式”操作,短路的说法和这个一样,题主回答的没什么问题
点赞 回复 分享
发布于 2017-10-15 09:35
我懂了。哈哈。 是这个意思; 首先,&&在判断的时候,如果第个位false就是短路,直接fasle 但是,如果将&用来这里,即使第一个判断为fasle,也就是0x00000000,那它还是会继续往下算,计算第二个表达时,然后进行与操作。 另外,面试官说的优先级其实就是,(1)&(2),首先会计算1,2,然后在进行与操作。
点赞 回复 分享
发布于 2017-10-15 10:15

相关推荐

10-17 10:05
已编辑
北华大学 全栈开发
牛客872465272号:掉头发了哥
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务