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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 多多米 中级黑马   /  2015-1-22 18:53  /  4747 人查看  /  99 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

我已经是公司的项目经理,但是我现在准备辞职学JAVA/Android,我准备从基础班学起。
在公司担任团队Leader的过程中,我发现很多新手都会忽视一些最常见的东西。
我开这篇帖子的目的,是想给大家分享一个老程序员在重新学习一门语言的时候,我们通常会关注的一些地方。
每一篇帖子,我都希望能够和大家交流,我会抛出我的观点,请大家多指教:
1、JAVA赋值操作的时候,M和N相加,M+=N和M=M+N之间有区别吗?为什么?
2、在执行与运算的时候,请举例论证说明:运算符&和&&之间有什么区别?

点评

上面由于篇幅问题及认识有限,暂且就只说那么点了!不举例了!对于java知识,真是浩瀚如海洋,基础知识点很多!尤其对于初学者!所以,打好基础无比重要,这些基础由于一栋大楼的砖瓦,基础不好,大楼也会不稳固!楼   发表于 2015-1-29 16:38
这个问题,应该是挺基础的!当然了,正如楼主所秉承的态度,我个人觉得很对很必要!基础知识才是一切知识起点!个人初学java同时也没什么天赋,有幸接触黑马,希望可以向各位朋友,前辈好好学习! 对于问题一,就我   发表于 2015-1-29 16:33

评分

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

查看全部评分

99 个回复

倒序浏览
M+=N具有强制转换的作用
回复 使用道具 举报
丶人世百态 发表于 2015-1-22 19:23
M+=N具有强制转换的作用

答案是正确的,但是我觉得不够清晰和详细,这两个问题是我模拟的面试题
回复 使用道具 举报
M和N相加,M+=N和M=M+N的区别:
假设:
int  x=10;
x +=1;
System.out.printin(x);
上述代码的输出结果为:11。那么在这种情况下:“a+=1”和"a=a+1"等价,一般情况下这两种语句可以通用。
但是有些情况却不可能,代码如下:
short  x=10;
x += 1;   //编译通过
x = x+1;   //编译会发生错误
那么在上述代码中,x = x+1编译错误的原因是因为右边x + 1表达式计算结果为int 类型,而左边变量类型为short类型,这就违反了自动转换规则,需要人为的进行类型的强制转换 。而“+=”运算符在java中会自动根据接收变量的类型进行强制转换。
那么最终的结论,咱们就可以轻易得出:m += n语句等价于“m = m + n”和类型强制转换两个操作。
当然在-=、/=、*=这些运算符的操作中,情况类似。


还没有进入到面试阶段,但是并不妨碍咱们提前进行模拟面试!
身经百战,从现在开始!
小伙伴们,如果觉得我的答案还满意,就点个赞吧!

第二题的答案,你们有没有想到呢?

点评

必须点赞  发表于 2015-1-29 16:11

评分

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

查看全部评分

回复 使用道具 举报
多多米 发表于 2015-1-22 20:55
M和N相加,M+=N和M=M+N的区别:
假设:
int  x=10;

以前还真没怎么注意这些小细节    长知识了  
回复 使用道具 举报
H马凯 发表于 2015-1-22 21:04
以前还真没怎么注意这些小细节    长知识了

这个习惯我的观点是,应该从现在开始养成。因为在实际项目当中,我曾经遇见过类似的小细节的问题,导致整个项目出现大问题,但是一直找不到原因的状况。如果觉得我的帖子有用处,就点一下支持吧,后续类似的帖子我会一直持续更新。
回复 使用道具 举报
多多米 发表于 2015-1-22 21:08
这个习惯我的观点是,应该从现在开始养成。因为在实际项目当中,我曾经遇见过类似的小细节的问题,导致整 ...

谢谢   真的很感谢   真的有时候一个不起眼的小细节  可能就会导致整个程序都运行不了    以后需要注意下了
回复 使用道具 举报
H马凯 发表于 2015-1-22 21:13
谢谢   真的很感谢   真的有时候一个不起眼的小细节  可能就会导致整个程序都运行不了    以后需要注意下 ...

