这里是 计算机二级考试 系列文章,主要介绍计算机二级考试中的涉及到的Java有关的知识点。
Java语言的重要性不言而喻
关于作者:
- 小白(Libra),计算机兴趣爱好者,Java,C,Hadoop,MySQL
- Email : hewei20031009@163.com
- GitHub : https://github.com/Regel-zack
转载请注明出处
正文 题目- 计算机中的流是
- 流动的字节
- 流动的对象
- 流动的文件
- 流动的数据缓冲区
- 为保证读取到的内容进行处理后再输出,需要使用下列 ? 流
- File stream
- Pipe stream
- Random stream
- Filter stream
- 对Jframe 添加构件有几种方式?
- Java的字符类型采用的是Unicode编码方案,每个Unicode码占用多少个比特位?
- 设a=8,则表达式a>>>2的值是?
- 给出以下关于一个使用适当的字符间距的字体的TextField的表达式
TextField t = new TextField("they are good",40);
以下说法中,哪一项是正确的?
- 被显示的字符串可以使用多种字体
- 一行中的最大的字符数是40
- 显示的宽度正好是40个字符宽
- 用户可以编辑字符
- short型的取值范围是多大?
- 给出下面的代码
public class Date {
public static void main(String args[]){
float f = 0.0;
f+=1.0;
System.out.println(f);
}
}
其中哪一项叙述是对的?
- 编译时将发生错误
- 编译时正确但是运行时出错
- 输出为1.0
- 输出为null
- 下列不属于java.io包中的抽象类的是
- InputStream
- FilterOutputStream
- Reader
- Serializable
- 现有以下代码
String s = "hello";
String t = "hello";
char c[] = {'h','e','l','l','o'} ;
会返回false的语句是
- s.equals(t);
- t.equals©;
- s==t;
- t.equals(new String(“hello”));
- 假设有以下代码
public class Parent {
public int addValue( int a, int b) {
int s;
s = a+b;
return s;
}
}
class Child extends Parent {
}
下列哪个方法可以正确加入Child类中且不会覆盖父类中的方法?
- int addValue( int a, int b ){// do something…}
- public void addValue (){// do something…}
- public int addValue( int a, int b )throws MyException {//do something…}
- public float addValue ( int a ,int b, float b=1.0 ){// do something…}
解析
- 流,最早从C语言引入。其可以看成是一个流动的数据缓冲区。数据从数据源方向经过缓冲区流向数据的目的地。在传送的过程中,其传送方式是串行的。在Java中的java.io包中定义了Java中常见流的接口与类。其中包括两个最基本的流的抽象类,它们分别是OutputStream 与 InputStream。其余的流都分别从这两个及本类中继承而来。
- 过滤流(Filter stream)为I/O访问提供了同步处理机制。保证在某时刻只能有一个线程访问I/O流。要保证读取的内容进行处理后能够正确的输出,要使用过滤流(Filter stream),否则不能保证输出数据的正确性。
- 对Jframe添加构件有两种方式:
- 用getContentPane()方法获得Jframe的内容面板,再对其加入构件frame.getContentPane().add(childComponent)。
- 建立一个Jpanel或JDesktopPane之类的中间容器,把构件添加到容器中,再用setContentPane()方法把该容器置为Jframe的内容面板
- ASCII是用8位表示一个字符。Unicode是用16位表示一个字符,因此Unicode中汉字和英文字母所占用的空间是一样的。
- 逻辑右移运算符>>>用来将一个数的各二进制位添零右移若干位,注意它的最高位补得是0,因此本题8>>>2的结果是2。
- 对于TextField 的这种形式的构造函数来说,前一个参数是文本域中初始的字符串的显示值,而后一个是推荐的显示宽度,以列数表示,在构造文本域的时候会将这个大小设置为最佳大小,只要不使用回车,在超过显示宽度后,文本域会自动出现水平滚动条(没有被设置为关闭的情况下,缺省是不关闭),而文本域的缺省编辑方式是可编辑的,一个文本域只能用一种字体,这个字体可以在运行的过程中动态的改变,但是文本域中所有字符串都将用这个字体来显示。
- 短整型的数据类型的长度是16bits,有符号。另外需要说明的是Java中所有整数全是有符号的。
- 在Java数据类中,浮点数类型的数据分为float和double两种类型。当数据的末尾加f或F表示float型,当在数据的末尾加d或D时,表示double型,若没有加,默认为double型。
由于0.0时double型的数据,而f是float型的变量,在Java中,优先级高的数据类型不能直接赋值给优先级低的数据类型。
- 其中InputStream用于处理字节流的抽象类;FilterOutputStream用于处理过滤流的抽象类;Reader类用于处理字符流的抽象类;而Serizlizable是一个接口,用来处理对象流
- ==操作符比较的是操作符两端的操作数是否是同一个对象,而String的equals()方法比较的是两个String对象的内容是否一样,其参数是一个String对象时才有可能返回true,其他对象都返回false。在这里,s和t并非使用new创建,它们指向的是内存中常量池中的同一个字符串常量,因此其地址实际上是相同的,如果感兴趣可以通过反编译一个简单的测试程序来得到结果
- 重载的规则是:
- 参数列表必须不同
- 返回值可以不同,但是不能作为重载时唯一的不同点(这点与C++不同)
- 重写的规则是:
- 必须发生在类继承中
- 返回类型和参数列表一样才是重写
- 重写的方法访问权限不能比被重写的方法访问权限底
- 重写的方法不能比被重写的方法抛出(throws)更多的异常,其抛出的异常只能少或是其子类,其中应当是异常类中的层次结果上的种类。
图表复盘
| 时间 | 题目数量 | 错误数量 | 错误率 |
|---|---|---|---|
| 20211108 | 60 | 4 | 6% |
| 20211109 | 60 | 11 | 18% |
| 今日题目涉及知识点 | 出现次数 | 占比 |
|---|---|---|
| 方法 | 1 | 7% |
| 操作符 | 1 | 7% |
| String | 1 | 7% |
| Serizlizable接口 | 1 | 7% |
| 数据类型 | 2 | 14% |
| Swing | 2 | 14% |
| 逻辑运算符 | 1 | 7% |
| 编码 | 1 | 7% |
| 输入输出流 | 3 | 23% |
| 总题目涉及知识点 | 出现次数 | 占比 |
|---|---|---|
| 内部类 | 1 | 6% |
| 运算符 | 3 | 18% |
| Swing | 3 | 18% |
| 监听器 | 1 | 6% |
| 方法 | 1 | 6% |
| String | 1 | 6% |
| Serizlizable接口 | 1 | 6% |
| 数据类型 | 2 | 12% |
| 编码 | 1 | 6% |
| 输入输出流 | 3 | 18% |
小结精度自小数点后两位
- 今天的题目涉及到的知识面较为广泛,也有题目数量增多、样本增大计算更加精确的原因,总之大概反映出了知识点欠缺的位置
- 为了便于总结以及针对性复习,每篇出现的题目中不止包含错题,还有一些认为知识点考察较为广泛的题目,但不会标注出来,一并当错题处理
- 在知识点的统计中,有一些题目,例如今天的11题,涉及到了两个知识点,所以知识点数量会比题目数量+1
- 在总表统计中,不会像每日的表一样分得很细,会做一个总的合并。



