首页 > 编程语言 > 详细

【计算机二级Java语言】卷011

时间:2020-03-10 15:21:36      阅读:49      评论:0      收藏:0      [点我收藏+]

选择题

公共知识

【1】下列叙述中正确的是()。
〖A〗一个算法的空间复杂度大, 则其时间复杂度也必定大
〖B〗一个算法的空间复杂度大, 则其时间复杂度必定小
〖C〗一个算法的时间复杂度大, 则其空间复杂度必定小
〖D〗算法的时间复杂度与空间复杂度没有直接关系
算法的空间复杂度是指算法在执行过程中所需要的内存空间, 算法的时间复杂度, 是指执行算法所需要的计算工作量, 两者之间并没有直接关系, 答案为D。
【2】下列叙述中正确的是()。
〖A〗循环队列中的元素个数随队头指针与队尾指针的变化而动态变化
〖B〗循环队列中的元素个数随队头指针的变化而动态变化
〖C〗循环队列中的元素个数随队尾指针的变化而动态变化
〖D〗以上说法都不对
在循环队列中, 用队尾指针rear指向队列中的队尾元素, 用排头指针front指向排头元素的前一个位置。因此, 从排头指针front指向的后一个位置直到队尾指针rear指向的位置之间所有的元素均为队列中的元素。所以循环队列中的元素个数与队头指针和队尾指针的变化而变化, A正确。
【3】一棵二叉树中共有80个叶子结点与70个度为1的结点, 则该二叉树中的总结点数为()。
〖A〗219
〖B〗229
〖C〗230
〖D〗231
二叉树中, 度为0的节点数等于度为2的节点数加1, 即n2 = n0 - 1, 叶子节点即度为0, 则n2 = 79, 总结点数为n0 + n1 + n2 = 80 + 70 + 79 = 229, 答案为B。
【4】对长度为10的线性表进行冒泡排序, 最坏情况下需要比较的次数为()。
〖A〗9
〖B〗10
〖C〗45
〖D〗90
冒泡法是在扫描过程中逐次比较相邻两个元素的大小, 最坏的情况是每次比较都要将相邻的两个元素互换, 需要互换的次数为9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 = 45, 选C。
【5】构成计算机软件的是()。
〖A〗源代码
〖B〗程序和数据
〖C〗程序和文档
〖D〗程序、数据及相关文档
软件指的是计算机系统中与硬件相互依赖的另一部分, 包括程序、数据和有关的文档, 选D。
【6】软件生命周期可分为定义阶段、开发阶段和维护阶段, 下面不属于开发阶段任务的是()。
〖A〗测试
〖B〗设计
〖C〗可行性研究
〖D〗实现
开发阶段包括分析、设计和实施两类任务。其中分析、设计包括需求分析、总体设计和详细设计3个阶段, 实施则包括编码和测试两个阶段, C不属于开发阶段。
【7】下面不能作为结构化方法软件需求分析工具的是()。
〖A〗系统结构图
〖B〗数据字典(D - D)
〖C〗数据流程图(DFD图)
〖D〗判定表
结构化方法软件需求分析工具主要有数据流图、数据字典、判定树和判定表。
【8】在关系模型中, 每一个二维表称为一个()。
〖A〗关系
〖B〗属性
〖C〗元组
〖D〗主码(键)
关系模型采用二维表来表示, 即每个二维表称为一个关系。
【9】若实体A和B是一对多的联系, 实体B和C是一对一的联系, 则实体A和C的联系是()。
〖A〗一对一
〖B〗一对多
〖C〗多对一
〖D〗多对多
A和B为一对多的联系, 则对于A中的每一个实体, B中有多个实体与之联系, 而B与C为一对一联系, 则对于B中的每一个实体, C中之多有一个实体与之联系, 则可推出对于A中的每一个实体, C中有多个实体与联系, 所以为一对多联系。
【10】有三个关系R, S和T如下:
技术分享图片
则由关系R和S得到关系T的操作是()。
〖A〗选择
〖B〗投影
〖C〗
〖D〗
关系T中的元素与关系R和关系S中不同元素的总和, 因此为并操作。

专业知识

