java考试1打.docx
《java考试1打.docx》由会员分享,可在线阅读,更多相关《java考试1打.docx(13页珍藏版)》请在冰豆网上搜索。
java考试1打
一、主要内容:
标识符
关键字
变量占内存大小
Java执行:
后缀。
命令,生成.class文件
构造方法:
名字与类名字相同
二.试卷结构:
一、单项选择题(本大题共10小题,每小题2分,共计20分)
二、填空题(本大题共2小题,每空5分,共计10分)
三、简答题(本大题共4小题,每小题5分,共计20分)
五、设计题(本大题共5小题,每小题10分,共计50分)
试题练习:
阅读下面程序:
publicclassCycle{
publicstaticvoidmain(Stringargs[]){
System.out.println(args[0]);
}
}
在命令行中输入javaCycleonetwo,该程序输出结果是_B__。
A.CycleB.oneC.twoD.上述A、B、C均不对
下列关键字中可以表示常量的是__A_。
A.finalB.defaultC.privateD.transient
在Java Applet程序用户自定义的Applet子类中,常常重载__D_方法在Applet的界面中显示文字、图形和其它界面元素。
A.start()B.stop() C.init()D. paint()
StringBuffer类字符串对象的长度是__C_。
A.固定B.必须小于16个字符C.可变D.必须大于16个字符
下列语句中哪个是正确的语句__A_。
A.RandomAccessFileraf=newRandomAccessFile("myfile.txt","rw");
B.RandomAccessFileraf=newRandomAccessFile(newDataInputStream());
C.RandomAccessFileraf=newRandomAccessFile(newFile("myfile.txt"));
D.RandomAccessFileraf=newRandomAccessFile("myfile.txt");
如果在子类中使用被子类隐藏的父类的成员变量或方法,应使用关键字__C_。
A.thisB.classC.superD.superclass
MouseEvent对应的是_D__。
A.键盘事件B.窗口事件C.按钮事件D.鼠标事件
运行下列程序,会产生什么结果是__D_。
publicclassXextendsThreadimplementsRunnable{
publicvoidrun(){
System.out.println("thisisrun()");
}
publicstaticvoidmain(Stringargs[]){
Threadt=newThread(newX());
t.start();
}
}
A.第一行会产生编译错误B.第六行会产生编译错误
C.第六行会产生运行错误D.程序会运行和启动
12.在编写Java Application程序时,若需要使用标准输入输出语句,必须在程序的开头写上_C__语句。
A.importjava.awt.* ; B.importjava.applet.Applet;
C.importjava.io.* ; D.importjava.awt.Graphics;
TextFieldt=newTextField("theyaregood",40);是关于一个使用适当的字符间距的字体的TextField的表达式,___叙述是对的?
A.被显示的字符串可以使用多种字体
B.一行中最大的字符数是40
C.显示的宽度正好是40个字符宽
D.用户可以编辑字符
有关线程的叙述___是对的。
A.一旦一个线程被创建,它就立即开始运行。
B.使用start()方法可以使一个线程成为可运行的,并且会立即开始运行。
C.当一个线程因为抢先机制而停止运行,它被放在可运行队列的前面。
D.一个线程可能因为不同的原因停止(cease)并进入就绪状态。
下列哪个选项是创建一个标识有“打开”按钮的语句。
A.TextFieldnetwork11=newTextField("打开");
B.TextAreanetwork11=newTextArea("打开");
C.Checkboxnetwork11=newCheckbox("打开");
D.Buttonnetwork11=newButton("打开");
关于垃圾收集的叙述___是对的。
A.程序开发者必须自己创建一个线程进行内存释放的工作。
B.垃圾收集将检查并释放不再使用的内存。
C.垃圾收集允许程序开发者明确指定并立即释放该内存。
D.垃圾收集能够在期望的时间释放被java对象使用的内存。
以下___类不可以作为FileInputStream类的构造方法的参数。
A.InputStream
B.File
C.FileDescriptor
D.String
搜集
1、编译JavaApplication源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B)。
A.javaB..class
C.htmlD..exe
2、设x=1,y=2,z=3,则表达式y+=z--/++x的值是(A)。
A.3B.3.5
C.4D.5
3、不允许作为类及类成员的访问控制符的是(C)。
A.publicB.private
C.staticD.protected
4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(A)。
A.staticvoidmethod()B.publicvoidmethod()
C.finalvoidmethod()D.abstractvoidmethod()
1.Javaapplication中的主类需包含main方法,以下哪项是main方法的正确形参?
(B)
A、StringargsB、Stringar[]C、CharargD、StringBufferargs[]
2.以下关于继承的叙述正确的是(A)。
A、在Java中类只允许单一继承
B、在Java中一个类只能实现一个接口
C、在Java中一个类不能同时继承一个类和实现一个接口
D、在Java中接口只允许单一继承
3.paint()方法使用哪种类型的参数?
(A)
A、GraphicsB、Graphics2DC、StringD、Color
4.以下哪个不是Java的原始数据类型(B)
A、intB、BooleanC、floatD、char
5.以下哪项可能包含菜单条(B)。
A、PanelB、FrameC、AppletD、Dialog
6.若需要定义一个类域或类方法,应使用哪种修饰符?
()
A、staticB、packageC、privateAD、public
7.在浏览器中执行applet程序,以下选项中的哪个方法将被最先执行(A)。
A、init()B、start()C、destroy()D、stop()
8.给出下面代码,关于该程序以下哪个说法是正确的?
(C)
publicclassPerson{
staticintarr[]=newint[5];
publicstaticvoidmain(Stringa[])
{
System.out.println(arr[0]); }
}
A、编译时将产生错误B、编译时正确,运行时将产生错误
C、输出零D、输出空
9.下列哪些语句关于Java内存回收的说明是正确的?
(B)
A、程序员必须创建一个线程来释放内存
B、内存回收程序负责释放无用内存
C、内存回收程序允许程序员直接释放内存
D、内存回收程序可以在指定的时间释放内存对象
11.以下代码段执行后的输出结果为(A)
intx=-3;
inty=-10;
System.out.println(y%x);
A、-1B、2C、1D、3
12.有以下程序片段,下列哪个选项不能插入到行1。
(D)
1.
2.publicclassInteresting{
3.//dosth
4.}
A、importjava.awt.*;B、packagemypackage;
C、classOtherClass{}D、publicclassMyClass{}
13.设有下面两个赋值语句:
a=Integer.parseInt(“12”);
b=Integer.valueOf(“12”).intValue();
下述说法正确的是(D)。
A、a是整数类型变量,b是整数类对象。
B、a是整数类对象,b是整数类型变量。
C、a和b都是整数类对象并且值相等。
D、a和b都是整数类型变量并且值相等。
14.FilterOutputStream是BufferedOutputStream、DataOutputStream及PrintStream的父类,以下哪个类可能是FilterOutputStream构造函数的参数类型?
A
A、OutputStreamB、File
C、InputStreamD、BufferedOutputStream
15.在编写JavaApplet程序时,需在程序的开头写上(B)语句。
A、importjava.awt.*;B、importjava.applet.Applet;
C、importjava.io.*;D、importjava.awt.Graphics;
16.类Parent、Child定义如下:
1.publicclassParent
2.{publicfloataFun(floata,floatb)throws
3.IOException{}
4.}
5.publicclassChildextendsParent{
6.
7.}
将以下哪种方法插入行6是不合法的。
(A)
A、floataFun(floata,floatb){}
B、publicintaFun(inta,intb)throwsException{}
C、publicfloataFun(floatp,floatq){}
D、publicintaFun(inta,intb)throwsIOException{}
17.在使用interface声明一个接口时,只可以使用(D)修饰符修饰该接口。
A、privateB、protectedC、privateprotectedD、public
18、有以下方法的定义,请选择该方法的返回类型(D)。
ReturnTypemethod(bytex,doubley)
{
return(short)x/y*2;
}
A、byteB、shortC、intD、double
19、关于以下代码段的说法正确的是(D)
1.Strings="abcde";
2.StringBuffers1=newStringBuffer("abcde");
3.if(s.equals(s1))
4.s1=null;
5.if(s1.equals(s))
6.s=null;
A、第1行编译错误,String的构造器必须明确调用
B、第3行编译错误,因为s与s1有不同的类型
C、编译成功,但执行时在第5行有异常抛出
D、编译成功,过程中也没有异常抛出
20、编译并运行以下程序,以下描述哪个选项是正确的(C)
1.classX{
2.protectiedStringtoString()i{
3.returnsuper.toString();}
4.}
A、编译通过运行无异常B、编译通过但运行时出错
C、行2出错,不能成功编译D、不能成功编译,行3出错
二、程序填空题
1.publicclassSum{
publicstaticvoidmain(String[]args){
intj=10;
System.out.println("jis:
"+j);
calculate(j);
System.out.println("Atlast,jis:
"+j);
}
staticvoidcalculate(intj){
for(inti=0;i<10;i++)
j++;
System.out.println("jincalculate()is:
"+j);
}
}
输出结果为:
jis:
(1)
jincalculate()is:
(2)
Atlastjis:
(3)
答案:
(1)10;
(2)20;(3)10。
2.按要求填空
abstractclassSuperAbstract{
voida(){…}
abstractvoidb();
abstractintc(inti);
}
interfaceAsSuper
{
voidx();
}
abstractclassSubAbstractextendsSuperAbstractimplementsAsSuper
{
publicvoidb(){…}
abstractStringf();
}
publicclassInheritAbstractextendsSubAbstract{
publicvoidx(){…}
publicintc(inti){…}
publicStringf(){…}
publicstaticvoidmain(Stringargs[]){
InheritAbstractinstance=newInheritAbstract();
instance.x();
instance.a();
instance.b();
instance.c(100);
System.out.println(instance.f());
}
}
在以上这段程序中:
抽象类有:
SuperAbstract和
(1) (写出类名)
非抽象类有:
(2) (写出类名)
接口有:
(3) (写出接口名)
AsSuper中的x()方法是(4)方法,所以在InheritAbstract中必须对它进行(5)
答案:
(1)SuperAbstract;
(2)InheritAbstract;
(3)AsSuper;
(4)抽象;
(5)覆盖和实现。
3.按注释完成程序
publicclassLeaf{
privateinti=0;//此属性值用于检验
Leafincrement(){//定义方法increment(),返回值是Leaf类的对象
i++;
return
(1);//将当前对象的地址作为返回值返回
}
voidprint(){
System.out.println("i="+i);
}
publicstaticvoidmain(Stringargs[]){
Leafx=
(2);//创建Leaf类的对象x
x.increment().increment().increment().print();
}//多次调用方法increment(),返回的都是x的地址,i值表示调用次数
}
输出结果为i=(3)
答案:
(1)this;
(2)newLeaf();
(3)3
4. 按注释提示完成文件复制的程序
//FileStream源代码如下:
importjava.io.*;
classFileStream{
publicstaticvoidmain(Stringargs[]){
try{
FileinFile=newFile("file1.txt");//指定源文件
FileoutFile=newFile("file2.txt");//指定目标文件
FileInputStreamfis=
(1);
FileOutputStreamfos=newFileOutputStream(outFile);
intc;
//逐字节从源文件中输入,再输出到fos流
while((c=fis.read())!
=-1)
(2);
fis.close();
fos.close();
}
catch(Exceptione){
System.out.println("FileStreamsTest:
"+e);
}
}
}
答案:
(1)newFileInputStream(inFile);
(2)fos.write(c);
三、
1.垃圾收集机制
2.抽象类与接口
3.String中的方法
请写出你所掌握的String类中的一些常用方法(至少写五个)。
1、字符串长度和空判断
intlength();
booleanisEmpty();
2、大小写转换
StringtoLowerCase();
StringtoUpperCase();
3、连接字符串
Stringconcat(Stringstr);
4、去除字符串前后空白
Stringtrim();
5、拆分字符串
String[]split(Stringregex);
4.Applet与application的异同
5.抽象类与接口的区别
根据你的理解,请解释Java的抽象类与接口的异同。
接口里不能有任何一个已经实现了的方法,而抽象类则是,只要有一个没有实现了的方法,就是抽象类。
可以简单的说,接口就是一种特殊的抽象类
6.堆与栈的区别
7.重写与重载
根据你的理解,请说明java中重载与重写的异同。
重载:
是一个类中声明了多个同名的方法,但有不同的参数个数和参数类型。
重写:
父类与子类之间的多态性,对父类的函数进行重新定义。
如果在子类中定义某方法与其父类有相同的名称和参数
8.static与final
请说明java中static关键字与final关键字的用法。
static关键字
当声明一个事物是static时,就意味着这个域或方法不会与包含它的那个类的任何对象实例关联在一起。
所以即使从没创建某个类的对象的任何对象,也可以调用其static方法或者访问其static域。
1.final数据
对于基本类型final使数值恒定不变,而对于对象引用,final使引用恒定不变,一旦引用被初始化指向一个对象,就无法再把它改为指向另一个对象。
final类不能被继承,没有子类,final类中的方法默认是final的。
final方法不能被子类的方法覆盖,但可以被继承。
final成员变量表示常量,只能被赋值一次,赋值后值不再改变。
final不能用于修饰构造方法
若inta=2,b=1,booleanc,c=(a>=1)||(b++<888),执行后b的值
答案:
1
以下程序的运行结果是:
_1518__。
publicclassTestPrivate{
inta,b;
privatevoidfun(){
a=100;b=200;
}
publicstaticvoidmain(Stringargs[]){
inta=15,b=18;
TestPrivatex=newTestPrivate();
x.fun();
System.out.println(""+a+b);
}
}
以下程序的运行结果是:
trues1==s2___。
classStringTest1{
publicstaticvoidmain(String[]args){
Strings1="hello";
Strings2="hello";
if(s1==s2)
System.out.println("true");
if(s1.equals(s2))
System.err.println("s1==s2");
else
System.out.println("s1!
=s2");
}
}
四.程序设计,九九乘法表素数(判断一个数是否是素数,1000-1500所有素数)闰年(2000到3000年)
多态Applet输入输出流读数据