
笔试题
文章平均质量分 66
相以沫
这个作者很懒,什么都没留下…
展开
-
x&-x
之前笔试有道题 int func(int x) { x = x&(x - 1); return x; } int main() { cout << func(2048) << endl; return 0; } 我们都知道数据以二进制的形式存储,有正负的数据要拿出1位当做符号,但这样负数的表示范围有些问题,最大正数0111 1111,就是127,最大负数1111 1...原创 2019-04-28 13:57:33 · 1871 阅读 · 0 评论 -
类初始化顺序 静态块与初始化块
运行这段代码输出顺序会是怎么样? public class Test { static{ System.out.println("test static"); } { System.out.println("1"); } public Test() { System.out.println("test cons...原创 2019-04-28 14:25:52 · 197 阅读 · 0 评论 -
try return finally
执行这段代码后返回值是几? public int ret() { try { return 0; } catch (Exception e) { return 1; } finally { return 2; } } finally :无论try语句发生了什么,无论抛出异常还是正常执行,不管执行了return语句、break语...原创 2019-04-28 16:17:40 · 890 阅读 · 0 评论 -
继承后Throws该如何声明
A2和A3中方法a可以声明抛出哪几个异常? interface A0 { void a() throws CloneNotSupportedException, IOException; } interface A1 { void a() throws SQLException, IOException; } interface A2 extends A0 { void...原创 2019-04-28 16:44:24 · 394 阅读 · 1 评论 -
如何证明一个数是2的幂次方
一个数是否是2的幂次方,比较常用的是递归和移位运算进行判断。递归算法的思想很简单,就是不断的模上2去判断。 如果一个数是2的幂,那么它的二进制表示中就只有一位1,例如:10000,1000,100等等。所以如果对数字1进行移位操作,总会在移到某个位的时候和这个数相等。这就是移位判断的思想。 因为二进制表示的2的幂次方数中只有一个1,后面跟的是n个0; 因此问题可以转化为判断1后面是否跟了n个0。如...转载 2019-06-14 10:29:09 · 753 阅读 · 0 评论