判断题
1、当用javac命令对一个Java源程序进行编译时,必须写出该源程序的完整文件名,不能省略扩展名.java。( √)
2、在Java语言中,编程时不用区分字母的大小写。( × )
3、在异常处理中,出现异常和抛出异常是一回事。(× )
4、当线程类所定义的run()方法执行完毕,线程的运行就会终止。( ×)
5、抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。( ×)
6、接口不可继承接口。(√ )
7、静态方法只能处理静态变量。( × )
8、Java语言中,方法调用一律都是传址的引用调用。(× )
9、对象可作方法参数,对象数组不能做方法参数。(× )
10、使用try-catch-finally语句只能捕获一个异常。(× )
选择题
1、Java语言的( )包是编译器自动导入的。
A. java.lang B. Java.io C.java.awt D. java.applet
2、在一个Java源文件中,( )类最多只有一个。
A. private B. public C. protected D. friendly
3、为了区分类中重载的同名的不同方法,要求( )。
A. 采用不同的形式参数列表 B. 返回值类型不同 C.调用时用类名或对象名做前缀 D. 参数名不同
4、定义类头时,不可能用到的关键字是( )。
A. class B.private C.extends D.public
5、下列是Java语言中的复合数据类型,其中错误的是( )。
A.数组 B.接口 C.枚举 D.类
6、下列循环语句中,循环体被执行的次数为( )。
For( int i=0,j =0;(j!=18)||(i<4);i++);
A. 3 B. 4 C. 不确定 D.无限
7、在成员方法的访问控制修饰符中,规定访问权限包含该类自身、同包的其他类和其他包的该类子类的修饰符是( )。
A.public B.private C.默认 D.protected
8、下列关于构造方法的特点的描述中,错误的是( )。
A.在类体内说明静态方法使用关键字static
B.静态方法只能处理静态变量或调用静态方法
C.静态方法不占用对象的内存空间,非静态方法占用对象的内存空间
D.静态方法只能用类名调用
9、下列关于子类继承父类的成员的描述中,错误的是( )。
A.子类会继承父类中的所有成员,且可以直接访问
B.子类中定义有与父类同名变量时,子类继承父类的操作中,使用继承父类的变量;子类执 行自己的操作中,使用自己定义的变量
C.当子类中出现成员方法头与父类方法头相同的方法时,自类成员方法覆盖父类中的成员方 法
D.方法重载时编译时处理的,而方法覆盖时在运行式处理的
10、下列关于接口的描述中,错误的是( )。
A…接口实际上是由常量和抽象方法构成的特殊类
B.一个类只允许实现一个接口
C.定义接口使用的关键字是interface
D.在继承接口的类中通常要给出接口中定义的抽象方法的具体实现
11、下列常用包中,存放用户图形界面类库的包是( )。
A. java.awt B java.lang C.java.util D java.io
12、下列关于try-catch-finally语句的描述中,错误的是( )。
-
try语句里的程序段将给出处理异常的语句
-
catch()方法 跟在try语句后面,它可以是一个或多个
-
catch()方法有一个参数,该参数是某种异常类的对象
D.finally语句后面的程序段总是被执行的
13、下面的关键词和方法( ),不是线程同步所需要的。
A. synchronized B. wait() C. notify() D. sleep()
14、实现字符流的读操作类是( )。
A. FileInputStream B. FileOutputStream
C. FileReader D. Writer
15、若要定义一个int类型常量EXIT_ON_CLOSE,正确的语句是( )
A.final int EXIT_ON_CLOSE=3; B . const int EXIT_ON_CLOSE=3;
C. int EXIT_ON_CLOSE=3; D. abstract int EXIT_ON_CLOSE=3;
填空题
1、当安装JDK后,Java开发工具在____JDK[安装目录下的bin文件夹__目录下。
2、一个完整的Java应用程序由一个或多个类组成,其中,Java Application至少有一个主类,这个类中包含一个名为 main的方法。
3、Java 语言的接口是特殊的类,其中包含______常量和_______抽象方法。
4、Java语言中,表示一个类不能再被继承的关键字是____finally____。
5、执行以下程序段后:a =__ 6_, b = 18 。 程序段如下: int a = 5, b; b = ++a * 3;
6、执行语句“String s=”c:\a.txt”;”之后,字符串s的长度是 8
7、语句既可用于从switch语句的分支中跳出,也可用于从循环内部跳出。___break___
8、BorderLayout布局管理器把容器分成 ___5___个区域。
程序补全题
1、使用JTextArea实现一个文本输入区,初始文本为”Hello”,文本区的行数和列数都为20,将下列程序补充完整。
import javax.swing.*;
public class Aa{
public static void main(String args[]){
JFrame frame=new JFrame(“文本显示”);
JLabel label=new JLabel(“初始文本为:”);
JTextArea text=new______空1_____ ;
frame.____空2_____.add(label,”North”);
frame.getContentPane().add(____空3____,”Center”);
frame.setSize(200,200);
frame.setVisible(true);}}
答案:
空1:JTextArea(”hello“)
空2:getContentPane()
空3:text
2、在以下程序中,填空补充相应代码使程序可以成功编译并执行,程序执行后输出的结果为”Thread Demo1.run()”和”Thread Demo2.run()”。
class Demo1 implements ______空1_____{
pulbic void run(){
System.out.println(“Thread Demo1.run()”);
}
}
class Demo2 extends _____空2______ {
pulbic void run(){
System.out.println(“Thread Demo2.run()”);
}
}
public class ThreadTest{
public static void main(String args[]){
Thread t1=new Thread(new Demo1());
Demo2 t2=new _____空3_____;
t1.start();
t2.start();
}
}
答案:
空1:Runnable
空2:Thread
空3:Demo2( )
读程序写结果
第一题
class A{
double f(int x,double y){
return x+y;
}
int f(int x,int y){
return x*y;
}
}
public class E{
public static void main(String args[]){
A a=new A();
System.out.println(a.f(10,10));【代码1】
System.out.println(a.f(10,10.0));【代码2】
}
}
答案:
第二题
public class B{
public static void main(String args[]){
String path="c:\\book\\javabook\\Java Programmer.doc";
int index=path.indexOf("\\");
index=path.indexOf("\\",index);
String sub=path.substring(index);
System.out.println(sub); //【代码1】
index=path.lastIndexOf("\\");
sub=path.substring(index+1);
System.out.println(sub); //【代码2】
System.out.println(sub.contains("Programmer")); //【代码3】
}
}
答案:
第三题
import java.util.*;
public class Main {
public static void main(String[] args){
List list = new ArrayList();
list.add("Hello");
list.add("world");
list.add("Hello");
list.add("learn");
list.remove("Hello");
list.remove(0);
for (int i= 0; i<list.size();i++){
System.out.println(list.get(i));
}
}
}
答案: