免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: wxibing
打印 上一主题 下一主题

java最基本的面试题求解 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2008-12-11 11:18 |只看该作者
原帖由 kjchen 于 2008-12-4 20:20 发表
输出结果是0 ,i++的意义是做完其他的事情之后,自加1;如果要是 i = ++i ,输出结果为1

short s = 1; s = s + 1; (s+1运算结果是int型,需要强制转换类型)
short s = 1; s += 1;(可以正确编译)



不错的回答,,我收了。。

论坛徽章:
0
12 [报告]
发表于 2008-12-12 11:12 |只看该作者
细节决定一切。

论坛徽章:
0
13 [报告]
发表于 2008-12-12 13:27 |只看该作者
原帖由 starxing 于 2008-12-12 11:12 发表
细节决定一切。



错了,,是money决定一切

论坛徽章:
0
14 [报告]
发表于 2008-12-13 17:42 |只看该作者
楼主请看这篇文章
http://www.smallstonesoft.com/?p=196

论坛徽章:
0
15 [报告]
发表于 2008-12-15 00:22 |只看该作者
在Java运算符中=这个运算符的级别可以说是小弟级的了,所以在算i=i++的时候先处理i++,然后再用计算出来的值赋给i。第二题中s=s+1之所以错也是同样的原因,在计算s+1之前Java会做隐式转换,将s+1转换为int型的值然后赋值给s,因为s定义为short的,所以编译不能通过。然而s+=1却可以,但是我学习Java基础的时候也想研究明白其中的原因,但是没有找到答案,反正就是死记住了s+=1可以。如果楼主找到答案的话希望能分享一下

论坛徽章:
0
16 [报告]
发表于 2008-12-19 12:28 |只看该作者
没意义的面试题……
没有人会去这么写
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP