【282天】我愛刷題系列(41)

叨叨兩句

  1. 之後早上就作,必定要保證11點上牀睡覺java

牛客網——java專項練習021

1

下面程序的輸出是什麼?spa

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);
}

}code

正確答案: Bblog

  1. 342繼承

  2. 3423接口

  3. 34234rem

  4. 323it

首先是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 的值是什麼?
正確答案: Eio

  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

相關文章
相關標籤/搜索