黑马程序员技术交流社区

标题: [涨姿势]和大家分享一些小问题。 [打印本页]

作者: jtshawn    时间: 2014-9-22 09:51
标题: [涨姿势]和大家分享一些小问题。
本帖最后由 jtshawn 于 2014-9-24 16:51 编辑

这些天看到一些比较有趣的小问题,今天拿出来和大家一起分享,希望知道的大神不要很快就公布答案。

1. 求打印结果,并解释原因?(请大家先思考,不要用机器运行代码,那样没有意义)
  1. public class AnimalFarm
  2. {
  3.         public static void main(String [] args)
  4.         {
  5.                 final String pig = "length:10";

  6.                 final String dog = "length:"+pig.length();

  7.                 System.out.println("Animal are equal:" + pig == dog);
  8.         }
  9. }
复制代码
2.提供一个对i的声明,将下面的循环转变为一个无线循环:
  1. while(i != i){ }
复制代码

3.同题2,提供一个对i的声明,将循环变成一个无限循环:
  1. while(i != 0 && i == -i){ }
复制代码

实在不好意思,第三题题目有误(已修改)。




作者: jtshawn    时间: 2014-9-22 11:05
没人回复好寂寞啊!
作者: jtshawn    时间: 2014-9-22 11:09
大家是嫌这些题目太没挑战性了么!
作者: jtshawn    时间: 2014-9-22 22:05
哎,自己回自己,1分也是分
作者: ☆枫の云    时间: 2014-9-22 22:11
感谢楼主分享~
作者: 谭培奇    时间: 2014-9-22 22:19
楼主不要着急,明天做出来回复哈,感觉很牛逼的样子
作者: jtshawn    时间: 2014-9-23 23:00
没人来回答么,有需要答案的可以说下。
作者: 雨下阳光    时间: 2014-9-24 15:54
第一个结果:Animal are equal:false
第二、三个结果是没有的
对吗?没有运行过
作者: jtshawn    时间: 2014-9-24 16:38
雨下阳光 发表于 2014-9-24 15:54
第一个结果:Animal are equal:false
第二、三个结果是没有的
对吗?没有运行过 ...

提出问题当然是有答案的啦!
第一题的答案是 false,因为 +  的运算级别高于 == ,所以是字符串先和pig运算,得到"Animal are equal pig",然后在与dog比较地址值,结果为false.


作者: jtshawn    时间: 2014-9-24 16:46
第二题答案是  double i = 0.0/0.0;  其中涉及了一个特殊的值 NaN (Not a Number) 这个特殊的值用来表示一个不是数字的数量。所以没有良好的数字定义的浮点计算,例如 0.0/0.0 的结果都是NaN。NaN不等于任何浮点数值,包括它自身。 所以 NaN != NaN 结果为真。
作者: jtshawn    时间: 2014-9-24 16:48
jtshawn 发表于 2014-9-24 16:38
提出问题当然是有答案的啦!
第一题的答案是 false,因为 +  的运算级别高于 == ,所以是字符串先和pig运 ...

剩下两题的答案在楼下。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2