• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
davelet
博客园    首页    新随笔    联系   管理    订阅  订阅

Java循环:想说爱你不容易

美国的Joshua Bloch讲了很多Java谜题,今天和大家一起分享。

0 循环者引题

请写一个变量声明,将它置于下面的循环之前,使得该循环成为无限循环。

for (int i =start; i <=start+1; i++){

}

这里,start是未定义变量,我们需要定义它。

如果你非常熟悉int的话,可能能得出正确答案:

int start = Integer.MAX_VALUE - 1;

为什么?呵呵,因为int.MAX_VALUE + 1 = int.MIN-VALUE。

1 循环者

什么样的声明能让下面的循环是无限循环?

while(i == i + 1){

}

2 循环者的新娘

提供一个对i的声明,使下面的循环是无限循环。

while(i != i){

}

3 循环者的爱子

提供一个对i的声明,使下面的循环是无限循环。

while(i != i + 0){

}

4 循环者的鬼魂

提供一个对i的声明,使下面的循环是无限循环。

while(i != 0){

  i >>>=1;

}

5 循环者的诅咒

提供对i和j的声明,使下面的循环是无限循环。

while(i <= j && j <=i && i !=j){

}

6 循环者遇到了浪人

提供一个对i的声明,使下面的循环是无限循环。

while(i != 0 && i == -i){

}

posted @ 2011-12-08 13:37  davelet  阅读(184)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3