该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2010-06-03
这些题出的不错,都是必须搞清楚的基础题。没什么恶心的。
|
|
返回顶楼 | |
发表时间:2010-06-03
ksrs 写道 xxboy 写道 引用 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); } } 看一下字节码就全明白了 10: iload_1 // 把0压入栈 11: iinc 1, 1 // 把索引为1的局部变量加1 14: istore_1 // 再把栈里的变量赋值给索引为1的局部变量,也就是赋值0 楼上正解也! 还是不太理解,哪位大大能解释一下? |
|
返回顶楼 | |
发表时间:2010-06-03
最后一题: 有没有人试试 d.getYear() 结果是多少,可以试一下哦。。
|
|
返回顶楼 | |
发表时间:2010-06-03
最后修改:2010-06-03
好吧,既然字节码不理解,就还原成java代码 int tmp = j; j = j+1; j = tmp;
|
|
返回顶楼 | |
发表时间:2010-06-03
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++是return完再+,++j是+完再return |
|
返回顶楼 | |
发表时间:2010-06-03
题目挺不错的
问题不难,但是有很多细节上的陷阱,不经常动手写代码的话,就要忘光光了 |
|
返回顶楼 | |
发表时间:2010-06-03
嗯 题目还是有意义的,可以鉴别出这个程序员的功底来。不过我觉得一个公司对程序员的考察不能仅仅是这些题目吧,如果我是出题人,我宁愿在一个方面少出几道题,但去多考察几个方面。我觉得这种基础题10道以内就够了,10道就差不多辨得出水平了。
|
|
返回顶楼 | |
发表时间:2010-06-03
yangfuchao418 写道
bigkai_13 写道
hui94781674 写道
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); } }
求打印结果?
跳出循环的条件是i<100?
这孩子晕了 |
|
返回顶楼 | |
发表时间:2010-06-03
aisensiy 写道
yangfuchao418 写道
bigkai_13 写道
hui94781674 写道
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); } }
求打印结果?
跳出循环的条件是i<100?
这孩子晕了 大哥你弄错了吧??应该说是跳出循环的条件是i>100,而不是i<100,之所以打印0,前面已经有人说了。主要考j++和++j的区别 |
|
返回顶楼 | |
发表时间:2010-06-03
看下java解惑,这些问题都迎刃而解了,不过我感觉这些题目测试不出什么水平,真正高级的程序员,并不会写让人容易理解混淆的代码,相反,他们会避开这种写法,让人更加容易阅读和理解,我觉得这个才是正道。
|
|
返回顶楼 | |