给出最简洁的代码,判断一个int型整数是否大于等于0并且小于16.

解决方案 »

  1.   

    其实这样的题目意思不大。一般肯定会写成return x >= 0 && x < 16的不过如果要钻牛角尖,那么可以写成return (i & ~15) == 0
      

  2.   

    我只能写出 return x >= 0 && x < 16
      

  3.   


    正解,比我的还简洁
    return a&0xfffffff0==0 
      

  4.   

    return (i & ~15) == 0用位运算
      

  5.   

    答案:System.out.println(i>=0 &&(i>>3 < 2));
    寄存器移位,速度最快:
    各个数字对应2进制:
    4:100
    8:1000
    16:10000
    运行i>>3的结果:
    i=16,结果:2
    i为[8,16)间的数,结果1,
    8以下的数,结果:0。
      

  6.   

    方法同上,补充一下,感觉这个简洁快速些:
    System.out.println(i>>4 == 0);
    测试数据:
    int m = 0;
    int i = 7;
    int k = 8;
    int l = -1;
    int j = 16;
    System.out.println(m>>4 == 0);
    System.out.println(i>>4 == 0);
    System.out.println(k>>4 == 0);
    System.out.println(l>>4 == 0);
    System.out.println(j>>4 == 0);
    结果:
    true
    true
    true
    false
    false

      

  7.   

    int x;
    return (x>=0&&x<=16)?true:false;
      

  8.   

    http://javas.5d6d.com/forum-8-1.html  Java核心语法在线视频 很好很强大 强烈推荐 免费资源