计算机二级考试-Java-模拟试题4

计算机二级考试-Java-模拟试题4

前言

这里是 计算机二级考试 系列文章,主要介绍计算机二级考试中的涉及到的Java有关的知识点。
Java语言的重要性不言而喻

关于作者:

  • 小白(Libra),计算机兴趣爱好者,Java,C,C++,Hadoop,MySQL
  • Email : hewei20031009@163.com
  • GitHub : https://github.com/Regel-zack

转载请注明出处

正文

题目

  1. 下列叙述中,错误的是?
  • JButton类和标签类可显示图标和文本
  • Button类和标签类可显示图标和文本
  • AWT构件能直接添加到顶层容器中
  • Swing构件不能直接添加到底层容器中

  1. 为保护本地主机,对Applet有哪些安全限制?

  1. 内部类不可直接使用外部类的成员是
  • 静态成员
  • 实例成员
  • 方法内定义
  • 以上三个选项均不是

  1. 要在HTML文件中嵌入Applet,在标记中必须定义的是
    • Applet字节码文件的URL
    • Applet显示区域的高度和宽度
    • Applet字节码的文件名
    • B和C

  1. 下列类中属于字节输入抽象类的是
    • FileInputStream
    • ObjectInputStream
    • FilterInputStream
    • InputStream

  1. 阅读下面程序
class Test implements Runnable{
    public static void main(String[] args){
        Test t = new Test();
        t.start();
    }
    public void run(){ }
}

下列关于上述程序的叙述正确的是

  • 程序不能通过编译,因为start()方法在Test类中没有定义
  • 程序编译通过,但运行时出错,提示start()方法没有定义
  • 程序不能通过编译,因为run()方法没有定义方法体
  • 程序编译通过,且运行正常

  1. 如果就要在Applet中显示特定的文字、图形等信息,可以在用户定义的Applet类中重写的方法是?
    • paint()
    • update()
    • drawString()
    • drawLine()

  1. 如果线程正处于运行状态,可使该线程进入阻塞状态的方法是?

  1. 阅读下面程序:
public class MyVal{
    public static void main (String args[]){
        MyVal m = new MyVal();
        m.amethod ();
    }
    public void amethod (){
        boolean b[]=new Boolean [5];
    }
}

程序编译或运行结果是?

  • 1
  • null
  • “”
  • 编译不通过

  1. StringBuffer类字符串对象的长度是
    • 固定
    • 必须小于16个字符
    • 可变
    • 必须大于16个字符

  1. 在接口中,除了抽象方法之外,还可以含有
    • 变量
    • 常量
    • 成员方法
    • 构造方法

  1. Java中支持输入输出随机访问的类是?

  1. 阅读下面Applet程序
