论坛首页 入门技术论坛

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

浏览 53361 次
该帖已经被评为新手帖
作者 正文
   发表时间:2010-06-02  
IrenBJ 写道
mathfox 写道
答错了一个,不好感觉这些题怎么这么恶心啊。

哪个变态公司出这题。

这些个题很恶心吗?不觉得啊,我反而觉得出的很好,既然我暴露了这些题,不仅希望大家能把结果写出来,更重要的是大家知道这些题都分别考了哪些知识点吧。从这个角度去看,我觉得还是非常好的。java基础功底不错的人答这些题应该是游刃有余的,并且在知道答案的时候也知道为什么会是这个答案,这才是重点。




感觉你应该喜欢会喜欢java解惑那本书。会是这东西。


0 请登录后投票
   发表时间:2010-06-02   最后修改: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

 

0 请登录后投票
   发表时间:2010-06-02  
IrenBJ 写道
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++和++j的区别在哪里? 明白了这两者的区别我想这道题应该就不难得出正确结果了。


我的理解 j++ 是先返回表达式结果在计算 ++  , 先计算++ 在返回结果

不论怎么样 j的值应该都是变化了的 ?

还是不太明白 呵呵 要理解一下

0 请登录后投票
   发表时间:2010-06-02  
mathfox 写道
IrenBJ 写道
mathfox 写道
答错了一个,不好感觉这些题怎么这么恶心啊。

哪个变态公司出这题。

这些个题很恶心吗?不觉得啊,我反而觉得出的很好,既然我暴露了这些题,不仅希望大家能把结果写出来,更重要的是大家知道这些题都分别考了哪些知识点吧。从这个角度去看,我觉得还是非常好的。java基础功底不错的人答这些题应该是游刃有余的,并且在知道答案的时候也知道为什么会是这个答案,这才是重点。




感觉你应该喜欢会喜欢java解惑那本书。会是这东西。



不懂什么意思啊,这些题是我从白纸上敲下来的代码,难得全是这本书里的吗?我晕啊
0 请登录后投票
   发表时间:2010-06-02   最后修改: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 = j++;

 

将 j++ 赋值给 j 毫无疑问 j=0

如果是 j=++j 就是你要的结果 100

0 请登录后投票
   发表时间:2010-06-02  
IrenBJ 写道
mathfox 写道
IrenBJ 写道
mathfox 写道
答错了一个,不好感觉这些题怎么这么恶心啊。

哪个变态公司出这题。

这些个题很恶心吗?不觉得啊,我反而觉得出的很好,既然我暴露了这些题,不仅希望大家能把结果写出来,更重要的是大家知道这些题都分别考了哪些知识点吧。从这个角度去看,我觉得还是非常好的。java基础功底不错的人答这些题应该是游刃有余的,并且在知道答案的时候也知道为什么会是这个答案,这才是重点。




感觉你应该喜欢会喜欢java解惑那本书。会是这东西。



不懂什么意思啊,这些题是我从白纸上敲下来的代码,难得全是这本书里的吗?我晕啊



那本书都是类似的这种题,我记不清是java cookbook还是java puzzle什么名了。

你出的这些题,在这个论坛,每个题都有人单独发过贴。并且有很多讨论。
0 请登录后投票
   发表时间:2010-06-02  
wnick 写道
IrenBJ 写道
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++和++j的区别在哪里? 明白了这两者的区别我想这道题应该就不难得出正确结果了。


我的理解 j++ 是先返回表达式结果在计算 ++  , 先计算++ 在返回结果

不论怎么样 j的值应该都是变化了的 ?

还是不太明白 呵呵 要理解一下

j是基本类型,改变后的结果已不可见

0 请登录后投票
   发表时间:2010-06-02  
towne 写道
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

 

请在机器上跑下面这句话

int j = 0 ;
System.out.println(j++);

 和

int j = 0 ;
System.out.println(++j);

 两个比较一下

0 请登录后投票
   发表时间:2010-06-02   最后修改:2010-06-02
int j = 10;

		for (int i = 0; i < 100; i++) {
			j = j + j;
		}

		System.out.println(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

写道
for (int i = 0; i < 100; i++)
     j = j++; // 换成C语言的逗号表达式: j = (j=j+1), 0

 加1了, 可是后来把0又给回去了,

 

 

话说, 这些题确实不错, 考的很基础,

那个.的题好阴险, 诶

写道
System.out.println(classPath.replaceAll("\\.", "/"));

 这样才是替换.

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

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