叨叨两句

  1. 以后早上就做,一定要保证11点上床睡觉

牛客网——java专项练习021

1

下面程序的输出是什么?

package algorithms.com.guan.javajicu;
public class TestDemo
{

public static String output = ””;
public static void foo(inti)
{
    try
    {
        if (i == 1)
        {
            throw new Exception();
        }
    }
    catch (Exception e)
    {
        output += “2”;
        return ;
    } finally
    {
        output += “3”;
    }
    output += “4”;
}
public static void main(String[] args)
{
    foo(0);
    foo(1);
    System.out.println(output);
}

}

正确答案: B

  1. 342

  2. 3423

  3. 34234

  4. 323

首先是foo(0),在try代码块中未抛出异常,finally是无论是否抛出异常必定执行的语句,
所以 output += “3”;然后是 output += “4”;
执行foo(1)的时候,try代码块抛出异常,进入catch代码块,output += “2”;
前面说过finally是必执行的,即使return也会执行output += “3”
由于catch代码块中有return语句,最后一个output += “4”不会执行。
所以结果是3423
谁说finally块必须执行?不服来辩
try-catch-finally块中,finally块在以下几种情况将不会执行。
(1)finally块中发生了异常。
(2)程序所在线程死亡。
(3)在前面的代码中用了System.exit();
(4)关闭了CPU

2

int i=5;
int s=(i++)+(++i)+(i--)+(--i);
s=( )//s 的值是什么?
正确答案: E

  1. 28

  2. 25

  3. 21

  4. 26

  5. 24

  6. 23

i++是先取值再加,所以第一个括号里表达式值为5,出了括号后i的值为6
++i 是先加再取值,所以第二个括号里表达式的值相当于6+1之后取值为7,出了括号后i的值为7
i--是先取值再减,所以第三个括号里表达式值为7,出了括号后i的值为6
--i是先减再取值,所以第四个括号里表达式的值相当于6-1之后取值为5,出了括号后i的值为5
综上s=5+7+7+5=24,答案为E

3

下面哪些类实现或继承了 Collection 接口?
正确答案: B C

  1. HashMap

  2. ArrayList

  3. Vector

  4. Iterator


Wall_Breaker
2.1k 声望1.2k 粉丝

生死之间,就是我的跃迁之路,全程记录,欢迎见证