之後早上就作,必定要保證11點上牀睡覺java
下面程序的輸出是什麼?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
342繼承
3423接口
34234rem
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
int i=5;
int s=(i++)+(++i)+(i--)+(--i);
s=( )//s 的值是什麼?
正確答案: Eio
28
25
21
26
24
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
下面哪些類實現或繼承了 Collection 接口?
正確答案: B C
HashMap
ArrayList
Vector
Iterator