湖南库课专升本

怀化学院

官方网址:http://www.hhtc.edu.cn

官方电话:0745-2853370

电子邮箱:hhxyzsb@vip.163.com

院校地址:怀化市鹤城区怀东路180号

  • 概况
  • 专业
  • 考纲
  • 资讯
  • 考点
  • 怀化学院《Java语言程序设计》27年模拟试卷

    一、单项选择题(共30题,每题2分,共60分)

    1.以下关于Java语言特点的描述,错误的是( )

    A. Java是纯面向对象的语言,所有代码都写在类中
    B. Java支持多继承,一个类可以直接继承多个父类
    C. Java程序通过Java虚拟机实现跨平台
    D. Java提供了自动垃圾回收机制


    2.下列哪个声明是正确的char类型常量?( )
    A. 'ab' B. "a" C. '\u0061' D. '\\'


    3.执行以下代码后,输出结果是( )

    java
    int a = 5;int b = a++ + ++a;System.out.println(b);

    A. 10 B. 11 C. 12 D. 13


    1. 下列哪个表达式不会出现编译错误?( )
      A. float f = 3.14;
      B. char c = "A";
      C. long l = 1234567890123L;
      D. boolean b = 1;

    2. 关于数组的声明,以下语法正确的是( )
      A. int[] arr = new int(10);
      B. int arr[][] = new int[][3];
      C. int[] arr = {1,2,3};
      D. int[3] arr = new int[3];

    3. 以下switch语句中,合法的表达式类型是( )
      A. long B. double C. String(Java 7+) D. boolean

    4. 下列代码输出结果为( )

    java
    public class Test {
        public static void main(String[] args) {
            int x = 0;
            if (x = 1) {
                System.out.println("true");
            } else {
                System.out.println("false");
            }
        }}

    A. true B. false C. 编译错误 D. 运行异常


    1. 关于类的访问权限,以下说法正确的是( )
      A. 一个Java源文件中只能有一个public类
      B. 默认访问权限的类可以被同一包外的子类访问
      C. private修饰的成员可以被子类继承
      D. protected成员在任何包中都可访问


    2. 以下关于构造方法的描述,正确的是( )
      A. 构造方法必须显式定义
      B. 构造方法可以被继承
      C. 构造方法可以调用普通方法
      D. 构造方法可以有返回类型void


    3. 执行以下代码,输出结果为( )

    java
    class Parent {
        static { System.out.print("P"); }
        Parent() { System.out.print("p"); }}class Child extends Parent {
        static { System.out.print("C"); }
        Child() { System.out.print("c"); }}public class Main {
        public static void main(String[] args) {
            new Child();
        }}

    A. PpCc B. PCPpCc C. PCPc D. PCpc


    1. 下列哪个关键字用于防止方法被重写?( )
      A. static B. final C. abstract D. private

    2. 关于抽象类和接口,说法错误的是( )
      A. 抽象类可以有构造方法
      B. 接口中的变量默认为public static final
      C. 一个类可以实现多个接口,但只能继承一个抽象类
      D. 抽象类中不能有非抽象方法


    3. 下列哪个是Java中正确的多线程创建方式?( )
      A. 继承Thread类并重写start()方法
      B. 实现Runnable接口并实现run()方法
      C. 实现Callable接口必须重写call()方法,且不能通过Thread启动
      D. 以上全部正确


    4. 以下代码可能存在线程安全问题,需要同步的代码块是( )

    java
    class Counter {
        private int count = 0;
        public void increment() { count++; }
        public int getCount() { return count; }}

    A. 仅increment方法 B. 仅getCount方法
    C. increment和getCount都需要 D. 不需要同步


    1. 关于异常处理,以下说法正确的是( )
      A. finally块一定会执行,即使有System.exit(0)
      B. throws关键字用于方法内部抛出异常
      C. RuntimeException及其子类必须显式捕获或声明
      D. 自定义异常通常继承Exception


    2. 执行下面代码,输出结果是( )

    java
    try {
        int a = 10 / 0;} catch (ArithmeticException e) {
        System.out.print("A");} finally {
        System.out.print("B");}

    A. A B. B C. AB D. 编译错误


    1. 下列哪个流是字符输入流?( )
      A. FileInputStream B. ObjectOutputStream
      C. BufferedReader D. DataInputStream

    2. 使用File类创建多级目录,应调用( )
      A. mkdir() B. mkdirs() C. createNewFile() D. createDirectory()

    3. 关于StringStringBuilder,正确的是( )
      A. String是可变字符序列
      B. StringBuilder是线程安全的
      C. String+操作底层会使用StringBuilder
      D. StringBuilderappend()方法返回void


    4. 下列哪个布局管理器将容器划分为5个区域(North, South, East, West, Center)?( )
      A. FlowLayout B. BorderLayout C. GridLayout D. CardLayout

    5. 在Swing中,为JButton添加事件监听器,通常需要实现哪个接口?( )
      A. MouseListener B. KeyListener C. ActionListener D. WindowListener

    6. 下列代码的输出结果是( )

    java
    int[] arr = new int[3];System.out.println(arr[3]);

    A. 0 B. null C. 编译错误 D. ArrayIndexOutOfBoundsException


    1. 以下关于equals()==的说法,正确的是( )
      A. ==比较的是对象的内容
      B. equals()默认比较内存地址
      C. 两个String对象内容相同,==一定为true
      D. 基本数据类型可以使用equals()

    2. 下面哪个集合类不允许存储重复元素并且线程安全?( )
      A. ArrayList B. HashSet C. Vector D. CopyOnWriteArrayList

    3. 代码System.out.println(1 + 2 + "3" + 4 + 5);输出结果是( )

      A. 12345 B. 3345 C. 3345 D. 15

    26.关于静态内部类,说法正确的是( )

    A. 可以直接访问外部类的实例变量
    B. 不需要外部类实例即可创建
    C. 不能包含静态成员
    D. 必须使用static关键字修饰,且只能定义在外部类中


    27.执行以下代码,输出结果为( )

    java
    public class Test {
        public static void main(String[] args) {
            int i = 0;
            for (; i < 3; i++) {
                if (i == 1) continue;
                System.out.print(i);
            }
        }}

    A. 0 B. 02 C. 012 D. 02∞


    1. 关于RandomAccessFile,说法错误的是( )
      A. 支持随机读写
      B. 既可以读也可以写
      C. 只能操作文件,不能操作内存
      D. 必须通过new RandomAccessFile("file","r")指定模式


    2. 下面哪个选项可以正确编译并运行?( )
      A. Object[] obj = new String[10]; obj[0] = new Integer(5);
      B. List<String> list = new ArrayList<>(); list.add(10);
      C. double d = 10 / 3; System.out.println(d);
      D. short s = 10; s = s + 1;

    3. 关于Thread.sleep(1000),下面描述正确的是( )
      A. 释放对象锁
      B. 让当前线程进入就绪状态
      C. 必须捕获InterruptedException
      D. 可以放在同步代码块外


    二、程序分析题(共10题,每题4分,共40分)

    请写出程序的运行结果或指出错误原因

    1.

    java
    public class Main {
        public static void main(String[] args) {
            String s1 = "Java";
            String s2 = new String("Java");
            String s3 = s2.intern();
            System.out.println(s1 == s2);
            System.out.println(s1 == s3);
        }}

    结果: __________

    2.

    java
    class A {
        public void show() { System.out.print("A"); }}class B extends A {
        public void show() { System.out.print("B"); }}public class Test {
        public static void main(String[] args) {
            A a = new B();
            a.show();
            ((B)a).show();
        }}

    结果: __________

    3.

    java
    public class LoopTest {
        public static void main(String[] args) {
            int i = 0;
            while (i++ < 3) {
                System.out.print(i + " ");
            }
        }}

    结果: __________

    4.

    java
    public class FinallyTest {
        public static int test() {
            try {
                return 1;
            } finally {
                return 2;
            }
        }
        public static void main(String[] args) {
            System.out.println(test());
        }}

    结果: __________

    5.

    java
    class Parent {
        String name = "Parent";
        void print() { System.out.println(name); }}class Child extends Parent {
        String name = "Child";
        void print() { System.out.println(name); }}public class Demo {
        public static void main(String[] args) {
            Parent p = new Child();
            System.out.println(p.name);
            p.print();
        }}

    结果: __________

    6.

    java
    public class SyncTest {
        public static void main(String[] args) throws InterruptedException {
            Object lock = new Object();
            Thread t1 = new Thread(() -> {
                synchronized (lock) {
                    try {
                        lock.wait();
                    } catch (InterruptedException e) {}
                    System.out.print("A");
                }
            });
            Thread t2 = new Thread(() -> {
                synchronized (lock) {
                    System.out.print("B");
                    lock.notify();
                }
            });
            t1.start();
            Thread.sleep(10);
            t2.start();
        }}

    结果(可能顺序不唯一,写出可能的一种合理输出): __________

    7.

    java
    public class ExceptionFlow {
        public static void main(String[] args) {
            try {
                method();
            } catch (Exception e) {
                System.out.print("C");
            }
        }
        static void method() {
            try {
                throw new RuntimeException();
            } catch (RuntimeException e) {
                System.out.print("R");
                throw e;
            } finally {
                System.out.print("F");
            }
        }}

    结果: __________

    8.

    java
    import java.util.*;public class ListDemo {
        public static void main(String[] args) {
            List<Integer> list = new ArrayList<>();
            list.add(1);
            list.add(2);
            list.add(3);
            for (Integer i : list) {
                if (i == 2) {
                    list.remove(i);
                }
            }
            System.out.println(list);
        }}

    结果(含异常信息): __________

    9.

    java
    public class VarArgs {
        static void test(int... a) {
            System.out.print(a.length);
        }
        public static void main(String[] args) {
            test(1,2,3);
            test();
        }}

    结果: __________

    10.

    java
    public class StaticInit {
        static { System.out.print("1"); }
        static StaticInit t = new StaticInit();
        { System.out.print("2"); }
        static { System.out.print("3"); }
        public static void main(String[] args) {
            System.out.print("4");
        }}

    结果: __________


    三、应用编程题(共5题,每题20分,共100分)

    要求:代码结构清晰,命名规范,包含必要的异常处理

    1. 学生管理系统(升级版)

    2. 图形用户界面:简易员工工资计算器

    3. 文件复制与加密工具

    4. 多线程模拟银行取款(线程安全)

    5. 自定义异常与成绩统计


    成为下一届考生

    湖南中医药大学校区:岳麓区学士街道四海通达产业园2楼

    中南林科大校区:天心区中南林业科技大学韶山南路东门

    益阳校区:湖南省益阳市赫山区康富北路2号

    Copyright © 2017-2027 湖南库课专升本 版权所有

    联系电话 / 微信 :18163960603