Redian新闻
>
炒股之余请教一道编程题
avatar
炒股之余请教一道编程题# Stock
m*h
1
有人出了道题:
HR说公司的老大是北大毕业的,公司成立快20年了,现在总共有43人,Android的有4个
。HR面完让我做一份笔试题,拿走了我的手机,说发现有人百度。笔试题分Java和
Android两部分,Java40分,Android60分,我感觉我做的结果大概是50使>60也没戏,Java第一题就错了。。。
/**
第一题 short s1 = 1; s1 = s1 + 1; 有错吗? 为什么?
short s1 = 1; s1 += 1; 有错吗? 为什么?
*/
public class TestDataType {

public static void main(String[] args) {

short s1 = 1; s1 = s1 + 1;

short s2 = 1; s2 += 1;
}
北京未名空间信息技术有限公司
avatar
t*i
2
太难了,不会。
一看到 short 以为是short了 s1 这个股票。
avatar
m*h
3
我觉得是,short了1股,然后又short了1股,也就是-2股。
答题的可能意味是+2股。
不知道我的解释对不对。

【在 t*******i 的大作中提到】
: 太难了,不会。
: 一看到 short 以为是short了 s1 这个股票。

avatar
t*i
4
完了,看来我是编程和炒股各粘一半,难怪都做不好。
avatar
c*w
5
这是Java类型转换的一个细节问题了。
1在code里作为literal默认为int
s2 += 1; 编译能过是因为javac解释为s2=short(s2+1);
但是
s1 = s1 + 1;解释为一个short(s1)加一个int(1),由于short不会被隐式转换为int,所
以编译通不过
avatar
t*i
6
这是考茴字有几种写法阿。
不过我当年读 C FAQ, i++ 和 ++i 的区别都倍儿清楚,不过工作中从来没用上。

【在 c*w 的大作中提到】
: 这是Java类型转换的一个细节问题了。
: 1在code里作为literal默认为int
: s2 += 1; 编译能过是因为javac解释为s2=short(s2+1);
: 但是
: s1 = s1 + 1;解释为一个short(s1)加一个int(1),由于short不会被隐式转换为int,所
: 以编译通不过

avatar
c*w
7
是比较无聊。面试出这种题的人,不论码程序还是炒股都还停留在entry level阶段吧

【在 t*******i 的大作中提到】
: 这是考茴字有几种写法阿。
: 不过我当年读 C FAQ, i++ 和 ++i 的区别都倍儿清楚,不过工作中从来没用上。

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。