import javax.swing.*;
import java.awt.*;
  public class SwingApplet extends JApplet{
     JLabel l=new JLabel("This is a Swing Applet.");
     public void init(){
      ______
     }

在程序下划线中填入正确的选项是?

  • Container contentPane=getContentPane(); contentPane.add(l);
  • JPanel contentPane=new JPanel(); contentPane.add(l);
  • contentPane.add(l);
  • add(l);

  1. 下列关于对象串行化的说法中错误的是?
    • 在Java中,默认所有的类的对象都可以串行化
    • 在对象串行化时,不保存对象所属类的构造方法
    • 在实现Serializable接口的类中,用transient关键字可使某些数据不被串行化
    • ObjectInputStream和ObjectOutputStream类都支持对象的读和写

  1. 阅读下列实现堆栈类并发控制的部分代码
public class DataStack{
  private int idx=0;
  private int[] data=new int[8];
  public void push(int i){
  ______{
    data[idx]=i;
    idx++;
  }
 }
  … …
}

在程序下划线处填入的应该是?

  • synchronized
  • synchronized(this)
  • synchronized()
  • synchronized(idx)

解析

  1. 在Swing中,按钮(JButton)和标签可以显示图片与文本,而AWT的按钮(Button)和标签只能显示文本。在构件方面,与AWT构件不同,Swing构件不能直接添加到顶层容器中,它必须添加到一个与Swing顶层容器相关联的内容面板上。

    • Applet不能运行任何本地可运行程序
    • 禁止加载本地库或方法
    • 禁止读、写本地计算机的文件系统
    • 禁止向提供Applet之外的任何主机建立网络连接
    • 不能读取某些系统信息,除了Java版本号、操作系统名或版本号、文件分隔符、路径分隔符以及分隔符之外,Applet不能获得与本地计算机有关的任何信息,如:用户名、电子邮件地址等
    • 由一个Applet弹出的窗口外观上与一个Application弹出的窗口不同,Applet弹出的窗口将会有警告提示信息,以帮助用户区分Applet窗口与可信的Application窗口

  1. 在内部类中,其与普通类不同的是:
    • 内部类的类名只能在定义它的类、程序段或表达式内部匿名使用,外部使用他时必须给出类的全名。而且,内部类的类名也不允许跟它的外部类相同
    • 内部类可以使用它所在类的静态成员变量和实例成员变量,也可以使用它所在类的方法中的局部变量。
    • 内部类可用abstract修饰定义为抽象类,也可以用private或protected定义
    • 内部类可作为其他类的成员,而且可以访问它所在类的成员
    • 除static内部类外,不能在类内声明static成员。一旦内部类声明为static,就变成顶层类,不能再使用局部变量。这时可声明static成员。

  1. 将Applet嵌入在html文件中,必须使用特殊的html标记,实现Applet的运行。该标记中必须定义CODE、WIDTH和HEIGHT三个属性。CODE属性指定包含Applet字节码的文件名;WIDTH和HEIGHT属性定义了Applet显示区以像素为单位的高度和宽度

  1. Java中处理字节流的抽象类有InputStream和OutputStream。其中字节输入流都是抽象类InputStream的子类

  1. Java中成员方法只在类中定义,用来处理该类数据。在本题中,没有t.start()方法,所以运行时会报start()没有定义的错误。

    • paint()方法:Applet的paint()方法具体执行Applet的绘制
    • update()方法用于更新Applet的显示。该方法首先清除背景,再调用paint()方法完成Applet的具体绘制。用户定义的Applet一般不重写该方法
    • drawString()方法是Graphics类显示文本方法的一种
    • drawLine()方法是Graphics类绘制图形方法的一种

  1. wait()方法和notify()方法在线程交互时使用,线程调用wait()方法时,线程由运行状态进入阻塞状态;当线程调用notify()方法时,则对象的wait pool中的一个线程将移入lock pool,在lock pool中线程将等待锁,一旦获得便可运行

  1. 初始化数组的格式为:

类型标识符 数组名 [] = new 类型标识符[元素个数]\

Java语言中,关键字区分大小写,其中Boolean[5],不能被正确识别到,编译不能通过


  1. 在Java中,字符串是作为对象出现的,由java.lang.String和java.langStringBuffer定义,分别用来处理长度不变和可变的字符串

  1. 接口是一种只含有抽象方法或常量的特殊的抽象类,它不包含成员变量和方法实现

  1. 文件操作中,当需要随机访问时,Java的RandomAccessFile类提供了随机访问文件的功能,它继承了Object类,用DataInput和DataOutput接口来实现。接口中定义了从流中读/写基本类型的数据方法。因此也可以随机读入字节数据文件的记录

  1. JApplet是顶层的Swing容器,其内部用一个隐含的根面板(JRootPanel)作为唯一的直接后代,,而根面板中的内容面板(Content Pane)才是JApplet除菜单条外所有构件的双亲。由于内容面板的存在,通常对JApplet添加构件有两种方式:
    • 用getContentPane()方法获得JApplet的内容面板,再向内容面板中添加构件
    • 建立一个JPanel之类的中间容器,把构件添加到容器中,再用setContentPane()方法把该容器置为JApplet的内容面板

  1. 一个类只有实现了Serializable接口,它的对象才是可串行化的

  1. 一个程序中单独的、并发的线程对同一个对象进行访问的代码段,成为临界区(Critical Sections),在Java中,临界区可以是一个语句块或者是一个方法,并且用"synchronized"关键字表示。Java平台将每个由synchronized(Object)语句指定的对象设置成一个锁,成为对象锁(monitor),其中有一种独占的排他锁(exclusive locks),这种锁指的是,当一个线程获得了对象锁之后,便拥有了该对象的操作权,其余线程无法操作该对象。

图表复盘

时间 题目数量 错误数量 错误率
20211108 60 4 6%
20211109 60 11 18%
20211110 60 12 20%
20211111 60 5 8%
20211112 60 15 25%
总表 300 47 15%

今日题目涉及知识点 出现次数 占比
Applet 4 26%
Serializable串行化 1 6%
数据类型 1 6%
输入输出流 2 13%
多线程 3 20%
Swing 1 6%
内部类 1 6%
String 1 6%
接口 1 6%
总题目涉及知识点 出现次数 占比
输入输出流 8 16%
Applet 8 16%
Swing 5 10%
数据类型 4 8%
4 8%
多线程 4 8%
运算符 3 6%
Serizlizable串行化 3 6%
String 2 4%
文件 2 4%
方法 1 4%
监听器 1 2%
编码 1 2%
自定义表格类 1 2%
JVM 1 2%
接口 1 2%
总数 49 100%

精度自小数点后两位

小结

  • 目前总共接触到的题目总数量,达到了300道题目,算是比较多一点的样本了,在最后一天,会将图表汇总成饼图、折线图以及柱状图,更好的方便复盘
  • 为了便于总结以及针对性复习,每篇出现的题目中不止包含错题,还有一些认为知识点考察较为广泛的题目,但不会标注出来,一并当错题处理
  • 在知识点的统计中,有一些题目,例如2021109的11题,涉及到了两个知识点,所以知识点数量会比题目数量+1
  • 在总表统计中,不会像每日的表一样分得很细,会做一个总的合并。
上一篇:计算机二级考试-Java-模拟试题5


下一篇:Servlet(重点) Server+Applet