【计算机二级Java语言】卷020
选择题
公共知识
为此, 可以用算法在执行过程中所需基本运算的执行次数来度量算法的工作量。
算法所执行的基本运算次数还与问题的规模有关; 对应一个固定的规模, 算法所执行的基本运算次数还可能与特定的输入有关。
本题可以假设栈中有x个元素, 当x = 0时, 也就是栈中没有元素, 则top = m + 1; 当x = m时, 也就是栈满, 则top = 1, 由此可以得出top = m + 1 - x, 继而得出m - top + 1。
而查找无论是对分查找还是顺序查找, 都与要找的数据和原始的数据排列情况有关, 最好情况是第1次查看的一个数据恰好是要找的数据, 只需要比较1次; 如果没有找到再查看下一个数据, 直到找到为止, 最坏情况下是最后一次查看的数据才是要找的, 顺序查找和对分查找在最坏情况下比较次数分别是n和log2n, 平均情况则是1 ~最坏情况的平均, 因而是不同的。
软件定义阶段的任务是:确定软件开发工作必须完成的目标;
确定工程的可行性。
软件开发阶段的任务是:具体完成设计和实现定义阶段所定义的软件, 通常包括总体设计、详细设计、编码和测试。
其中总体设计和详细设计又称为系统设计, 编码和测试又称为系统实现。
软件维护阶段的任务是:使软件在运行中持久地满足用户的需要。
测试用例的格式为:[(输入值集), (输出值集)]
专业知识
但不包含抽象这一特点, 故选项B不符合要求。
本题答案为B。
选项B错误。
Java命名的约定二:驼峰命名法。
即第一个字符小写, 其后单词首字母大写。
排除AD选项。
选项C正确。
本题答案为C。
故A选项正确, BD选项错误。
其变量为0是是false, 否则为true。
int类型的变量可以赋值给boolean类型, 但boolean类型不能赋值给int类型。
故C选项错误。
本题答案为A。
故D选项错误。
本题答案为D。
A选项, 2012 % 4 == 0为true, 2012 % 100 != 0为true, 通过与运算为true; 2012 % 400 == 0为false, 通过与前面运算结果或运算, 结果为真。
故排除。
B选项, 2000 % 4 == 0为true, 2000 % 100 != 0为false, 通过与运算为false; 2000 % 400 == 0为true, 通过与前面运算结果或运算, 结果为真。
故排除。
C选项, 1000 % 4 == 0为true, 1000 % 100 != 0为false, 通过与运算为false; 1000 % 400 == 0为false, 通过与前面运算结果或运算, 结果为假。
故排除。
D选项, 1020 % 4 == 0为true, 1020 % 100 != 0为true, 通过与运算为true; 1020 % 400 == 0为false, 通过与前面运算结果或运算, 结果为真。
故排除。
本题答案为C。
int month = 3;
String season = "";
switch (month) {
case 12:
case 1:
case 2:
season = "winter";
break;
case 3:
case 4:
case 5:
season = "spring";
break;
case 6:
case 7:
case 8:
season = "summer";
break;
case 9:
case 10:
case 11:
season = "autumn";
break;
}
定义的int值为3, 通过case语句, 执行season = "spring"这一赋值, 然后跳出循环。
故B为正确选项。
本题答案为B。
int x = 12, f;
f = 1;
for (int i = 2; i < x; i++)
if (x % i == 0)
f = f + i;
通过执行代码可得:f = 16。
故正确选项是B。
本题答案为B。
int n = 0;
for (int i = 1; i <= 3; i++)
for (int j = 1; j <= 2 * i - 1; j++)
n++;
本题答案为C。
int[] a = { 1, 3, 5, 2, 4 };
int j = 4;
for (int i = 0; i < 5; i++) {
a[i] = a[j];
j--;
}
for (int i = 0; i < 5; i++)
System.out.print(a[i] + " ");
所以赋值后, 数组中存放的值为:4, 2, 5, 2, 4; 所以本题答案是C选项。
Car testcar = new Car();
System.out.print(testcar.toString());
通常, ToString方法会返回一个"以文本方式表示"此对象的字符串。
结果应是一个简明但易于读懂的信息表达式。
它的值等于:getClass().getName() + '@' + Integer.toHexString(hashCode())。
由此可知数值为hash值。
正确选项是B。
本题答案为B。
Java中继承的定义是:继承是从已有的类中派生出新的类, 新的类能吸收已有类的非私有数据属性和行为, 并能扩展新的能力。
据此可知, ACD为错误选项, 正确选项为B。
本题答案为B.。
String str1 = "I";
String str2 = "like";
String str3 = "Java";
System.out.println(str1 + str2 + str3);
明显ACD不符合定义, B为正确选项。
本题答案为B。
String input = JOptionPane.showInputDialog("whats your age?");
int age = Integer.parseInt(input);
根据题目代码可知, 需要将String类型转换成int类型, 即为字符串转化成整数。
故正确选项是A。
本题答案为A。
int[][] a = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 }, { 13, 14, 15, 16 } };
int i, j, s = 0;
for (i = 0; i < 3; i++)
for (j = 0; j < i + 1; j++)
s = s + a[i][3 - j];
System.out.print(s);
其结果为52。
故正确选项为A.本题答案为A。
本题答案为A。
public class myprogram {
public static void main(String[] args) {
try {
System.out.print("Hello world ");
} finally {
System.out.println("Finally executed");
}
}
}
主要与try - catch - finally配合使用。
finally语句块的作用是无论出现什么情况, finally块中的语句一定会被执行, 并且是在return 之前执行。
根据JAVA规范, 如果try - finally或者catch - finally中都有return , 则2个return 都执行并最终返回调用者那里的是finally中的return , 如果finally中没有return 则返回的是catch中的return , 但是finally中的代码也是要执行的。
本题答案为D。
故选项A正确。
本题答案为A。
文件流和音频流都不包含边界数据, 属于字节流。
文本字符流属于字符流, 其定义和字节流不同。
故D为正确选项。
本题答案为D。
抽象类是不完整的, 它只能用作基类。
在面向对象方法中, 抽象类主要用来进行类型隐藏和充当全局变量的角色。
InputStream、OutputStream、Reader都作为抽象类被继承, 故排除ABC选项。
FileInputStream继承InputStream, 不属于抽象类, 故选项D正确。
本题答案为D。
清单存储与 JAR 文件内容有关的元信息, 也用于签名 JAR 文件。
java.util.zip 提供用于读写标准 ZIP 和 GZIP 文件格式的类。
还包括使用 DEFLATE 压缩算法(用于 ZIP 和 GZIP 文件格式)对数据进行压缩和解压缩的类。
此外, 还存在用于计算任意输入流的 CRC - 32 和 Adler - 32 校验和的实用工具类
java.util包含集合框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组、日期Date类、堆栈Stack类、向量Vector类等)java.io提供了全面的IO接口。
包括:文件读写、标准设备输出等。
Java中IO是以流为基础进行输入输出的, 所有数据被串行化写入输出流, 或者从输入流读入。
故选项A符合题目定义。
本题答案为A。
import java.io.*;
public class test {
public static void main(String[] args) {
String str = "";
String r = "";
try {
BufferedReader br = new ____________(new FileReader("d:\\test.txt"));
while ((r = br.readLine()) != null) {
str += r;
}
System.out.println(str);
} catch (IOException e) {
System.out.println("文件读取错误!");
}
}
}
Reader作为抽象类, 不满足条件; Buffer 类是 java.nio 的构造基础, 为抽象类, 没有具体实现; FileReader继承Reader, 输入字符流读写, 不满足要求。
选项D正确, 本题答案为D。
ABD选项在这些方法中间, 只有C选项不满足。
本题答案为C。
D选项为错误选项。
本题答案为D。
import javax.swing.*;
public class test {
public static void main(String[] args) {
JOptionPane.showMessageDialog(null, "答案正确吗", "运行结果", JOptionPane.QUESTION_MESSAGE);
}
}
A选项正确。
线程, 有时被称为轻量级进程(Lightweight Process, LWP), 是程序执行流的最小单元。
故B选项正确。
Java语言的定义是:健壮的, 安全的, 结构的中立的, 可移植的, 性能优异的多线程的动态的语言, 故D选项正确。
Java有自己的内存会收机制, 程序员也可以进行内存管理, 但是不能通过应用程序直接管理。
故C选项错误。
本题答案为C。
public class ThreadTest2 {
public static void main(String[] args) {
PrintNumber p = new PrintNumber();
Thread t = new Thread(p);
t.start();
p.run();
}
}
class PrintNumber implements Runnable {
int i;
public void run() {
while (true) {
System.out.println(Thread.currentThread().getName() + " i = " + i++);
if (i == 2)
break;
}
}
}
故D为正确选项。
本题答案为D。
故正确选项是A。
本题答案为A。
Start方法是启动方法, 并非更新显示的方法; init是初始化方法, 同样不能更新显示。
故正确选项是C。
本题答案为c。
<HTML><BODY><________ CODE = "StringApplet.class" WIDTH = 150 HEIGHT = 25><________NAME = STR VALUE = "abcdefg"></________></BODY></HTML>
故排除C, 正确选项为B。
本题答案为B。
编程题
在注释行"//**********Found**********"下一行语句的下划线地方填入
正确内容, 然后删除下划线, 请勿删除注释行或改动其他已有语句内容。存
盘时文件必须存放在考生文件夹下, 不得改变原有文件的文件名。
本题的要求是:
运行程序后, 输出结果如下:
Receive one int data
i = 1
Receive two int data
x = 2 y = 3
Receive one double data
d = 12.56
Receive a string
s = very interesting, is not it?
1.int 2.int 3.d 4.s
填空1:在测试方法中调用receive(2, 3)传入的数值是int类型, 所以变量x应是int类型
填空2:在测试方法中调用receive(2, 3)传入的数值是int类型, 所以变量y应是int类型
填空3:输出语句中有d的拼接, 所以变量应是d
填空4:输出语句中有s的拼接, 所以引用应是s
在注释行"//**********Found**********"下一行语句的下划线地方填入
正确内容, 然后删除下划线, 请勿删除注释行或改动其他已有语句内容。存
盘时文件必须存放在考生文件夹下, 不得改变原有文件的文件名。
程序的功能是:实现如图所示的矩阵计算。
运行后结果如下:
25 65 14 - 65
44 109 43 - 76
1.new int[a[0].length][b[0].length] 2.4 3.c[i][j] = 0 4.a[i][k] * b[k][j]
填空1:矩阵的定义是:左边矩阵的第一行元素与右边矩阵第一列对应元素 依次相乘的积相加作为相乘后矩阵的第一行第一列元素, 同样做法第一行元素与右边第二列对应元素相乘的积相加后作为 结果的第一行第二列元素, 左边第一行元素与右边每列元素乘完后剩余行做同样的运算。
由定义可知二维数组c的行为a数组的a[0]的长度, 列应该为b数组b[0]的长度
填空2:第二个矩阵为4列
填空3:见矩阵的定义
填空4 : c[i][j]等于 a[i][k]乘以b[k][j]
在注释行"//**********Found**********"下一行语句的下划线地方填入
正确内容, 然后删除下划线, 请勿删除注释行或改动其他已有语句内容。存
盘时文件必须存放在考生文件夹下, 不得改变原有文件的文件名。
本题的要求是:
程序运行后如图所示左侧界面, 点击Edit后出现右侧界面, 进行颜色选择。
1.swing 2.ActionListener 3.f 4.true 5.JColorChooser
填空1; JFrame类属于swing窗口构件中的一个类
填空2:根据题目可知, 里面有ActionEvent监听方法, 所以本类应该继承ActionListener
填空3:根据 c = _________.getContentPane(); 可知JColorChooser应该被JFrame赋值;
填空4:一个swing界面被设置大小后, 应该被设置可见, 所以f.setVisible(true)
填空5:当一个JColorChooser被调用时, 应该被实例化