首页 > 其他 > 详细

java中的那些坑

时间:2014-02-27 20:58:46      阅读:442      评论:0      收藏:0      [点我收藏+]

   最近准备换工作,为了少让人家鄙视,就要狠狠地藐视这些面试题目。找了本电子书,发了有好多坑,都是特别简单,但是很少有人做对的题目。面对这样的题目,我却有一种兴奋的感觉,也许是因为一直做着重复的工作没有新鲜感了,偶尔掉坑了还自得其乐来着。好了,言归正传,待我细细说来,欢迎拍砖啊。

1.坑1,关于三目运算符

   先看题目:char x = ‘x‘;System.out.println(true?120:x);请问输出结果是什么?

   我想大多数人的结果是120,而且还用很蔑视的态度回答,先不用着急,三目运算符,大家很熟悉的嘛,那你花几秒钟在命令行或者是编译器中执行下看看是什么结果,没错,就是x。是不是有种诧异的感觉,是不是觉得被带沟里去了?不知道大家感觉如何,反正我看到这个结果都惊呆了。对于三目运算符中的两个结果,如果一个是常量,一个是类型T的变量,则常量会被转型为类型T,这个据说是java编程规范中规定的,反正我是没看过,就此记住一条。所以常量120被转型为char,对应于x(小写)

2.坑2,{}真是可有可无吗?

     先看题目:

       for(int i=0;i<10;i++)

          Integer k=new Integer(i);

           System.out.println("hello world");

请问结果如何?

我第一反应没有认真看,然后觉得直接输出hello world.但是实际上呢,根本编译不过去。

平时我的感觉就是,如果for中只有一行语句,那就不加{}了,免得看得那么多,随意印象中,对于一行的循环体,觉得{}是可有可无的。然而,事实是,java中的局部变量应该是在一个代码块中,也可以理解为是在{}中。for可以不加{},但是只限于执行语句,不包括局部变量执行的语句,而在本例中,就出现了局部变量重复定义的错误,改正的办法是加上{}。可见,{}还真不是可有可无的,怪不得刚开始学编程时候老是说用不用带带着呢,还是有道理的呀

java中的那些坑,布布扣,bubuko.com

java中的那些坑

原文:http://www.cnblogs.com/lxy15329/p/3570352.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!