以下程序编译运行结果为.(). public class Z { public static void main(String[] args) { new Z(); } Z() { Z alias1 = this; Z alias2 = this; synchronized(alias1) { try { alias2.wait(); System.out.println("DONE WAITING"); } catch (InterruptedException e) { System.out.println("INTERR UPTED"); } catch (Exception e) { System.out.println("OTHER EXCEPTION"); } finally { System.out.println ("FINALLY"); } } System.out.println("ALL DONE"); }}
A: 程序可以编译但没有任何输出.
B: 程序可以编译并输出 "DONE WAITING".
C: 程序可以编译并输出"FINALLY".
D: 程序可以编译并输出"ALL DONE".
E: 程序可以编译并输出"INTERRUPTED"
A: 程序可以编译但没有任何输出.
B: 程序可以编译并输出 "DONE WAITING".
C: 程序可以编译并输出"FINALLY".
D: 程序可以编译并输出"ALL DONE".
E: 程序可以编译并输出"INTERRUPTED"
举一反三
- 下面程序段的执行结果是()public class Demo{ public static void main(String [] args){ try{ return; } finally{ System.out.println("Finally"); } }} A: 编译能通过,但运行时会出现一个例外 B: 程序正确运行,并输出“Finally” C: 程序正常运行,但不输出任何结果 D: 因为没有catch语句块,所以不能通过编译
- (9-2)下面程序能够通过编译检查。 public class Demo5 { public static void main(String[] args) { try { System.out.println(3/0); System.out.println("你好"); }catch(Exception e) { e.printStackTrace(); }catch(ArithmeticException e) { e.printStackTrace(); } } }
- 请看下面的程序段,下面说法正确的是( )。public class Person{static int arr[] = new int[10];public static void main(String a[]) {System .out .println(arr);}} A: 输出结果为0 B: 当编译时会发生错误 C: 不会输出结果 D: 编译不会发生错误但执行时会发生错误
- 下列程序编译并运行的结果为()publicclassTest{publicstaticvoidmain(String[]args){try{inti=1;System.out.println(i++);}finally{System.out.println(++i);}}}
- public class Test{ public static void main(String[] args){ String s="y"; System.out.println(s+1+2); System.out.println(1+2+s); } } A: 输出:y12 3y B: 输出:y12 12y C: 输出:y3 3y D: 程序编译出错