我只是把我的经验贡献出来,后边我会写更多这类的主题,多捧场就行
回复 使用道具 举报
H马凯 发表于 2015-1-22 21:13
谢谢   真的很感谢   真的有时候一个不起眼的小细节  可能就会导致整个程序都运行不了    以后需要注意下 ...

第二个问题,你怎么看?
回复 使用道具 举报
丶人世百态 发表于 2015-1-22 19:23
M+=N具有强制转换的作用

第二个问题,你怎么看?
回复 使用道具 举报
温故而知新,可以为师矣
回复 使用道具 举报
M+=N和M=M+N之间有区别吗  &和&&之间有什么区别?  视频毕老师讲过  这两个涉及的应该都是运行的效率问题吧  我理解的比较浅显  M+=N叫做把左右两边的和赋给左边,底层做的是一次运算  效率比较高, &和&&也是一个道理吧   另外我觉得这种问题没有必要去死磕个半天 没什么用 知道会用就行了吧    另外问下既然你已经是一个公司的项目经理了  那为什么还要从头开始学android呢  这不是浪费精力嘛  我不觉得这是一种明智的选择  要不就是你这个项目经理干的不爽  业务前景不明朗   不知道你负责的是哪一块 如果是EE的话  我觉得很好啊  可以选择大数据云计算方向啊 干嘛选安卓呢  毕竟服务器端的开发还是比较牛逼的  接触的东西比较多  而相对安卓就比较单一吧   不过呢我还是选择安卓吧   因为EE有那么多东西要学  我脑袋比较笨
回复 使用道具 举报
我为你着迷 发表于 2015-1-22 23:20
M+=N和M=M+N之间有区别吗  &和&&之间有什么区别?  视频毕老师讲过  这两个涉及的应该都是运行的效率问题吧 ...

首先,感谢您替我的前景担忧,但是很遗憾我辞职这个行当前景还是很光明的,医疗行业现在还挺好
其次,这篇帖子的目的是帮助大家预防最容易被疏漏的地方,视频上永远是视频上的,您要觉得没有必要钻研,我觉得我不便于对您个人的观点发表看法,毕竟每个人的学习方式不一样
最后,我觉得您有必要再仔细理解一下题的主题含义,前者答案我已经给出不用多说,后者一句底层运算就概括了全部,我觉得不合适,不是所有问题都能一句底层运算就能概括的
回复 使用道具 举报
路尽鹭飞 发表于 2015-1-22 23:00
温故而知新,可以为师矣

常温、常新
回复 使用道具 举报
项目经理都不干了?
回复 使用道具 举报
菜鸟一号 发表于 2015-1-23 09:07
项目经理都不干了?

本来是项目上需要移动端开发,在WP上开发的东西不太好,后来接触到同行业的IOS和安卓版本,然后决定从安卓版本入手,公司本来是让我兼职来学习,我琢磨要学就彻底点啦,两边耽误功夫,医疗行业本来就很耗费精力
回复 使用道具 举报
楼主的帖子很好,这些小知识点以前学习过,但是渐渐的不留意就忘记了,读了楼主分享的帖子又回想起来了。希望多有这样的小知识点、交流、学习、共进 。。。
回复 使用道具 举报
又长知识了,真没注意到这些
回复 使用道具 举报
以利亚 发表于 2015-1-23 09:59
楼主的帖子很好,这些小知识点以前学习过,但是渐渐的不留意就忘记了,读了楼主分享的帖子又回想起来了。希 ...

大家一起进步,我只是分享,只求不要被人喷
回复 使用道具 举报
yueLife_1993 发表于 2015-1-23 10:12
又长知识了,真没注意到这些

实际项目开发当中,这如果不注意,绝对是血淋淋的教训
回复 使用道具 举报
12345下一页
您需要登录后才可以回帖 登录 | 加入黑马