免责声明:题目是回忆的,但基本上和考试题目一样,仅供参考
简答题
-
JDK编译、运行java程序的过程
-
final、static可以修饰下列哪些元素(类、变量、方法、接口),为什么会这么设计?
-
描述继承父类的子类的对象实例化过程
-
哪些成员变量、成员方法会用静态绑定、动态绑定?
-
描述什么是线程同步和线程异步(互斥和协作)
程序分析和填空
第一题
假设segment2发生了运行时错误
try{
segment1
segment2
segment3
}catch(Exception ex1){
…
}catch(Exception ex2){
…
}
segment4
问题:(应该没记错)
(1)程序是否会执行segment4?
(2)当segment2引起的异常没有被抛出的异常捕获时,是否会执行segment4?
(3)当segment2引起的异常被捕获后,是否会执行segment4?
第二题
程序填空 5个空 ,有一个忘了(应该是用字符流包装字节流的语句),类似下面的一段程序
public class Main {
public static void main(String[] args) {
byte[] buf = new byte[25];
try {
File f = new File("./src/test.txt");//第1个空
FileInputStream in = new FileInputStream(f); //第2个空
int b;
while ((b = in.read(buf)) != -1) { //第3个空
String s = new String(buf, 0, b);//第4个空
System.out.println(s);
}
in.close();
} catch (IOException e) {
System.out.println("File not found");
}
}
}
第三题
事件监听器的关键代码,熟记下面这两段代码
calculateButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
calculateRoots();
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
QuadraticEquationSolver calculator = new QuadraticEquationSolver();
calculator.setVisible(true);
}
});
}
编程题
第一题
(1)实现一个Student类,包含学号、姓名、成绩,实现查找这三个成员变量的方法;实现compare方法,要求比较两个学生的成绩大小
(2)实现comparable接口,给学生成绩排序。也可以自己定义一个compare类
第二题
多线程:实现两个线程同时给一个银行账户存钱的操作,每次存钱的额度是随机的
(最后吐槽一下,本人是20级的老东西,目前在准备考研复习,因为专选课学分有点问题所以参加了这个学期的java补选,上课全程划水,最后两次课yy划得重点感觉考试没考多少,简答题做的有点崩,byd 22年考java的大题目是GUI手写代码,两个室友修了去年的java,所以我就听了他们的话背了一天的GUI代码,人都麻了,最后就考了个事件监听器填空,劝大伙们复习的时候一定要敢于舍弃一些又臭又长的东西QAQ。java不出意外的话是我本科阶段的最后一门考试,后面继续考研复习了,还有34天,希望能上岸吧,大家都加油!)