计算机二级考试-Java-模拟试题4
前言
这里是 计算机二级考试 系列文章,主要介绍计算机二级考试中的涉及到的Java有关的知识点。
Java语言的重要性不言而喻
关于作者:
- 小白(Libra),计算机兴趣爱好者,Java,C,C++,Hadoop,MySQL
- Email : hewei20031009@163.com
- GitHub : https://github.com/Regel-zack
转载请注明出处
正文
题目
- 下列叙述中,错误的是?
- JButton类和标签类可显示图标和文本
- Button类和标签类可显示图标和文本
- AWT构件能直接添加到顶层容器中
- Swing构件不能直接添加到底层容器中
- 为保护本地主机,对Applet有哪些安全限制?
- 内部类不可直接使用外部类的成员是
- 静态成员
- 实例成员
- 方法内定义
- 以上三个选项均不是
- 要在HTML文件中嵌入Applet,在标记中必须定义的是
- Applet字节码文件的URL
- Applet显示区域的高度和宽度
- Applet字节码的文件名
- B和C
- 下列类中属于字节输入抽象类的是
- FileInputStream
- ObjectInputStream
- FilterInputStream
- InputStream
- 阅读下面程序
class Test implements Runnable{
public static void main(String[] args){
Test t = new Test();
t.start();
}
public void run(){ }
}
下列关于上述程序的叙述正确的是
- 程序不能通过编译,因为start()方法在Test类中没有定义
- 程序编译通过,但运行时出错,提示start()方法没有定义
- 程序不能通过编译,因为run()方法没有定义方法体
- 程序编译通过,且运行正常
- 如果就要在Applet中显示特定的文字、图形等信息,可以在用户定义的Applet类中重写的方法是?
- paint()
- update()
- drawString()
- drawLine()
- 如果线程正处于运行状态,可使该线程进入阻塞状态的方法是?
- 阅读下面程序:
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
- “”
- 编译不通过
- StringBuffer类字符串对象的长度是
- 固定
- 必须小于16个字符
- 可变
- 必须大于16个字符
- 在接口中,除了抽象方法之外,还可以含有
- 变量
- 常量
- 成员方法
- 构造方法
- Java中支持输入输出随机访问的类是?
- 阅读下面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);
- 下列关于对象串行化的说法中错误的是?
- 在Java中,默认所有的类的对象都可以串行化
- 在对象串行化时,不保存对象所属类的构造方法
- 在实现Serializable接口的类中,用transient关键字可使某些数据不被串行化
- ObjectInputStream和ObjectOutputStream类都支持对象的读和写
- 阅读下列实现堆栈类并发控制的部分代码
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)
解析
- 在Swing中,按钮(JButton)和标签可以显示图片与文本,而AWT的按钮(Button)和标签只能显示文本。在构件方面,与AWT构件不同,Swing构件不能直接添加到顶层容器中,它必须添加到一个与Swing顶层容器相关联的内容面板上。
-
- Applet不能运行任何本地可运行程序
- 禁止加载本地库或方法
- 禁止读、写本地计算机的文件系统
- 禁止向提供Applet之外的任何主机建立网络连接
- 不能读取某些系统信息,除了Java版本号、操作系统名或版本号、文件分隔符、路径分隔符以及分隔符之外,Applet不能获得与本地计算机有关的任何信息,如:用户名、电子邮件地址等
- 由一个Applet弹出的窗口外观上与一个Application弹出的窗口不同,Applet弹出的窗口将会有警告提示信息,以帮助用户区分Applet窗口与可信的Application窗口
- 在内部类中,其与普通类不同的是:
- 内部类的类名只能在定义它的类、程序段或表达式内部匿名使用,外部使用他时必须给出类的全名。而且,内部类的类名也不允许跟它的外部类相同
- 内部类可以使用它所在类的静态成员变量和实例成员变量,也可以使用它所在类的方法中的局部变量。
- 内部类可用abstract修饰定义为抽象类,也可以用private或protected定义
- 内部类可作为其他类的成员,而且可以访问它所在类的成员
- 除static内部类外,不能在类内声明static成员。一旦内部类声明为static,就变成顶层类,不能再使用局部变量。这时可声明static成员。
- 将Applet嵌入在html文件中,必须使用特殊的html标记,实现Applet的运行。该标记中必须定义CODE、WIDTH和HEIGHT三个属性。CODE属性指定包含Applet字节码的文件名;WIDTH和HEIGHT属性定义了Applet显示区以像素为单位的高度和宽度
- Java中处理字节流的抽象类有InputStream和OutputStream。其中字节输入流都是抽象类InputStream的子类
- Java中成员方法只在类中定义,用来处理该类数据。在本题中,没有t.start()方法,所以运行时会报start()没有定义的错误。
-
- paint()方法:Applet的paint()方法具体执行Applet的绘制
- update()方法用于更新Applet的显示。该方法首先清除背景,再调用paint()方法完成Applet的具体绘制。用户定义的Applet一般不重写该方法
- drawString()方法是Graphics类显示文本方法的一种
- drawLine()方法是Graphics类绘制图形方法的一种
- wait()方法和notify()方法在线程交互时使用,线程调用wait()方法时,线程由运行状态进入阻塞状态;当线程调用notify()方法时,则对象的wait pool中的一个线程将移入lock pool,在lock pool中线程将等待锁,一旦获得便可运行
- 初始化数组的格式为:
类型标识符 数组名 [] = new 类型标识符[元素个数]\
Java语言中,关键字区分大小写,其中Boolean[5],不能被正确识别到,编译不能通过
- 在Java中,字符串是作为对象出现的,由java.lang.String和java.langStringBuffer定义,分别用来处理长度不变和可变的字符串
- 接口是一种只含有抽象方法或常量的特殊的抽象类,它不包含成员变量和方法实现
- 文件操作中,当需要随机访问时,Java的RandomAccessFile类提供了随机访问文件的功能,它继承了Object类,用DataInput和DataOutput接口来实现。接口中定义了从流中读/写基本类型的数据方法。因此也可以随机读入字节数据文件的记录
- JApplet是顶层的Swing容器,其内部用一个隐含的根面板(JRootPanel)作为唯一的直接后代,,而根面板中的内容面板(Content Pane)才是JApplet除菜单条外所有构件的双亲。由于内容面板的存在,通常对JApplet添加构件有两种方式:
- 用getContentPane()方法获得JApplet的内容面板,再向内容面板中添加构件
- 建立一个JPanel之类的中间容器,把构件添加到容器中,再用setContentPane()方法把该容器置为JApplet的内容面板
- 一个类只有实现了Serializable接口,它的对象才是可串行化的
- 一个程序中单独的、并发的线程对同一个对象进行访问的代码段,成为临界区(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
- 在总表统计中,不会像每日的表一样分得很细,会做一个总的合并。