好久不动脑子了,都生锈了,朋友给我发来了一道判断题。
问题如下:
我当时第一反应是直接模2,他说哪个方法更好,我没反应过来,还有方法?
吃完饭会回来,考虑了下是不是用二进制来做题呢?2的阶次方数这类的数字特点每个数二进制最高位为一,其他位为零,有这个特点的情况下是不是可以考虑一种方法来判断,当时反应如果移位后,全为零,但是不知道下来怎么表示,所以再换种方法,进行“位与”,最高位与次高位与,得零为true,反之false.
其实这题就这么简单。细心考虑下就可以了。
这个题是我三年前遇到的复习题,这个题有最大的迷惑性就在test()这个函数上,是不是有异常,而对于这样的题来讲,首先考虑test()是否有异常,当然这样一眼就可以知道没有异常,所以就只有输出一句"condition 1".
到这里,还没有完!没有异常之后,还有finally这个是最后try{}catch(){}顺序执行后要执行的,所以还有个"finally"
最后结果是:condition 1
finally