下面有关JDK中的包和他们的基本功能,描述错误的是?

正确答案: C   你的答案: C (正确)

java.awt: 包含构成抽象窗口工具集的多个类,用来构建和管理应用程序的图形用户界面
java.io:  包含提供多种输出输入功能的类
java.lang: 包含执行与网络有关的类,如URL,SCOKET,SEVERSOCKET
java.util:  包含一些实用性的类

解析:

        java.awt:包含构成抽象窗口工具集的多个类,用来构建和管理应用程序的图形用户界面
        java.io:包含提供多种输出输入功能的类
        java.lang:提供Java编程语言的程序设计的基础类
        java.util:包含一些实用性的类
        java.net:包含执行与网络有关的类,如URL,SCOKET,SEVERSOCKET
        java.applet:包含Java小应用程序的类

    

“先进先出”的容器是:( )

正确答案: B   你的答案: B (正确)

堆栈(Stack)
队列(Queue)
字符串(String)
迭代器(Iterator)

解析:

        堆栈(Stack):如子弹入弹夹一样,先进后出

        队列(Queue):如排队入隧道,先进先出



给定以下方法声明,调用执行mystery(1234)的输出结果?

//precondition:  x >=0
public void mystery (int x)
{
System.out.print(x % 10);
 
if ((x / 10) != 0)
{
mystery(x / 10);
}
System.out.print(x % 10);
}

正确答案: B   你的答案: D (错误)

1441
43211234
3443
12344321
解析:
        这个题目考察递归,总共调用了4次mystery方法,注意:程序是从上往下执行的,所以当一个方法,调用另一个或本方法时,程序会等调用完毕后再接着执行
       

类方法中可以直接调用对象变量。( )

正确答案: B   你的答案: B (正确)

正确
错误
解析:
        静态方法(类方法)中不能调用对象的变量,因为静态方法在类加载时就初始化,对象变量需要在新建对象后才能使用



Integer a = 1;
Integer b = 1;
Integer c = 500;
Integer d = 500;
System.out.print(a == b);
System.out.print(c == d);

上述代码返回结果为:

正确答案: B   你的答案: B (正确)

true、true
true、false
false、true
false、false
解析:
        Integer类型在-128~127范围内是被IntegerCache类缓存了,也就是每个对象的内存是相同的,赋值就直接从缓存中取,不会有新的对象产生,而大于这个范围,将会重新创建一个Integer对象,也就是new一个对象出来,地址也就不同了


多重继承的概念在Java中实现是通过如下哪些?()

I. 扩展两个或多个类
II. 扩展一个类并实现一个或多个接口。
III. 实现两个或更多接口。

正确答案: B   你的答案: B (正确)

只有I &II
只有II & III
只有III
都是
解析:
        Java支支持单继承,实现多重继承三种方式:
                                                                       (1)直接实现多接口
                                                                       (2)扩展(extends)一个类后实现一个或多个接口
                                                                       (3)通过内部类去继承其他类

下面这段程序的输出结果是()

public class Main {
    public static void main(String[] args) {
        split(12);
    }
    public static int split(int number) {
        if (number > 1) {
            if (number % 2 != 0) System.out.print(split((number + 1) / 2));
                System.out.print(split(number / 2));
            }
        return number;
       }
}

正确答案: A   你的答案: A (正确)

12136
63121
61213
11236
解析:
sout split(6) = {
    sout split(3) = {
        sout split(2) = {
            sout split(1)
            return 2
        }
        sout split(1)
        return 3;
    }
    return 6
}