《Java程序设计》复习题.docx
《《Java程序设计》复习题.docx》由会员分享,可在线阅读,更多相关《《Java程序设计》复习题.docx(32页珍藏版)》请在冰点文库上搜索。
《Java程序设计》复习题
《Java程序设计》复习题
一、选择题:
1.哪个关键字可以抛出异常?
A、transientB、finallyC、throw D、static
2.对于下列代码:
Stringstr1="java";
Stringstr2="java";
Stringstr3=newString("java");
StringBufferstr4=newStringBuffer("java");
以下表达式的值为true的是
A)str1==str2;B)str1==str4;
C)str2==str3;D)str3==str4;
3.Java的核心包中,提供编程应用的基本类的包是。
A.java.langB.java.utilC.java.appletD.java.rmi
4.下面程序段的输出结果是
StringBufferbuf1=newStringBuffer();
System.out.println(buf1.length);
A.0B.nullC.16D.8
5.在编译Java程序时,用于指定生成.class文件位置的选项是。
A.-gB.-dC.-verboseD.-vonarn
6.不匹配正则表达式“a?
b+[.,:
]\\d”的字符串是。
A.abb.3B.bb:
2C.ab,dD.bbb.4
7.在方法内部使用,代表对当前对象自身引用的关键字是。
A.superB.ThisC.SuperD.this
8.在读取二进制数据文件的记录时,为了提高效率常常使用的一种辅助类是。
A.InputStreamB.FileInputStream
C.BufferedInputStreamD.BufferedReader
9.下列事件监听器中,无法对TextField对象进行事件监听和处理的是。
A.ActionListenerB.FocusListener
C.MouseMotionListenerD.WindowListener
10.在java语言中,下列表达式返回true的是哪些项目。
()
A."hello"=="hello"B."word".equals("word")
C."john"="john"D."john".equals(newButton("john"))
11.整型数据类型中,需要内存空间最少的是。
A.shortB.longC.intD.byte
12.下列标识符(名字)命名原则中,正确的是。
A.类名的首字母小写B.变量和方法名的首字母大写
C.接口名的首字母小写D.常量完全大写
13.Java中定义常量的保留字是。
A.constB.finalC.finallyD.native
14.在调用方法时,若要使方法改变实参的值,可以。
A.用基本数据类型作为参数B.用指针作为参数
C.用对象作为参数D.以上都不可以
15.下列有关Java布尔类型的描述中,正确的是。
A.一种基本的数据类型,它的名称为booleanB.用int表示类型
C.其值可以赋给int类型的变量D.有两个值:
1代表真,0代表假
16.Java中所有类的父类是。
A.FatherB.LangC.ExceptionD.Object
17.容器被重新设置大小后,哪种布局管理器的容器的组件大小不随容器大小变化而改变?
A.CardLayoutB.FlowLayoutC.BorderLayoutD.GridLayout
18.下列包中,包含Scanner类的是。
A.javax.swingB.java.langC.java.utilD.java.applet
19.用于在子类中调用被重写父类方法的关键字是。
A.thisB.superC.ThisD.Super
20.Java中的抽象类Reader和Writer所处理的流是。
A.图像流B.对象流C.字节流D.字符流
21.javaSwing中下列哪个类中方法能提供消息对话框。
A.AWTB.JFrameC.JOptionPaneD.JDialog
22.下列为窗口事件的是。
A.MouseEventB.WindowEventC.ActionEventD.KeyEvent
23.用鼠标点击菜单项(MenuItem)产生的事件是。
A.MenuEventB.ActionEventC.KeyEventD.MouseEvent
24.可以获得文件file.txt的父目录名。
A.Stringname=File.getParentName(“file.txt”);
B.Stringname=(newFile(“file.txt”)).getParent();
C.Stringname=(newFile(“file.txt”)).getParentName();
D.Stringname=(newFile(“file.txt”)).getParentFile();
25.可以构建一个BufferedStream流。
A.newBufferedInputStream(“in.txt”);
B.newBufferedInputStream(newFile(“in.txt”));
C.newBufferedInputStream(newInputStream(“in.txt”));
D.newBufferedInputStream(newFileInputStream(“in.txt”));
26.将长整型(long)数据转换为较短的整数类型(int)数据,要进行。
A.类型的自动转换B.类型的强制转换
C.无需转换D.无法实现
27.下列特点中不属于Java的是。
A.多线程B.多继承C.跨平台D.动态性
28.下列标识符定义中,不合法的是。
A.int$x;B.int_123;C.intSum_2;D.int#dim;
29.java中用来抛出异常的关键字是
A、tryB、catchC、throwD、finally
30.类变量必须带有的修饰符是。
A.staticB.finalC.publicD.volatile
31.下列选项中属于字符串常量的是。
A.’abc’B.”abc”C.[abc]D.(abc)
32.Java程序默认引用的包是。
A.java.ext包B.java.awt包C.java.lang包D.java.util包
33.当方法遇到异常又不知如何处理时,下列哪种说法是正确的()
A、捕获异常 B、抛出异常
C、声明异常 D、嵌套异常
34.下列数组a中,版本较新的能在程序运行时动态调整大小的是()。
.
A.inta[]B.String[]aC.a=newArrayList()D.a=newArray()
35.下列方法中,与方法publicvoidadd(inta){}为合理重载的方法是:
。
A.publicintadd(inta)B.publicvoidadd(longa)
C.publicvoidadd(inta)D.publicvoidadd(inta,intb)
36.在java语言中,下列表达式返回true的是哪些项目。
()
A)"hello"=="hello"B)"word".equals("word")
C)"john"="john"D)"john".equals(newButton("john"))
37.下列有关文件和标准File类的说法中,错误的是。
A.File类在java.io包中定义,用于处理文件,还可以获取各类与文件相关的信息。
B.File类用于获取或设置文件属性,并支持从文件中读取或往文件中写入数据的功能。
C.Java中目录也被当成一种文件进行处理。
D.文件是许多程序的基本数据源点和终点。
38.JFrame的默认布局管理器是。
A.BorderLayoutB.FlowLayoutC.GridLayoutD.PanelLayout
39.Java中类ObjectOutputStream支持对象的写操作,这是一种字节流,它的直接父类是。
A.WriterB.DataOutputC.OutputStreamD.ObjectOutput
40.下列事件表明在一个java.awt.Component构件之上有一个按键按下。
A.KeyEventB.KeyDownEventC.KeyPressEventD.KeyTypedEvent
41.创建一个监听类,当鼠标移动时,它可以接受事件。
A.通过继承MouseListener接口B.通过实现MouseListener接口
C.通过继承MouseMotionListener接口D.通过实现MouseMotionListener接口
42.请说出下列代码的执行结果:
Strings="abcd";
Strings1=newString(s);
if(s==s1)System.out.println("thesame");
if(s.equals(s1))System.out.println("equals");
A. thesameequalsB. equals
C. thesameD. 什么结果都不输出
43.下列有关Java中接口的说法是正确的?
A. 接口中含有具体方法的实现代码
B. 若一个类要实现一个接口,则用到“implements”关键字
C. 若一个类要实现一个接口,则用到“extends”关键字
D. 接口不允许继承
44.下列代码的执行结果是?
Strings1="aaa";
s1.concat("bbb");
System.out.println(s1);
A. Thestring"aaa".B. Thestring"aaabbb".
C. Thestring"bbbaaa".D. Thestring"bbb".
45.如果有一个对象myListener(其中myListener对象实现了ActionListener接口),下列哪条语句使得myListener对象能够接受处理来自于smallButton按钮对象的动作事件?
A. smallButton.add(myListener);
B. smallButton.addListener(myListener);
C. smallButton.addActionListener(myListener);
D. smallButton.addItem(myListener);
46、设x=1,y=2,z=3,则表达式y+=z--/++x的值是。
A.3B.3.5C.4D.5
47、不允许作为类及类成员的访问控制符的是。
A.publicB.privateC.staticD.protected
48、为AB类的一个无形式参数无返回值的方法书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为。
A.staticvoidmethod()B.publicvoidmethod()
C.finalvoidmethod()D.abstractvoidmethod()
49、main方法是JavaApplication程序执行的入口点,关于main方法的方法头以下哪项是合法的?
A、publicstaticvoidmain()
B、publicstaticvoidmain(Stringargs[])
C、publicstaticintmain(String[]arg)
D、publicvoidmain(Stringarg[])
50、声明并创建一个标签对象b,应该使用的语句是
A、Labelb=newLabel("hello");B、labelb=newlabel("hello");
C、Labelb=newb("hello");D、b.setLabel("hello");
二、填空题
1.捕获异常的统一出口通过_________语句实现。
2.用于在子类中调用被重写父类方法的关键字是。
3.Java语言对简单数据类型进行了类包装,int对应的包装类是。
4.若类声明时加上修饰符,则表示该类不能有子类。
5.对于重载的方法,Java运行时系统根据调用方法的的类型来决定调用哪个方法。
6.类方法不但可以由对象调用,还可以由调用。
7.Calendar类的static方法可以初始化一个Calendar对象。
8.Throwable类有两个子类:
_______类和Exception类。
9.Java中的抽象类Reader和Writer所处理的流是。
10.数组声明后,必须使用运算符分配内存空间。
11.Java中用修饰的成员变量不能被不同包中的类访问。
12.用鼠标点击菜单项(MenuItem)产生的事件是。
13.一个类只有实现了接口,它的对象才是可串行化的。
14.String类和StringBuffer类的区别是。
15.FileInputStream类用于打开一个输入文件,实现对本地文件系统中文本文件进行顺序访问。
在创建它的实例时,若指定文件名或文件的路径不正确,将引起文件不能读出的错误,系统会抛出异常。
16.RandomAccessFile所实现的接口是____和DataOutput接口。
17.子类如果想用父类的构造方法,必须在子类的构造方法中用关键字调用。
18.Java程序默认引用的包是。
19.Java中类可以用来建立多行文本区。
20.Java对象串行化技术,主要是通过ObjectInputStream类和类来实现。
21.Java不直接支持多继承,但可以通过实现多继承。
22.JavaSwing中通过类的方法提供文件对话框。
23.java中一个类通过使用关键字声明自己使用一个或多个接口。
24.接口中的方法的默认访问权限是。
25.在方法体中抛出异常的语句是语句。
26.Java的类库中提供Throwable类来描述异常,它有Error和两个直接子类。
27、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用字节内存空间,这样,无论是中文字符还是英文字符,都是占用字节内存空间。
28、设x=2,则表达式(x++)/3的值是。
29、若x=5,y=10,则x=y的逻辑值分别为和。
30、方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。
方法是不能被当前类的子类重新定义的方法。
31、创建一个名为MyPackage的包的语句是,该语句应该放在程序的位置为:
。
32、设有数组定义:
intMyIntArray[]={10,20,30,40,50,60,70};则执行以下几个语句后的输出结果是。
ints=0;
for(inti=0;iif(i%2==1)
s+=MyIntArray[i];
System.out.println(s);
33、在Java程序中,通过类的定义只能实现重继承,但通过接口的定义可以实现重继承关系。
三、判断题
1.如果异常发生时,没有捕获异常的代码,程序会正常执行。
()
2.Java源程序文件中是不区分字母的大小写的。
()
3.可以用new来创建一个类的实例,即"对象"。
()
4.语句String[]s=newString[10];执行后,s[0]为未定义。
()
5.Java的接口方法必须声明成public。
()
6.Java中缺省浮点型是float。
()
7.protected修饰的类成员只能被其子类访问。
()
8.Java可以在方法内定义内部类。
()
9.在构造方法中调用super()语句,必须使其成为构造方法的第一条语句。
()
10.StringBuffer类型的字符串是常量字符串,其值不能被改变。
()
11.子类可以继承父类所有的成员变量及成员方法。
()
12.Pattern类的作用是提供类似c++的类模板。
()
13.重写后的方法的访问权限不能比被重写的方法的访问权限大。
()
14.Java的GUI机制中对事件的处理是采用委托方式进行的。
()
15.重写后的方法与被重写的方法的返回值可以不一样。
()
16.内部类可以访问它所在类中的所有成员变量和方法。
()
17.扩展的适配器类允许只重写想要使用的特定方法。
()
18.程序中抛出异常时(throw…),只能抛出自己定义的异常对象。
()
19.BorderLayout布局管理器使用的是组件的最佳尺寸(preferredsize)。
()
20.抽象类中只能有抽象方法,不能包含非抽象的方法。
()
21.实现一个接口的非抽象类中一定要实现接口中的所有方法。
()
22.一个类可以实现多个接口。
()
23.定义在接口中的常量都默认为public、static和final。
()
24.break语句可以用在循环和switch语句中。
()
25.FileInputStream可以作为BufferedInputStream的参数。
()
26.在使用BorderLayout时,最多可以放入五个组件。
()
27.Date类在java.lang包中。
()
28.RandomAccessFile并不是单纯的输入或输出流,它的直接父类是File类。
()
.在Swing用户界面的程序设计中,面板是分层的。
()
四、阅读程序,写出程序的运行结果
1.publicclassTest{
1publicstaticvoidmain(String[]a){
2inti=Integer.parseInt(a[0]);
3switch(i){
4case1:
System.out.println("Fristseason");break;
5case2:
System.out.println("Secondseason");
6case3:
System.out.println("3thseason");break;
7case4:
System.out.println("Lastseason");
8}
9}
10}
上面的程序编译是否成功?
如果编译出错,指出哪行出错,并说明理由;如果编译正确,用javaTest2运行得到的输出结果是什么?
2.publicclassPrintTest{
publicstaticvoidmain(Stringargs[]){
inta=4,b=6,c=8;
Strings="abc";
System.out.println(a+b+s+c);
System.out.println();
}
}
给出程序运行结果
3.publicclassTest{
1)publicstaticvoidmain(String[]args){
2)intx,y=2,i=0,j=0;
3)if(args.length<2)System.exit(-1);
4)x=Integer.parseInt(args[1]);
5)switch(x){
6)case2:
switch(y){
7)case1:
i++;break;
8)case2:
j++;break;
9)default:
i++;j++;
10)}
11)case3:
i++;j++;break;
12)default:
i++;j++;
13)}
14)System.out.println("i="+i);
15)System.out.println("j="+j);
16)}
17)}
上面的程序编译是否成功?
如果编译出错,指出哪行出错,并说明理由;如果编译正确,用javaTest123运行得到的运行结果是什么?
4.publicclassMultiplyList{
publicstaticvoidmain(String[]args){
Stringoutput="";
blabel:
for(introw=1;row<=9;row++){
for(intcol=row;col<=9;col++){
if(row<8)continueblabel;
output+=col+"*"+row+"="+(row*col)+"";
}
output+="\n";
}
System.out.println(output);
System.exit(0);
}
}
给出程序运行结果
5.下面的程序TestMonth.java:
publicclassTestMonth{
publicstaticvoidmain(String[]args){
try{
intmonth=Integer.parseInt(args[0]);
if(month<0||month>12){
thrownewArithmeticException("没有"+month+"月份!
");
}
System.out.println("您输入的月份为"+month+"月份");
}catch(ArrayIndexOutOfBoundsExceptione){
System.out.println("请输入月份!
");
}catch(ArithmeticExceptione){
System.out.println("捕获ArithmeticException异常");
System.out.println(e.toString());
}
}
}
已知ArrayIndexOutOfBoundsException和ArithmeticException