《JAVA核心技术》基础试题.docx
《《JAVA核心技术》基础试题.docx》由会员分享,可在线阅读,更多相关《《JAVA核心技术》基础试题.docx(14页珍藏版)》请在冰豆网上搜索。
《JAVA核心技术》基础试题
《JAVA编程初步》测试题
一、选择题
1、关于被私有保护访问控制符privateprotected修饰的成员变量,以下说法正确的是()。
A、可以被三种类所引用:
该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
B、可以被两种类访问和引用:
该类本身、该类的所有子类
C、只能被该类自身所访问和修改
D、只能被同一个包中的类访问
2、以下代码段将创建()个对象。
Strings1="bc";
Strings2="bc";
A、0B、1C、2D、3
3、编译并运行以下程序,以下描述哪个选项是正确的()
1:
classX{
2:
protectedStringtoString(){
3:
return();}
4:
}
A、编译通过运行无异常B、编译通过但运行时出错
C、行2出错,不能成功编译D、不能成功编译,行3出错
4、下列关于修饰符混用的说法,错误的是()
5、A、abstract不能与final并列修饰同一个类
6、B、abstract类中不可以有private的成员
7、C、abstract方法必须在abstract类中
8、D、static方法中能处理非static的属性
9、容器Panel和Applet缺省使用的布局编辑策略是()
10、A、BorderLayoutB、FlowLayoutC、GridLayoutD、CardLayout
11、以下标识符中哪项是不合法的()
A、BigMeaninglessNameB、$int
C、1stD、$1
12、main方法是JavaApplication程序执行的入口点,关于main方法的方法头以下哪项是合法的()
A、publicstaticvoidmain()
B、publicstaticvoidmain(String[]args)
C、publicstaticintmain(String[]arg)
D、publicvoidmain(Stringarg[])
13、执行完以下代码int[]x=newint[25];后,以下哪项说明是正确的()
A、x[24]为0B、x[24]未定义C、x[25]为0D、x[0]为空
14、以下代码段执行后的输出结果为()
intx=3;inty=10;
、0B、1C、2D、3
10、以下哪个表达式是不合法的()
A、Stringx="Hello";inty=9;x+=y;
B、Stringx="Hello";inty=9;if(x==y){}
C、Stringx="Hello";inty=9;x=x+y;
D、Stringx=null;inty=(x!
=null)&&()>0):
0
11、编译运行以下程序后,关于输出结果的说明正确的是()
publicclassConditional{
publicstaticvoidmain(Stringargs[]){
intx=4;
"valueis"+((x>4):
9));
}
}
A、输出结果为:
valueisB、输出结果为:
valueis9
C、输出结果为:
valueisD、编译错误
12、以下声明合法的是()
A、defaultStrings;B、publicfinalstaticnativeintw()
C、abstractdoubled;D、abstractfinaldoublehyperbolicCosine()
13、关于以下application的说明,正确的是()
1:
classStaticStuff
2:
{
3:
staticintx=10;
4:
static{x+=5;}
5:
publicstaticvoidmain(Stringargs[])
6:
{
7:
"x="+x);
8:
}
9:
static{x/=3;}
10:
}
A、4行与9行不能通过编译,因为缺少方法名和返回类型
B、9行不能通过编译,因为只能有一个静态初始化器
C、编译通过,执行结果为:
x=5
D、编译通过,执行结果为:
x=3
14、关于以下程序代码的说明正确的是()
1.classHasStatic{
2.privatestaticintx=100;
3.publicstaticvoidmain(Stringargs[]){
4.HasStatichs1=newHasStatic();
5.++;
6.HasStatichs2=newHasStatic();
7.++;
8.hs1=newHasStatic();
9.++;
10.-;
11."x="+x);
12.}
13.}
A、5行不能通过编译,因为引用了私有静态变量
B、10行不能通过编译,因为x是私有静态变量
C、程序通过编译,输出结果为:
x=103
D、程序通过编译,输出结果为:
x=102
15、以下选项中循环结构合法的是()
A、while(inti<7)
{i++;
"iis"+i);
}
B、intj=3;
while(j)
{"jis"+j);
}
C、intj=0;
for(intk=0;j+k!
=10;j++,k++)
{"jis"+j+"kis"+k);
}
D、intj=0;
do{
"jis"+j++);
if(j==3){continueloop;}
}while(j<10);
16、类Test1定义如下:
1.publicclassTest1{
2.publicfloataMethod(floata,floatb){}
3.
4.}
将以下哪种方法插入行3是不合法的。
()
A、publicfloataMethod(floata,floatb,floatc){}
B、publicfloataMethod(floatc,floatd){}
C、publicintaMethod(inta,intb){}
D、privatefloataMethod(inta,intb,intc){}
17、类Test1、Test2定义如下:
1.publicclassTest1
2.{publicfloataMethod(floata,floatb)throws
3.IOException{}
4.}
5.publicclassTest2extendsTest1{
6.
7.}
将以下哪种方法插入行6是不合法的。
()
A、floataMethod(floata,floatb){}
B、publicintaMethod(inta,intb)throwsException{}
C、publicfloataMethod(floatp,floatq){}
D、publicintaMethod(inta,intb)throwsIOException{}
18、关于以下程序段,正确的说法是()
1.Strings1="abc"+"def";
2.Strings2=newString(s1);
3.if(s1==s2)
4."==succeeded");
5.if(s2))
6.".equals()succeeded");
A、行4与行6都将执行B、行4执行,行6不执行
C、行6执行,行4不执行D、行4、行6都不执行
19、以下说法哪项是正确的()
1.classMyListener
2.extendsMouseAdapterimplementsMouseListener{
3.publicvoidmouseEntered(MouseEventmev)
4.{"Mouseentered.");}
5.}
A、以上代码可通过编译
B、不能通过编译,因为没有实现MouseListener接口中的所有方法
C、不能通过编译,因为类头定义不能分行
D、能通过编译,若组件用该类作为Mouse的监听者并且接收了mouse-exited事件,则在执行过程中会抛出异常
20、关于以下程序段的说法,正确的是()
1:
classMyListenerimplements
2:
ActionListener,ItemListener{
3:
publicvoidactionPerformed(ActionEventae){
4:
"Action");}
5:
publicvoiditemStateChanged(ItemEventie){
6:
"Item");
7:
}
8:
}
A、可通过编译
B、第2行产生编译错误
C、第3行产生编译错误
D、第5行产生编译错误
21、通过调用newList(10,false)创建一个列表,关于该列表的几个说法哪项是错误的。
()
A、该列表不支持复选B、该列表有10个选项
C、根据需要该列表可能有垂直滚动条D、该列表支持10个可见选项
22、以下哪项可能包含菜单条()
A、PanelB、FrameC、AppletD、Dialog
23、以下代码完成画线功能,指出所画线的颜色()
1.、redB、greenC、yellowD、cyan
24、关于以下代码所画图形的说明,正确的是()
1.;
2.(10,10,10,50);
3.;
4.(100,100,150,150);
A、一条40像素长的垂直红线,一个边长为150像素的红色四方形
B、一条40像素长的垂直黑线,一个边长为150像素的红色四方形
C、一条50像素长的垂直黑线,一个边长为150像素的红色四方形
D、一条50像素长的垂直红线,一个边长为150像素的红色四方形
25、编译并运行以下程序(命令:
javaAB1),关于运行结果的描述以下哪个选项是正确的()
classAB{
publicstaticvoidmain(String[]args){
longi=0;
try{
i=(args[0]);
}catch(Exceptione){}
switch(i)
{case0:
"0");
case1:
"1");
default:
"default");}
}
}
A、编译出错B、打印出“0”C、打印出“1”D、打印出“default”
26、若JAVA程序中定义了3个类,编译后可生成( )个字节码文件。
A、4 B、3 C、2 D、1
27、共定义了( )种布局编辑类。
A、3 B、4 C、5 D、2
28、JAVA中采用Unicode编码,一个Unicode编码占用( )字节。
A、16 B、1 C、2 D、4
29、不是构造函数特点的是( )
A、构造函数与类名相同 B、构造函数可带参数也可不带
C、构造函数带有返回类型 D、构造函数主要完成对类对象的初始工作
30、Java不支持下面哪种继承()
A、多实现继承 B、多接口继承
C、单实现继承 D、单接口继承
答案:
1—5BBCDB6—10CBABB11—15CBCDC16—20BACAA
21—25BBDBA26—30BCCCA
二、判断题
1、Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。
2、用户自定义的图形界面元素也可以响应用户的动作,具有交互功能。
3、Java的字符类型采用的是ASCII编码。
4、类及其属性、方法可以同时有一个以上的修饰符来修饰。
5、Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点.
6、Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。
7、final类中的属性和方法都必须被final修饰符修饰。
8、最终类不能派生子类,最终方法不能被覆盖。
9、子类要调用父类的方法,必须使用super关键字。
10、一个Java类可以有多个父类。
11、如果p是父类Parent的对象,而c是子类Child的对象,则语句c=p是正确的。
12、一个类如果实现了某个接口,那么它必须覆盖该接口中的所有方法。
13、当一个方法在运行过程中产生一个异常,则这个方法会终止,但是整个程序不一定终止运行。
14、接口是特殊的类,所以接口也可以继承,子接口将继承父接口的所有常量和抽象方法。
15、用“+”可以实现字符串的拼接,用-可以从一个字符串中去除一个字符子串。
16、使用方法length()可以获得字符串或数组的长度。
17、设String对象s="Hello",运行语句"World!
"));后String对象s的内容为"Helloworld!
",所以语句输出为
Helloworld!
18、创建Vector对象时构造函数给定的是其中可以包容的元素个数,使用中应注意不能超越这个数值。
19、所有的鼠标事件都由MouseListener监听接口的监听者来处理。
20、一个容器中可以混合使用多种布局策略。
答案
1、错误
2、错误
3、错误
4、正确
5、错误
6、正确
7、错误
8、正确
9、错误
10、错误
11、错误
12、错误
13、正确
14、正确
15、错误
16、错误
17、错误
18、错误
19、错误
20、正确
三、综合题
1、编写一个JavaApplication,利用JDK软件包中的工具编译并运行这个程序,在屏幕上输出"WelcometoJavaWorld!
"。
publicclassHelloJava
{
publicstaticvoidmain(Stringargs[])
{
"WelcometoJavaWorld!
");
}
}
2、下列程序的输出结果会是什么
publicclassTest
{
publicstaticvoidmain(Stringargs[])
{
"3"+"5");
"3"+5);
+"5");
}
}
程序运行结果为:
35
35
35
3、求一个整数的20%是多少,要求结果为整数(小数部分四舍五入),用以下表达式存在什么问题,应该怎样写表达式
inta,b;
b=a*20/100
解:
表达式b=a*20/100得不到想要的结果,所得到的结果只是(a*20)的结果除以100所得的商,如a=4,则b=0,这并不是我们所要的,正确的表达式应该是:
b=(int)((a*20)/+
4、写出下面表达式的运算结果,设a=3,b=-5,f=true:
(1)--a%b++
(2)(a>=1&&a<=12a:
b)
(3)f^(a>b)
(4)(--a)<解:
(1)0
(2)a=3
(3)f
(4)8
5、由命令行输入一个成绩a,使用switch结构求出a的等级。
A:
90-100,B:
80-89,C:
70-79,D:
60-69,E:
0-59。
解:
import
publicclassEx5_8
{
publicstaticvoidmain(Stringargs[])
{
intscore,temp;
Stringgrade;
if!
=1) ;
publicclassEx6_9
{
publicstaticvoidmain(Stringargs[])
{
intn,result,i,temp;
if!
=1) ength()!
=4)
{
"Illegalnumber!
");
return;
}
n=(args[0]);
if(n<0)
{
"Illegalnumber!
");
return;
}
result=0;
for(i=1;i<=4;i++)
{
switch(i)
{
case1:
{
temp=n/1000;+a[max][0]+"isthehighest.");
"Highestscoreis:
"+a[max][1]);
}
}
8、有一种数叫回文数,正读反读都一样,入12321便是一个回文数。
编写一个程序,从命令行参数得到一个整数,判断它是否为回文数。