该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2010-06-02
最后修改:2010-06-02
那个循环相加100次结果为零我是这么理解的,因为int类型是4个字节,32位,每次j=j+j最后结果是0是因为j+j就是j<<1,左移一位,当j的所有的32位都左移出去的时候就变成了0
|
|
返回顶楼 | |
发表时间:2010-06-02
wnick 写道
IrenBJ 写道
5。 public class Increment { public static void main(String[] args) { int j = 0; for (int i = 0; i < 100; i++) j = j++; System.out.println(j); } }
求打印结果?
因为j++等于0,所以j每次也就=0,所以不管i循环好多次都会为0,如果将j = j++; 改为 j = ++j; 那么j最后的值 = j+(i循环的次数)
建议复习一下 j++,++j;j--,--j |
|
返回顶楼 | |
发表时间:2010-06-02
这些题真是考基础啊。第7个以为是1999 31, 看了文档才知道,构造的是1999 12 31 00 00, 而00:00算第二天的第一分钟, 所以实际结果应该是2000 1.
感谢LZ分享。 我对LZ上机笔试第二题很感兴趣,不知道LZ怎么实现的? 很想看看算法。 |
|
返回顶楼 | |
发表时间:2010-06-02
第三题,能说说为什么是“////////////////”啊,不明白请教啦
|
|
返回顶楼 | |
发表时间:2010-06-02
httpclient_bd 写道 这些题真是考基础啊。第7个以为是1999 31, 看了文档才知道,构造的是1999 12 31 00 00, 而00:00算第二天的第一分钟, 所以实际结果应该是2000 1.
感谢LZ分享。 我对LZ上机笔试第二题很感兴趣,不知道LZ怎么实现的? 很想看看算法。 Calendar类中的月份是从0开始计算的,也就是说12代表的是下一年的1月份,这才是正确的理解。 sumaolin 写道 第三题,能说说为什么是“////////////////”啊,不明白请教啦 前面已经有答案啦,主要考察对基本正则表达式的理解。 |
|
返回顶楼 | |
发表时间:2010-06-02
建议LZ将剩余的笔试题分享出来,我感觉这几道题都挺好的吧,考的都很基础,看似简单,就如LZ所说,背后可以引申出很多话题,可以应对不同水平的面试者。
|
|
返回顶楼 | |
发表时间:2010-06-02
不少出于《java解惑》一书
|
|
返回顶楼 | |
发表时间:2010-06-02
sumaolin 写道 第三题,能说说为什么是“////////////////”啊,不明白请教啦
正则中,.代表任意字符 |
|
返回顶楼 | |
发表时间:2010-06-02
lucky16 写道
wnick 写道
IrenBJ 写道
5。 public class Increment { public static void main(String[] args) { int j = 0; for (int i = 0; i < 100; i++) j = j++; System.out.println(j); } }
求打印结果?
因为j++等于0,所以j每次也就=0,所以不管i循环好多次都会为0,如果将j = j++; 改为 j = ++j; 那么j最后的值 = j+(i循环的次数)
建议复习一下 j++,++j;j--,--j
这才是答案,跟越界,位移没有关系,考的都是我们平时常用,但却忽略的细节,学到知识了。 |
|
返回顶楼 | |
发表时间:2010-06-02
wnick 写道
IrenBJ 写道
5。 public class Increment { public static void main(String[] args) { int j = 0; for (int i = 0; i < 100; i++) j = j++; System.out.println(j); } }
求打印结果?
|
|
返回顶楼 | |