一、单项选择题(本大题共10个小题,每小题2分,共20分)
1.下列用来编译Java源文件为字节码文件的工具是( )。
A.java B.javadoc
C.jar D.javac
2.Java中关于构造方法描述错误的是( )。
A.构造方法没有返回值类型
B.构造方法和类名相同
C.没有自定义构造方法时,JVM提供默认的无参的构造方法
D.每一个类都一定有无参构造方法
3.下面关于类方法和实例方法的描述,错误的是( )。
A.使用关键字static修饰的方法是类方法
B.类方法可以调用类方法也可以调用对象方法
C.实例方法也称为对象方法,可以调用其他类方法也可以调用其他对象方法
D.类方法中不能使用this关键字
4.下列叙述,正确的是( )。
A.匿名类不可以访问其所属类的成员
B.匿名内部类有类名
C.局部类是类声明,而匿名类是表达式
D.可以将一个类放在另外一个属性的定义内部
5.下面关于接口的描述中,错误的是( )。
A.一个类只允许实现一个接口
B.定义接口使用的关键字是interface
C.在实现接口的类中通常要给出接口中定义的抽象方法的具体实现
D.接口中的方法是抽象方法
6.下列哪个接口是Collection的子接口?( )。
A. List接口 B. Map接口
C. Iterator接口 D. 以上都不是
7.下列哪一项不属于Swing的顶层容器?( )。
A.JApplet B. JTree
C. JDialog D.JFrame
8.为了给JButton按钮b注册ActionEvent事件的监视器listen,下列说法正确的是( )。
A.b.addActionListener(listen) B.b.addItemListener(listen)
C.b.addKeyListener(listen) D.b.addWindowListener(listen)
9.下列流中哪个不属于字节流( )。
A.FileInputStream B.BufferedInputStream
C.FilterInputStream D.InputStreamReader
10.下列方法中,java.net.ServerSocket类用于接收客户端请求的方法是( )。
A. get( ) B. accept( )
C. receive( ) D. connect( )
二、填空题(本大题共5个小题,每空2分,共 10 分)
1.使用Iterator遍历集合时,可以调用 方法判断是否存在下一个元素,若存在下一个元素,则调用next()方法取出该元素。
2.Java语言在声明方法时,使用 关键字声明方法中抛出的异常类型。
3.在Java GUI编程中,javax.swing包中 是对单行文本进行编辑的组件。
4.Java语言中为了类的对象支持序列化,该类的定义中必须实现 接口。
5.在实现多线程的程序时,可以通过继承 类和实现Runnable接口来创建线程。
三、判断题(本大题共5 个小题,每小题 2 分,共10分,对的打“√”,错的打“×”)
1.用final修饰的类不能被继承。( )
2.一个Java源程序可有多个类,但只仅有一个public类,而且源程序名与public类名相同。 ( )
3.启动多线程必须调用start()方法, 如果调用run方法则没有启动新的线程。 ( )
4.自定义表格类中的model部分应实现的接口是TableModelable。 ( )
5.Java中,Reader和Writer 是以字符为数据读写单位的输入输出流的基类。 ( )
四、改错题(本大题共2 个小题,每小题5 分,共 10 分)
1.//使用类求两个整数之和
class Computer{
/***************************/
void add(int x,int y){
return x+y;
}
}
public class E_3 {
public static void main(String args[]){
Computer com = new Computer();
int m = 100;
int n = 200;
/*************************************/
int result = add(m,n);
System.out.println(result);
}
}
改成 ,
改成 。
2.//使用文件字节流读文件的内容
import java.io.*;
public class TestDemo{
public static void main(String args[]) {
int n=-1;
byte [] a=new byte[100];
try{ File f=new File("Test.txt");
/*************************************************/
InputStream in = new InputStream(f);
/**********************************************/
while((n=in.read(a,0,100))!=-1) {
String s=new String (a,0,n);
System.out.print(s);
}
in.close();
}
catch(IOException e) {
System.out.println("File read Error"+e);
}
}
}
改成 。
五、程序阅读题(本大题共3个小题,每小题 5分,共15 分)
1.写出程序的运行结果
public class TestDemo{
public static void main(String args[]){
String str="JAVA高端技术";
System.out.println(str.replaceAll("Java".toUpperCase(),"JavaEE"));
}
}
程序的输出是: 。
2.写出程序的运行结果
import java.util.Map;
import java.util.TreeMap;
public class TreeMapExample{
public static void main(String[] args) {
TreeMap<Integer, String> map = new TreeMap<>();
map.put(1, "Google");
map.put(3, "Facebook");
map.put(2, "Apple");
for (Map.Entry<Integer, String> entry : map.entrySet()) {
System.out.print(entry.getKey() + ":" + entry.getValue());
}
}
}
程序的输出是: 。
3.写出程序的功能。
import java.io.*;
public class ReadWrite {
public static void main(String[] args) throws IOException {
InputStreamReader inReader=new InputStreamReader(System.in);
BufferedReader bStream=new BufferedReader(inReader);
FileOutputStream fWrite=new FileOutputStream("E:\\student.txt",true);
String rString;
do {
System.out.println("\n Please enter:");
System.out.flush();
rString=bStream.readLine();
System.out.println("Hello User>This is:");
fWrite.write(rString.getBytes());
System.out.println(">"+rString);
}while(rString.length()!=0);
}
}
程序的功能是: 。
六、程序填空题(本大题共2个小题,每空3分,共15 分)
1.统计生成的整数中0,1,2...,20的出现的次数,并输出统计的结果。
public class Count{
public static void main(String[] args) {
int c[]=new int[21];
int i,ran;
for(i=0;i<c.length;i++) {
(1) ;
}
for(i=0;i<10000;i++) {
ran=(int)(Math.random()*20+0.5);
(2) ;
}
for(i=0;i<c.length;i++) {
System.out.println(i+"出现的次数是:"+c[i]);
}
}
}
- 定义一个Usb接口,在接口中定义抽象方法connect(),然后分别定义Mouse类去实现Usb接口中的connect() 方法。要求以ConnectUsb类为测试类。在测试类中,定义一个静态方法,然后将形参类型设置为接口类型,在方法体中通过接口引用调用connect() 方法。
(3) Usb {
void connect();
}
class Mouse (4) Usb {
public void connect() {
System.out.println("鼠标已连接usb接口");
}
}
public class ConnectUsb {
public static void main(String[] args) {
Mouse mouse = new Mouse();
(5) ;
}
public static void invoke_port(Usb usb) {
usb.connect();
}
}
七、编程题(本大题共2个小题,每小题 10 分,共20 分)
1.一个完整的Java Application 程序。包含MyRectangle类及Test类,具体要求如下:
(1)类 MyRectangle:
属性width: double类型,表示矩形的长
height: double类型,表示矩形的高
方法MyRectangle(double w, double h):构造函数
double getArea()方法:求一个矩形的面积
double getPerimeter()方法:求一个矩形的周长
(2)Test类作为主类要完成测试功能
生成MyRectangle对象
2.编程实现多态:编写Java程序,定义一个抽象Animal类,再创建子类Dog类和Cat类,另处再创建一个Student类,并完成图示功能。