当前位置:   article > 正文

java综合练习题1_请写出以下程序运行结果: package test; public class test { pub

请写出以下程序运行结果: package test; public class test { public static void

第一题

  1. 下列程序运行结果是:
package Test;
public class Test {
    private static void test(int[] arr) {
        for (int i = 0; i < arr.length; i++) {
            try {
                if (arr[i] % 2 == 0) {
                    throw new NullPointerException();
                } else {
                    System.out.print(i);
                }
            } finally {
                System.out.print("e");
            }
        }
    }

    public static void main(String[]args) {
        try {
            test(new int[] {0, 1, 2, 3, 4, 5});
        } catch (Exception e) {
            System.out.print("E");
        }
    }

}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

正确的答案: B

A.编译出错
B.eE
C.Ee
D.eE1eE3eE5
E.Ee1Ee3Ee5
  • 1
  • 2
  • 3
  • 4
  • 5

这道题目主要是想考try catch finally的执行顺序,所以这道题目是很简单的,第一次循环就会有异常发生,之后进入finally代码块,然后跳出test方法,来到最后的打印输出语句。所以答案为: B

第二题

  1. 选择正确的答案
A.double d=5.3e12;
B.float f=11.1;
C.int i=0.0;
D.Double oD=3;
  • 1
  • 2
  • 3
  • 4

在java中,整型都是默认为int,小数都是double,所以在B中,double要变成float要强制转换,C中double变成int也是要强制转换。D中,int变成Double这个包装类,根本就做不到。所以答案为: A

第三题

  1. 下列程序的运行结果是()
public static void main(String[] args) {
    Object o1 = true ? new Integer(1) : new Double(2.0);
    Object o2;
    if (true) {
    o2 = new Integer(1);
    } else {
        o2 = new Double(2.0);
    }
    System.out.print(o1);
    System.out.print(" ");         
    System.out.print(o2);
}

选项:
			A. 1 1
			B. 1.0 1.0
			C. 1 1.0
			D. 1.0 1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

首先对于三目的运算符,在进行比较的通常都是要变成相同的类型,一般以大的为主,所以这里变成是Double类型,所以 o1就是Double实例对象了,输出的是小数的形式。而 o2是Integer实例对象,会进行拆箱操作,所以输出的形式是整数形式。答案为:D

第四题

  1. 下列关于final、finally、finalize说法正确的是( )
A.final可以用来修饰类、方法、变量
B.finally是java保证重点代码一定要被执行的一种机制
C.变量被final修饰后不能再指向其他对象,但可以重写
D.finalize设计的目的是保证对象在被垃圾收集前完成特定资源的回收
  • 1
  • 2
  • 3
  • 4

答案是ABD,选项C可以修饰变量,但是变量有类变量和基础数据变量,对于类变量而言,不能指向对象,但是里面的内容可以重写,但是对于基础数据,就是常量了不能重写。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/1018026
推荐阅读
相关标签
  

闽ICP备14008679号