论坛首页 入门技术论坛

某公司的java笔试题,来测测你的基础如何吧

浏览 53358 次
该帖已经被评为新手帖
作者 正文
   发表时间:2010-06-02   最后修改:2010-06-02
那个循环相加100次结果为零我是这么理解的,因为int类型是4个字节,32位,每次j=j+j最后结果是0是因为j+j就是j<<1,左移一位,当j的所有的32位都左移出去的时候就变成了0
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);
    }
}

 

求打印结果?


请说说为什么 打印是 0

因为j++等于0,所以j每次也就=0,所以不管i循环好多次都会为0,如果将j = j++; 改为 j = ++j;  那么j最后的值  = j+(i循环的次数)

 

建议复习一下  j++,++j;j--,--j

0 请登录后投票
   发表时间:2010-06-02  
这些题真是考基础啊。第7个以为是1999 31, 看了文档才知道,构造的是1999 12 31 00 00, 而00:00算第二天的第一分钟, 所以实际结果应该是2000 1.

感谢LZ分享。

我对LZ上机笔试第二题很感兴趣,不知道LZ怎么实现的? 很想看看算法。
0 请登录后投票
   发表时间:2010-06-02  
第三题,能说说为什么是“////////////////”啊,不明白请教啦
0 请登录后投票
   发表时间: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 写道

第三题,能说说为什么是“////////////////”啊,不明白请教啦

前面已经有答案啦,主要考察对基本正则表达式的理解。
0 请登录后投票
   发表时间:2010-06-02  
建议LZ将剩余的笔试题分享出来,我感觉这几道题都挺好的吧,考的都很基础,看似简单,就如LZ所说,背后可以引申出很多话题,可以应对不同水平的面试者。
0 请登录后投票
   发表时间:2010-06-02  
不少出于《java解惑》一书
0 请登录后投票
   发表时间:2010-06-02  
sumaolin 写道
第三题,能说说为什么是“////////////////”啊,不明白请教啦



正则中,.代表任意字符
0 请登录后投票
   发表时间: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);
    }
}

 

求打印结果?


请说说为什么 打印是 0

因为j++等于0,所以j每次也就=0,所以不管i循环好多次都会为0,如果将j = j++; 改为 j = ++j;  那么j最后的值  = j+(i循环的次数)

 

建议复习一下  j++,++j;j--,--j

 

这才是答案,跟越界,位移没有关系,考的都是我们平时常用,但却忽略的细节,学到知识了。

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);
    }
}

 

求打印结果?


请说说为什么 打印是 0    因为跳出循环的条件是i < 100 而 i = 0 一开始就小于100了,没有执行循环,所以打印的是0

 

0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics