《Java程序设计》课程试题A
一、选择题(每小题2分,共20分)
1、下面哪项在java中是不合法的标识符?()
A、$userB、point_3C、You&meD、、下列哪个布局管理器中的按钮位置有可能会根据Frame的大小改变而改变?()
A、BorderLayoutB、CardLayout
C、GridLayoutD、FlowLayout、下面关于类的说法错误的是()。
A、类是Java语言中的一种复合数据类型。
B、Java语言的类支持单继承和多继承。
C、类是对所有具有一定共性的对象的抽象。
D、类中包含数据变量和方法。 4、有整型数组:int[]x={2,33,88,5,10};,则调用方法Arrays.sort(x)后,数组x中的元素值依次是()。
A、88 33 10 5 2B、2 5 10 33 88
C、88 10 2 33 5D、5 33 2 10 88、下面关于事件监听的说明,哪一个语句是正确的?()
A、所有组件,都不允许附加多个监听器
B、如果多个监听器加在一个组件上,那么事件只会触发一个监听器
C、组件不允许附加多个监听器
D、监听器机制允许按照我们的需要,任意调用addXxxxListener方法多次,而且没有次序区别
、关于类继承的说法,正确的是()。
A、Java类允许多重继承B、Java接口允许多继承
C、接口和类都允许多继承D、接口和类都不允许多继承
7、在Java语言中,下列哪个包是编译器自动导入的?()
A、java.appletB、java.langC、java.ioD、java.awt、在Java中,关于CLASSPATH环境变量的说法不正确的是()。
A、CLASSPATH一旦设置之后不可修改,但可以将目录添加到该环境变量中。
B、编译器用它来搜索各自的类文件。
C、CLASSPATH是一个目录列表。
D、解释器用它来搜索各自的类文件。、下列哪种说法是正确的?()
A、私有方法不能被子类覆盖。
B、子类可以覆盖超类中的任何方法。
C、覆盖方法可以声明自己抛出的异常多于那个被覆盖的方法。
D、覆盖方法中的参数清单必须是被覆盖方法参数清单的子集。、下列描述中,错误的是()。
A、Java要求编程者管理内存。
B、Java的安全性体现在多个层次上。
C、Applet要求在支持Java的浏览器上运行。
D、Java内含多线程机制。publicclassTest1{
doublei;
booleanb;
publicstaticvoidmain(String[]args){
Test1t=newTest1();
System.out.println(t.i);
System.out.println(t.b);
}
}
程序二:
classTest2{
intx,y;
publicTest2(intx,inty){
this.x=x;
this.y=y;
}
publicTest2(intx){
this(x,10);
}
publicstaticvoidmain(String[]args){
Test2t=newTest2(5);
System.out.println("t.x="+t.x);
System.out.println("t.y="+t.y);
}
}
程序三:
classTest{
privateinti;
publicTest(intx){
i=x+30;
}
publicintf(){
returni;
}
};
classTest3extendsTest{
publicTest3(intm){
super(m);
}
publicstaticvoidmain(String[]args){
Test3t=newTest3(10);
System.out.println(t.f());
}
}
程序四:
publicclassTest4{
publicstaticvoidmain(String[]args){
Strings1="hello";
Strings2="hello";
if(s1==s2){
System.out.println("trueone");
}
if(s1.equals(s2)){
System.out.println("truetwo");
}
}
}
程序五:
publicclassTest5{
staticintx=10;
inty=11;
publicstaticvoidmain(String[]args){
Test5t1=newTest5();
Test5t2=newTest5();
t1.x=t1.x+1;
t1.y=t1.y+2;
t2.x=t2.x+3;
t2.y=t2.y+4;
System.out.println(t1.x);
System.out.println(t1.y);
System.out.println(t2.x);
System.out.println(t2.y);
}
}
程序六:
classParent{
inta=1;
voidf(){
System.out.println("A");
}
};
publicclassTest6extendsParent{
inta=2;
voidf(){
System.out.println("B");
}
publicstaticvoidmain(String[]args){
Parentt=newTest6();
System.out.println(t.a);
t.f();
}
}
四、编程题(每小题15分,共30分)
1、用多线程程序求1+2+3+4+…+10的值并输出。
要求:用下面2种创建线程的方法实现本程序:
扩展Thread类。
实现Runnable接口。
2、编写一个java类,名字为InputData,该类中包含2个静态方法:
(1)getChar():功能为从键盘上得到一个字符(可以是汉字);
(2)InputStreamReader、BufferedReader、IOException。
参考答案
一、选择题(每小题2分,共20分)
1—5CDBBD6—10BBAAA
二、简答题(每题5分,共20分)
//只要与本题的中心意思相符,即可得满分。
1、abstractclass是抽象类,类体里面可以包含一般方法和抽象方法。抽象类表示的是一个抽象概念,不能实例化对象。其子类可以实现其抽象方法后来实例化对象。
接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。接口只可以定义staticfinal成员变量。
2、(1)编写一个清单文件k.mf。
(2)利用清单文件k.mf把所有的.class文件打包成可执行的jar文件,如:a.jar。制作命令及过程为:jarcvfma.jark.mf.class
3、throw:是指抛出异常对象;throws:是指某个类可能产生某种异常。用于声明异常。
4、final:可以修饰类,表示最终类,此类不能有子类。
可以修饰函数,此函数不能被覆盖。
可以修饰成员变量,此变量不能被修改。
可以修饰引用,表示此引用表示的地址不能改变。
可以修饰数组,此数组代表的地址不能被修改。
三、阅读下面程序,写出运行结果(每小题5分,共30分)
1、0.0
false
2、this.x=5
this.y=10
3、40
4、trueone
truetwo
5、14
13
14
15
6、1
B
四、编程题(每小题15分,共30分)
本题的求解方法有多种,下面只是参考答案,只要能实现本题功能的都给15分。
//方法一代码:
publicclassTestThreadOneextendsThread{
publicstaticintsum=0;
publicvoidrun(){
for(inti=1;i<=10;i++){
sum=sum+i;
}
System.out.println("1+2+3+4+...+10="+sum);
}
publicstaticvoidmain(String[]args){
TestThreadOnet=newTestThreadOne();
t.start();
}
}
//方法二代码
publicclassTestThreadTwoimplementsRunnable{
publicstaticintmulti=1;
publicvoidrun(){
for(inti=1;i<=10;i++){
sum=sum+i;
}
System.out.println("1+2+3+4+...+10="+sum);
}
publicstaticvoidmain(String[]args){
TestThreadTwot=newTestThreadTwo();
Threadtt=newThread();
tt.start();
}
本题的求解方法有多种,下面只是参考答案,只要能实现本题功能的都给15分。
//InputData.java
importjava.io.;
publicclassInputData{
publicstaticchargetChar()throwsIOException{
System.out.println("请输入一个字符:");
InputStreamReaderin=newInputStreamReader(System.in);
charc=(char)in.read();
returnc; }
publicstaticStringgetString()throwsIOException{
System.out.println("请输入一个字符串:");
BufferedReaderin=newBufferedReader(newInputStreamReader(System.in));.3
Strings=in.readLine();
returns;
}
}
(第1页共5页)
|
|