叨叨两句
以后早上就做,一定要保证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
342
3423
34234
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
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
3
下面哪些类实现或继承了 Collection 接口?
正确答案: B C
HashMap
ArrayList
Vector
Iterator
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。