【11】Java语言与C++语言相比, 独有的特点是
〖A〗面向对象
〖B〗解释型与平台无关性
〖C〗有丰富的类库支持
〖D〗高性能
本题考查Java语言的特性.Java语言与C++语言都是面向对象的语言。因此, 选项A是错误的。Java语言和C++语言中都包含有类库, 提供了大量的类以满足用户的多方面需要。因此, 选项C是错误的。Java语言与C++语言都是高性能的编程语言。本题答案为B。
【12】在下列程序中, 标识符的定义合法但不符合命名约定的是
public class ID_Test2 {
    int I = 0;
    char str = 's';
    char abc = 'c';
    double _dou = 3.14;
    public static void main(String[] args) {
        ID_Test2 t = new ID_Test2();
        System.out.println("I= " + t.I);
        System.out.println("abc= " + t.abc);
        System.out.println("_dou= " + t._dou);
    }
}
〖A〗第2和3行
〖B〗第2行、第4行和第5行
〖C〗第3行和第5行
〖D〗第2行和第5行
本题考查java的命名规范。 根据驼峰命名法规则, 变量名如果只有一个单词则小写。开头不能用下划线。选项D正确, 本题答案为D。
【13】下列选项中, 不是Java基本数据类型的是
〖A〗long
〖B〗double
〖C〗unsigned
〖D〗byte
Java语言提供了八种基本类型。六种数字类型(四个整数型, 两个浮点型), 一种字符类型, 还有一种布尔型。1、整数: 包括int, short, byte, long 2、浮点型: float, double 3、字符: char 4、布尔: boolean 选项C正确, 本题答案为C。
【14】若想判断一个整数是否为偶数, 需要用到的运算符是
〖A〗%
〖B〗+
〖C〗-
〖D〗=
本题考查Java 的运算符。%为取余运算符可以判断一个数是否为偶数。选项A正确, 本题答案为A
【15】若已有下列定义, 则值为4的表达式是
int[] a = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
char c = 'a', d, g;
〖A〗a[g - c]
〖B〗a[4]
〖C〗a[‘d‘ - ‘c‘]
〖D〗a[‘d‘ - c]
数值4也就是这个定义数组的第四个数 也就是a[3] char c = ‘a‘, 而‘a‘代表了ASCLL码, 表示的是十进制的97, 那么c = 97。 而‘d‘也表示的是ASCLL码, 意味着十进制的100。 所以‘d‘ - c = 100 - 97 = 3 所以就有了4的表达式为a [‘d‘ - c ]。选项D正确, 本题答案为D。
【16】下列代码段执行后, n 的值为
int n = 0;
char k = 'a';
switch (k) {
    case 'a': n ++;
    case 'b': n += 2; break;
    case 'c': n += 3; break;
}
〖A〗0
〖B〗1
〖C〗3
〖D〗6
switch case语句, 当里面判断执行完后需要加入break; 以退出选择, 否则将一直继续往下执行到结束。所以 case’a’: n++; 结果为1, 继续往下运行case ‘b‘: n += 2; break; 结果为3.有break关键字, 结束运行。选项C正确, 本题答案为C。
【17】下列选项中, 不能正确表示无限循环的是
〖A〗for (; ; );
〖B〗while (true);
〖C〗while (1 == 1);
〖D〗do { …… } while (0);
本题考查循环语句的语法。 do while循环结构 while括号里应该是一个布尔表达式, 不能为0。选项D正确, 本题答案为D。
【18】下列代码段执行后, sum 的值为
int sum = 0;
for (int i = 1; i < 10 ; i = i + 2)
if (i / 4 == 1) sum += i;
〖A〗4
〖B〗15
〖C〗25
〖D〗12
本题考查for循环的执行过程。 For循环执行顺序是: 初始化--判断--函数体——然后for循环的第3句--判断——函数体---for循环的第三句--判断……选项D正确, 本题答案为D。
【19】下列代码段执行后, count 的值为
int count = 0;
for (int i = 0; i < 5; i++) {
    for (int j = 1; j <= 5; j++)
    count++;
}
〖A〗4
〖B〗6
〖C〗16
〖D〗25
本题考查双层for循环结构, 内层循环5次, 每次count + 1, 外层循环5次, 每次count + 1, 共循环25次。选项D正确, 本题答案为D。.
【20】下列代码段执行后的结果是
int i = 0;
int x = 0;
int[] num = { 1, 2, 3, 4, 5 };
while (++i < 4) {
    System.out.print(" " + num[++x]);
}
〖A〗1 2 3 4 5
〖B〗2 3 4 5
〖C〗1 2 3 4
〖D〗2 3 4
本题考查的是while循环和数组 数组下标从0开始, 选项D正确, 本题答案为D。
【21】数组中各个元素的数据类型是
〖A〗相同的
〖B〗不同的
〖C〗部分相同的
〖D〗任意的
本题考查数组的相关知识。 数组是同种数据类型的集合, 所以数组中各个元素的数据类型必须是相同的。选项A正确, 本题答案为A。
【22】关于下列代码的说法中, 正确的是
public class Manager {
    static String name[] = new String[10];
    public static void main(String args[]) {
        System.out.println(name[9]);
    }
}
〖A〗编译时将产生错误
〖B〗编译时正确, 运行时将产生错误
〖C〗输出0
〖D〗输出为null
本题考查数组的相关知识。 String类型的数组, 默认值为null。选项D正确, 本题答案为D。
【23】执行下列代码的第10行语句时, 所调用的方法是
class Employer {
    public void promote(int i, int j) { ... }
    public void promote(int i) { ... }
}
public class Manager extends Employer {
    public void promote() { ... }
    public void promote(int i) { ... }
    public static void main(String args[]) {
        Employer e = new Employer();
        e.promote(99, 100);
    }
}
〖A〗第2行定义的方法
〖B〗第3行定义的方法
〖C〗第6行定义的方法
〖D〗第7行定义的方法
本题考查方法的调用。 第10行的的方法有两个参数, 即调用第二行的方法。选项A正确, 本题答案为A。
【24】接口中, 除了抽象方法之外, 还可以含有的是
〖A〗变量
〖B〗常量
〖C〗成员方法
〖D〗构造方法
接口只提供抽象方法, 但并不提供对其的实现, 并且方法默认都是公有的, 而提供实例字段和方法实现是继承接口类的任务, 所以接口中没有成员方法和构造方法。接口中还可以定义常量, 但不能定义变量。选项B正确, 本题答案为B。
【25】下列代码中构造方法的返回类型是
public class City {
    public static void main(String args[]) {
        City c = new City();
    }
    City() {
        System.out.println("Working in City");
    }
}
〖A〗null
〖B〗integer
〖C〗String
〖D〗
本题考查Java面向对象的知识。 构造方法中没有返回值。选项D正确, 本题答案为D。
【26】下列代码的运行结果是
public class ExceptionsHandling {
    static void test(int i) throws ArithmeticException, ArrayIndexOutOfBoundsException {
        if (i == 0) {
            System.out.println("Everything is OK");
            return;
        } else if (i == 1) {
            int myArray[] = new int[4];
            myArray[1] = 3;
        }
    }
    public static void main(String args[]) {
        try {
            test(0);
            test(1);
        } catch (ArrayIndexOutOfBoundsException e) {
            System.out.println("catch " + e);
        } finally {
            System.out.println("test over");
        }
    }
}
〖A〗Everything is OK
〖B〗Everything is OK catch java.lang. ArrayIndexOutOfBoundsException: 4 test over
〖C〗test over
〖D〗Everything is OK test over
本题考查if判断语句及异常处理。输入0满足if 中i == 0, 执行里面语句块, finally代码块在处理异常时无论有没有异常都会执行里面的语句块, 选项D正确, 本题答案为D。
【27】下列代码的运行结果是
public class ChangeValue {
    String name;
    public static void main(String args[]) {
        double d;
        ChangeValue cv = new ChangeValue();
        d = 100.0;
        System.out.println("double is:" + d);
        cv.changeDouble(d);
        System.out.println("changed double is:" + d);
        cv.name = "Java";
        System.out.println("name is:" + cv.name);
        cv.changeName(cv);
        System.out.println("changed name is:" + cv.name);
    }
    public void changeDouble(double d) {
        d = 200.0;
    }
    public void changeName(ChangeValue c) {
        c.name = "Android";
    }
}
〖A〗double is: 100.0 changed double is: 200.0 name is: Java
〖B〗double is: 100.0 changed double is: 100.0 name is: Java
〖C〗double is: 100.0 changed double is: 200.0 name is: Java changed name is: Java
〖D〗double is: 100.0 changed double is: 100.0 name is: Java changed name is: Android
本题考查方法的调用。根据方法调用的顺序, 选项D正确, 本题答案为D。
【28】下列代码的运行结果是
public class StringTest {
    public static void main(String args[]) {
        char chars[] = { 'J', 'a', 'v', 'a', 'l', 'a', 'n', 'g', 'u', 'a', 'g', 'e' };
        String s = new String(chars);
        String s1 = s.concat("and");
        System.out.println(s1);
    }
}
〖A〗Javalanguage
〖B〗Javalanguageand
〖C〗and Javalanguage
〖D〗and
本题考查String类的concat方法的使用。 Concat: 将指定字符串连接到此字符串的结尾。选项B正确, 本题答案为B。
【29】下列说法中错误的是
〖A〗CharArrayReader和ByteArrayInputStream都是从内存读数据
〖B〗CharArrayReader是将一个字节数组作为其返回数据的字节输入流
〖C〗ByteArrayInputStream是带缓冲区的输入流
〖D〗FilterReader是一个抽象类
与 ByteArrayInputStream 对应此类实现一个可用作字符输入流的字符缓冲区, 选项B不满足条件, 本题答案为B CharArrayReader 是一个把字符数组作为源的输入流的实现。所以本题答案为B。
【30】下列代码实现了以对象流方式向score.txt文件写入数据的功能。下划线处应填入的代码是
import java.io.*;
public class testOut {
    public static void main(String[] args) {
        int[] data = new int[3];
        data[0] = 100;
        data[1] = 95;
        data[2] = 80;
        try {
            ObjectOutputStream out =
            new _______________(new FileOutputStream("score.txt"));
            out.writeObject(data);
            out.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
〖A〗ObjectOutputStream
〖B〗FileOutputStream
〖C〗FileWriter
〖D〗DataOut
本题考查数据流的知识。 ObjectOutputStream 将 Java 对象的基本数据类型和图形写入 OutputStream。可以使用 ObjectInputStream 读取(重构)对象。通过在流中使用文件可以实现对象的持久存储。选项A正确, 本题答案为A。
【31】下列选项中能实现连接管道流的方法是
〖A〗write()
〖B〗flush()
〖C〗connect()
〖D〗print()
题考查IO流 管道流 Write()向管道流中写入数据(发送); flush()在java中是刷新缓冲区的作用; connect()是实现连接管道流的方法。print()是输出数据。所以本题答案为C。
【32】下列说法正确的是
〖A〗InputStream是字符流类
〖B〗OutputStream是字符流类
〖C〗Reader是字符流类
〖D〗BufferedReader可以向文件中写入一行数据
本题考查IO流 InputStream, OutputStream都是字节流类, BufferedReader这个类就是一个包装类, 它可以包装字符流, 将字符流放入缓存里, 先把字符读到缓存里, 到缓存满了或者你flush的时候, 再读入内存, 就是为了提供读的效率而设计的。所以本题答案为C。
【33】JOptionPane类中的参数optionType的作用是
〖A〗定义作为此对话框的Component
〖B〗定义Message的样式
〖C〗定义在对话框底部显示的选项按钮集合
〖D〗定义显示的对话框类型
本题考查Java API方法 Swing中提供了JOptionPane类。optionType: 定义在对话框的底部显示的选项按钮的集合。选项C正确, 本题答案为C。
【34】下列选项中不能实现事件响应的方式是
〖A〗通过事件适配器
〖B〗通过事件响应内部类
〖C〗通过自定义函数
〖D〗通过匿名类
本题考查java事件处理机制。 适配器 其实 从 接口事件演变尔来的 相当于触发器 说简单点 它就是一些动作 。而自定义函数不能实现事件响应, 选项C正确, 本题答案为C。
【35】当键盘被按下时, 将调用的键盘事件接口方法是
〖A〗void keyTyped(KeyEvent);
〖B〗void keyReleased(KeyEvent);
〖C〗void keyPressed(KeyEvent);
〖D〗void keyUpDown(KeyEvent);
本题考查java键盘事件。 键盘监听接口的API: void keyPressed(KeyEvent e)按下键时调用。 void keyReleased(KeyEvent e)当键已被释放时调用。 void keyTyped(KeyEvent e)键入键时调用。 选项C正确, 本题答案为C。
【36】下列程序的编译和运行结果是
public class Test implements Runnable {
    public static void main(String[] args) {
        Thread tt = new Thread();
        tt.start();
    }
    
    public void run() {
        System.out.println("Good luck!");
    }
}
〖A〗程序不能通过编译, 提示第1行有错
〖B〗程序通过编译, 并且运行时输出字符串Good luck!
〖C〗程序通过编译, 但运行时没有输出字符串Good luck!
〖D〗程序不能通过编译, 提示第3行有错
本题考查的是线程中的方法。 java的线程是通过java.lang.Thread类来实现的。VM启动时会有一个由主方法所定义的线程。可以通过创建Thread的实例来创建新的线程。每个线程都是通过某个特定Thread对象所对应的方法run()来完成其操作的, 方法run()称为线程体。通过调用Thread类的start()方法来启动一个线程。start()方法来启动线程, 真正实现了多线程运行。这时无需等待run方法体代码执行完毕, 可以直接继续执行下面的代码。选项C正确, 本题答案为C。
【37】下列方法调用后, 可能会使线程进入可运行状态的是
〖A〗join()
〖B〗isAlive()
〖C〗sleep()
〖D〗yield()
本题考查线程相关的方法。 join()把指定的线程加入到当前线程。isAlive()功能是判断当前线程是否处于活动状态。sleep()是让线程进行休眠状态。选项D正确, 本题答案为D。
【38】在堆栈类StackTest的定义中, 为了保证堆栈在并发操作中数据的正确性, 应在下划线处填入的代码自上而下分别是
public class StackTest {
    private   int idx = 0 ;
    private   char[] data = new char[10];
    public  ________  void push(char c) { …… }
    public  ________  void pop() { …… }
}
〖A〗synchronized, synchronized
〖B〗synchronized, 不用填写
〖C〗不用填写, synchronized,
〖D〗都不用填写
本题考查Java堆栈知识 堆栈中使用相同的synchronized是为了保证访问数据的一致性。 选项A正确, 本题答案为A。
【39】下列关于Applet的叙述中, 正确的是
〖A〗Applet是可以在浏览器中运行的Java类
〖B〗Applet中不能构造swing界面
〖C〗同一个页面中的Applet之间不能通信
〖D〗Applet不支持多线程
本题考查Java中的Applet类。 Application以main()方法为入口点运行, Applet要在浏览器或appletviewer中运行, 运行过程比Application更复杂。所以答案为A。
【40】列代码包括一个HTML文件和一个定义Applet类的Java程序。为了使HTML文件在浏览器中运行时显示"Good Morning!", 在下划线处应填入的代码是
/*hello.html*/
<HTML>
<HEAD>
<TITLE > Hello </TITLE>
</HEAD>
<BODY>
<APPLET CODE = " HelloApplet.class "_______ = 150  _______ = 25>
</APPLET>
</BODY>
</HTML>
/*HelloApplet.java*/
import java.awt.* ;
import java.applet.* ;
public class HelloApplet extends Applet {
    public void __________(Graphics g) {
        g.drawString("Good Morning!!", 25, 25);
    }
}
〖A〗WIDTH, HEIGHT, paint
〖B〗VGAP, HGAP, update
〖C〗WIDTH, HEIGHT, start
〖D〗VGAP, HGAP, paint
本题考查html知识 WIDTH, HEIGHT分别表示宽, 高。Paint方法为java中的画图方法。选项A正确, 本题答案为A。

【计算机二级Java语言】卷011

原文:https://www.cnblogs.com/mjios/p/12455374.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!