【计算机二级Java语言】卷011
选择题
公共知识
因此, 从排头指针front指向的后一个位置直到队尾指针rear指向的位置之间所有的元素均为队列中的元素。
所以循环队列中的元素个数与队头指针和队尾指针的变化而变化, A正确。
其中分析、设计包括需求分析、总体设计和详细设计3个阶段, 实施则包括编码和测试两个阶段, C不属于开发阶段。
则由关系R和S得到关系T的操作是()。
专业知识
因此, 选项A是错误的。
Java语言和C++语言中都包含有类库, 提供了大量的类以满足用户的多方面需要。
因此, 选项C是错误的。
Java语言与C++语言都是高性能的编程语言。
本题答案为B。
1 public class ID_Test2 {
2 int I = 0;
3 char str = 's';
4 char abc = 'c';
5 double _dou = 3.14;
6 public static void main(String[] args) {
7 ID_Test2 t = new ID_Test2();
8 System.out.println("I= " + t.I);
9 System.out.println("abc= " + t.abc);
10 System.out.println("_dou= " + t._dou);
11
}
12
}
根据驼峰命名法规则, 变量名如果只有一个单词则小写。
开头不能用下划线。
选项D正确, 本题答案为D。
六种数字类型(四个整数型, 两个浮点型), 一种字符类型, 还有一种布尔型。
1、整数:包括int, short, byte, long 2、浮点型:float, double 3、字符:char 4、布尔:boolean
选项C正确, 本题答案为C。
%为取余运算符可以判断一个数是否为偶数。
选项A正确, 本题答案为A
int[] a = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
char c = 'a', d, g;
也就是a[3] char c = 'a', 而'a'代表了ASCLL码, 表示的是十进制的97, 那么c = 97。
而'd'也表示的是ASCLL码, 意味着十进制的100。
所以'd' - c = 100 - 97 = 3
所以就有了4的表达式为a['d' - c]。
选项D正确, 本题答案为D。
int n = 0;
char k = 'a';
switch (k) {
case 'a':
n++;
case 'b':
n += 2;
break;
case 'c':
n += 3;
break;
}
所以 case 'a': n++; 结果为1, 继续往下运行case 'b' : n += 2; break; 结果为3.有break关键字, 结束运行。
选项C正确, 本题答案为C。
do while循环结构 while括号里应该是一个布尔表达式, 不能为0。
选项D正确, 本题答案为D。
int sum = 0;
for (int i = 1; i < 10; i = i + 2)
if (i / 4 == 1)
sum += i;
For循环执行顺序是:初始化--判断--函数体——然后for循环的第3句--判断——函数体-- - for循环的第三句--判断……选项D正确, 本题答案为D。
int count = 0;
for (int i = 0; i < 5; i++) {
for (int j = 1; j <= 5; j++)
count++;
}
选项D正确, 本题答案为D。
.
int i = 0;
int x = 0;
int[] num = { 1, 2, 3, 4, 5 };
while (++i < 4) {
System.out.print(" " + num[++x]);
}
数组下标从0开始, 选项D正确, 本题答案为D。
数组是同种数据类型的集合, 所以数组中各个元素的数据类型必须是相同的。
选项A正确, 本题答案为A。
public class Manager {
static String name[] = new String[10];
public static void main(String args[]) {
System.out.println(name[9]);
}
}
String类型的数组, 默认值为null。
选项D正确, 本题答案为D。
1 class Employer {
2 public void promote(int i, int j) {
...
}
3 public void promote(int i) {
...
}
4
}
5 public class Manager extends Employer {
6 public void promote() {
...
}
7 public void promote(int i) {
...
}
8 public static void main(String args[]) {
9 Employer e = new Employer();
10 e.promote(99, 100);
11
}
12
}
第10行的的方法有两个参数, 即调用第二行的方法。
选项A正确, 本题答案为A。
接口中还可以定义常量, 但不能定义变量。
选项B正确, 本题答案为B。
public class City {
public static void main(String args[]) {
City c = new City();
}
City() {
System.out.println("Working in City");
}
}
构造方法中没有返回值。
选项D正确, 本题答案为D。
public class ExceptionsHandling {
static void test(int i) throws ArithmeticException, ArrayIndexOutOfBoundsException {
if (i == 0) {
System.out.println("Everything is OK");
return ;
} else if (i == 1) {
int myArray[] = new int[4];
myArray[1] = 3;
}
}
public static void main(String args[]) {
try {
test(0);
test(1);
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("catch " + e);
} finally {
System.out.println("test over");
}
}
}
输入0满足if 中i == 0, 执行里面语句块, finally代码块在处理异常时无论有没有异常都会执行里面的语句块, 选项D正确, 本题答案为D。
public class ChangeValue {
String name;
public static void main(String args[]) {
double d;
ChangeValue cv = new ChangeValue();
d = 100.0;
System.out.println("double is:" + d);
cv.changeDouble(d);
System.out.println("changed double is:" + d);
cv.name = "Java";
System.out.println("name is:" + cv.name);
cv.changeName(cv);
System.out.println("changed name is:" + cv.name);
}
public void changeDouble(double d) {
d = 200.0;
}
public void changeName(ChangeValue c) {
c.name = "Android";
}
}
根据方法调用的顺序, 选项D正确, 本题答案为D。
public class StringTest {
public static void main(String args[]) {
char chars[] = { 'J', 'a', 'v', 'a', 'l', 'a', 'n', 'g', 'u', 'a', 'g', 'e' };
String s = new String(chars);
String s1 = s.concat("and");
System.out.println(s1);
}
}
Concat:将指定字符串连接到此字符串的结尾。
选项B正确, 本题答案为B。
所以本题答案为B。
import java.io.*;
public class testOut {
public static void main(String[] args) {
int[] data = new int[3];
data[0] = 100;
data[1] = 95;
data[2] = 80;
try {
ObjectOutputStream out = new _______________(new FileOutputStream("score.txt"));
out.writeObject(data);
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
ObjectOutputStream 将 Java 对象的基本数据类型和图形写入 OutputStream。
可以使用 ObjectInputStream 读取(重构)对象。
通过在流中使用文件可以实现对象的持久存储。
选项A正确, 本题答案为A。
Write()向管道流中写入数据(发送);
flush()在java中是刷新缓冲区的作用;
connect()是实现连接管道流的方法。
print()是输出数据。
所以本题答案为C。
InputStream, OutputStream都是字节流类, BufferedReader这个类就是一个包装类, 它可以包装字符流, 将字符流放入缓存里, 先把字符读到缓存里, 到缓存满了或者你flush的时候, 再读入内存, 就是为了提供读的效率而设计的。
所以本题答案为C。
Swing中提供了JOptionPane类。
optionType:定义在对话框的底部显示的选项按钮的集合。
选项C正确, 本题答案为C。
适配器 其实 从 接口事件演变尔来的 相当于触发器 说简单点 它就是一些动作 。
而自定义函数不能实现事件响应, 选项C正确, 本题答案为C。
键盘监听接口的API : void keyPressed(KeyEvent e)按下键时调用。
void keyReleased(KeyEvent e)当键已被释放时调用。
void keyTyped(KeyEvent e)键入键时调用。
选项C正确, 本题答案为C。
1 public class Test implements Runnable {
2 public static void main(String[] args) {
3 Thread tt = new Thread();
4 tt.start();
5
}
6 7 public void run() {
8 System.out.println("Good luck!");
9
}
10
}
java的线程是通过java.lang.Thread类来实现的。
VM启动时会有一个由主方法所定义的线程。
可以通过创建Thread的实例来创建新的线程。
每个线程都是通过某个特定Thread对象所对应的方法run()来完成其操作的, 方法run()称为线程体。
通过调用Thread类的start()方法来启动一个线程。
start()方法来启动线程, 真正实现了多线程运行。
这时无需等待run方法体代码执行完毕, 可以直接继续执行下面的代码。
选项C正确, 本题答案为C。
join()把指定的线程加入到当前线程。
isAlive()功能是判断当前线程是否处于活动状态。
sleep()是让线程进行休眠状态。
选项D正确, 本题答案为D。
public class StackTest {
private int idx = 0;
private char[] data = new char[10];
public ________ void push(char c) {
……
}
public ________ void pop() {
……
}
}
堆栈中使用相同的synchronized是为了保证访问数据的一致性。
选项A正确, 本题答案为A。
Application以main()方法为入口点运行, Applet要在浏览器或appletviewer中运行, 运行过程比Application更复杂。
所以答案为A。
/*hello.html*/
<HTML><HEAD><TITLE > Hello</TITLE></HEAD><BODY><APPLET CODE = " HelloApplet.class " _______ = 150 _______ = 25></APPLET></BODY></HTML>/*HelloApplet.java*/
import java.awt.*;
import java.applet.*;
public class HelloApplet extends Applet {
public void __________(Graphics g) {
g.drawString("Good Morning!!", 25, 25);
}
}
WIDTH, HEIGHT分别表示宽, 高。
Paint方法为java中的画图方法。
选项A正确, 本题答案为A。
编程题
本题的要求是:
对Java_1.java文件进行完善并调试, 使程序输出的结果如下:
b的结果是:5
1 : class 2 : 15 3 : +b
填空1:定义类的格式
填空:2:因为其是二进制异或运算所以与b异或运算得5 所以c得二进制为1111 即十进制15
填空3 : b的结果用+号做拼接符连接
本题的要求是:
创建一个线程, 按照从1到5递增的顺序将这两个整数打印出来, 使程序的输出结果如下:
x = 1, y = 1
x = 2, y = 2
x = 3, y = 3
x = 4, y = 4
x = 5, y = 5
1 : implements Runnable 2 : r 3 : k 4 : y = k + 1
填空1:其重写了run()方法所以要实现Runnable接口
填空:2:将Java实现加到线程中
填空3:下文使用到k 则需要给其定义
填空4:下面输出x与y要相等 因为x自加1了所以要让其k值+1 因为退出循环与k有关所以y = k + 1
本题的要求是:
统计一个英文文本字符串中包含的英文元音字母的个数, 使程序的运行结果如下:
The text contained vowels : 88
1 : textLength 2 : charAt(i)3 : vowels++
填空1:因为下文使用到了textLength 即长度表示
填空:2:将字符串每个字符全部找出来, java中String类提供了charAt()方法遍历每个字符
填空3:找到一个计数+1 使用vowels计数