Java期末考试——题库+浓缩关键知识点

文章分为两部分:知识点总结题库练习。 每个部分都有相关的考点和题型,确保覆盖考试的主要内容和常见题目。


一篇文章助你拿下期末!!

Java期末考试——题库+浓缩关键知识点

一、Java基础知识总结

1. 面向对象的基本特征

Java 是一种面向对象的编程语言,其核心特性包括:

  • 封装性:将数据和操作数据的代码封装成类,隐藏内部细节,对外提供公共接口。
  • 继承性:子类继承父类的属性和方法,可以重用父类的代码,并根据需要进行扩展或修改。
  • 多态性:同一方法调用,不同对象有不同的响应。通过方法重载和方法重写实现。
  • 抽象性:抽象类和接口定义类的行为,而不关注具体实现。

2. Java常见数据类型

  • 基本数据类型:包括整数类型(如 intlong)、浮点类型(如 floatdouble)、字符类型(char)、布尔类型(boolean)。
  • 引用数据类型:类、接口、数组等。
  • 自动装箱与拆箱:如 intInteger 之间的自动转换。

3. 控制结构

Java 提供了三种基本的控制结构:

  • 顺序结构:代码按顺序执行。
  • 选择结构:通过 ifswitch 判断执行路径。
  • 循环结构:包括 forwhiledo-while 循环。

4. 数组与字符串

  • 数组:用来存储相同类型元素的集合,大小固定。
  • 字符串:字符串是 String 类的实例,属于不可变对象。

5. 方法与函数

  • 方法定义:方法是完成某一特定任务的代码块,具有返回值类型、方法名、参数列表等。
  • 递归函数:函数调用自身来解决问题,常见的例子是阶乘计算。

6. 面向对象中的类与对象

  • 类的定义:类是对象的模板或蓝图。通过 new 关键字创建对象。
  • 构造函数:用于初始化对象。构造函数的名字与类名相同,且没有返回值。
  • 访问修饰符:Java 提供了四种访问权限修饰符:publicprivateprotected 和包访问权限。

7. 异常处理

  • try-catch:用于捕获和处理运行时可能出现的异常。
  • finally:无论异常是否发生,finally 块中的代码都会执行。

8. Java集合框架

  • List:有序集合,如 ArrayListLinkedList
  • Set:无序集合,不允许重复元素,如 HashSetTreeSet
  • Map:键值对集合,如 HashMapTreeMap

9. 多线程与并发

  • 创建线程:通过继承 Thread 类或实现 Runnable 接口创建线程。
  • 线程同步:使用 synchronized 关键字来避免多个线程同时访问共享资源。

10. JDBC(Java数据库连接)

  • JDBC API:通过 JDBC 连接数据库并执行 SQL 查询。
  • 常用类ConnectionStatementResultSetPreparedStatement

11. 输入输出(I/O)

  • 字节流与字符流:字节流处理二进制数据,字符流处理字符数据。
  • 常用类FileInputStreamOutputStreamReaderWriter

二、Java期末考试题库

选择题

  1. 面向对象的基本特征是:

    • A. 封装性
    • B. 继承性
    • C. 多态性
    • D. 抽象性
    • E. 消息传递性
    • ACDE
  2. Java程序文件必须以什么扩展名保存?

    • A. .class
    • B. .java
    • C. .txt
    • D. .exe
    • B
  3. Java编译器产生的文件扩展名为:

    • A. .java
    • B. .class
    • C. .exe
    • D. .txt
    • B
  4. 下列哪个命令用于编译Java源代码?

    • A. java
    • B. javac
    • C. javadoc
    • D. javap
    • B
  5. 在Java中,下列哪项是关键字?

    • A. String
    • B. boolean
    • C. var
    • D. Double
    • B
  6. 计算 6 + 4 < 10 + 5 的值:

    • A. true
    • B. false
    • C. error
    • D. undefined
    • A
  7. 以下哪一项是正确的数组声明?

    • A. int arr[] = new int[10];
    • B. int arr[] = new int();
    • C. int arr[10];
    • D. arr = new int[10];
    • A
  8. 关于多态,下列说法正确的是:

    • A. 子类可以重写父类的方法
    • B. 多态只能通过继承实现
    • C. 多态是运行时绑定
    • D. 子类不能调用父类的构造方法
    • AC

填空题

  1. 声明一个 int 类型的数组,并初始化为 1, 2, 3, 4, 5

    int[] arr = {1, 2, 3, 4, 5};
    
  2. 写出一个方法,判断给定数字是否为偶数:

public boolean isEven(int num) {
    return num % 2 == 0;
}
  1. 给定 int a = 5, b = 10;,写出一个交换 ab 的代码:
int temp = a;
a = b;
b = temp;
  1. 创建一个 Person 类,包含 nameage 属性,并提供 setNamegetAge 方法:
public class Person {
    private String name;
    private int age;

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }
}

判断题

  1. defaultswitch 语句中是必需的。(×)

  2. break 语句在 switchdefault 中是必须的。(×)

  3. Java中,局部变量在使用之前必须初始化。(√)

  4. String 是一个基本数据类型。(×)

  5. JDBC可以通过将客户端的SQL传递给数据库服务器来实现数据库的操作。(√)

  6. 在多线程中,线程的 run() 方法可以直接调用。(×)


编程题

  1. 编写一个程序,计算输入整数数组的平均值:
public class AverageCalculator {
    public static double calculateAverage(int[] arr) {
        int sum = 0;
        for (int num : arr) {
            sum += num;
        }
        return sum / (double) arr.length;
    }
}
  1. 编写一个多线程程序,每隔1秒打印一次 “Hello World”:
public class HelloWorldThread implements Runnable {
    public void run() {
        while (true) {
            try {
                Thread.sleep(1000);
                System.out.println("Hello World");
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }

    public static void main(String[] args) {
        HelloWorldThread hwt = new HelloWorldThread();
        Thread t = new Thread(hwt);
        t.start();
    }
}
  1. 使用 try-catch 块捕获除零异常:
public

class Division {
    public static void main(String[] args) {
        try {
            int result = 10 / 0;
        } catch (ArithmeticException e) {
            System.out.println("Error: Division by zero.");
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大熊计算机

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值