CoreJava测试题含答案.docx
《CoreJava测试题含答案.docx》由会员分享,可在线阅读,更多相关《CoreJava测试题含答案.docx(23页珍藏版)》请在冰豆网上搜索。
CoreJava测试题含答案
CoreJava测试题
班级:
____姓名:
____分数:
____
一、单选题
1.J2SE作为一种应用和开发环境,提供了一整套实用工具,其中()是Java语言的编译工具。
(D)
A.java
B.javadoc
C.javap
D.javac
2.Java中,以下循环语句的执行次数是(C)。
intx=37;
inty=3;
while(y<=x){
y*=y;
}
A.0
B.1
C.2
D.3
3.下面Java程序的输出结果是(C)。
publicstaticvoidmain(String[]args){
finalintA=4;
inta=2;
switch(a*2){
caseA:
System.out.print(a);
default:
System.out.println(a*2);
}
}
A.2
B.4
C.24
D.报错
4.Java中,类Test定义如下:
classTest{
intm;
publicstaticvoidfun(){…}
}
如果希望fun()方法能够引用成员变量m,那么需要将第2行代码改为(C)。
A.protectedintm;
B.publicintm;
C.staticintm;
D.privateintm;
5.任何一个Java程序都默认引入了一个包,这个包名是(A)。
A.java.lang
B.java.object
C.java.util
D.java.io
6.Java中默认的处理异常方法为(A)。
A.显示异常信息,停止程序运行
B.显示异常信息,不停止程序运行
C.不显示异常信息,但停止程序运行
D.什么都不做
7.Java中,欲构造ArrayList类的一个实例,此类继承了List接口,下列正确的方法是(B)。
A.ArrayListmyList=newObject();
B.ListmyList=newArrayList();
C.ArrayListmyList=newList();
D.ListmyList=newList();
8.Java中,在任何方法返回前,绝对要执行的代码应放在(C)块中。
A.try
B.catch
C.finally
D.throws
9.Java中,下列哪个方法声明是正确的(C)。
A.abstractfinalStringdoItYourself(){}
B.publicabstractdoItYourself(){}
C.privatestaticvoiddoItYourself(){}
D.publicabstractstaticvoiddoItYourself(){}
10.下面哪个不属于不受检查异常(B)。
A.java.lang.ArrayIndexoutofBoundsException
B.java.io.IOException
C.java.lang.ArithmeticException
D.java.lang.ClassCastException
11.下列有关stack和queue的说法正确的是(D)。
A.stack是先进先出的集合,queue是后进后出的集合。
B.stack是先进后出的集合,queue是先进先出的集合。
C.stack是先进先出的集合,queue是后进先出的集合。
D.stack是后进先出的集合,queue是先进后出的集合。
12.在一个java源文件中,import,class,package语句的顺序是(D)。
A.Importclasspackage
B.Packageclassimport
C.Importpackageclass
D.Packageimportclass
13.byte变量的取值范围是(B)。
A.0-65535
B.-128–127
C.-256–255
D.0–32767
14.Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?
()
A.安全性
B.多线性
C.跨平台
D.可移植
15.下列哪个类声明是正确的?
(D)。
A.abstractfinalclassHI{···}
B.abstractprivatemove(){···}
C.protectedprivatenumber;
D.publicabstractclassCar{···}
16.异常包含下列那些内容?
( C )。
A.程序中的语法错误
B.程序的编译错误
C.程序执行过程中遇到的事先没有预料到的情况
D.程序事先定义好的可能出现的意外情况
17.编译JavaApplication源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( A )。
A..java
B..class
C..html
D..exe
18.设x=1,y=2,z=3,则表达式 y+=z--/++x 的值是(A)。
A.3
B.3.5
C.4
D.5
19.不允许作为类的修饰符的是(B)。
A.public
B.private
C.static
D.final
20.在Java中,所有类的根类是(A)。
A.java.lang.Object
B.java.lang.Class
C.java.applet.Applet
D.java.awt.Frame
21.在读字符文件Employee.dat时,使用该文件作为参数的类是(D)。
A.BufferReader
B.DataInputStream
C.DataOutoutStream
D.FileInputStream
22.Whatwillbetheoutputwhenyoucompileandexecutethefollowingprogram.
publicclassBase{
staticpublicvoidmain(String[]a){
System.out.println(6+6+"(Result)");
}
}
Selectmostappropriateanswer.(B)
A.66(Result)
B.12(Result)
C.RuntimeError.Incompatibletypefor+.Can'tconvertaninttoastring.
D.CompilationError.Incompatibletypefor+.Can'taddastringtoanint.
23.执行完以下代码int[]x=newint[25];后,以下哪项说明是正确的(A):
A.x[24]为0
B.x[24]未定义
C.x[25]为0
D.x[0]为空
24.执行下列代码后,哪个结论是正确的int[]s=newint[10];(D)
A.s[9]为-1
B.s[10]为随即数
C.s[0]为未定义
D.s.length为10
25.在字符串前面加上_____符号,则字符串中的转义字符将不被处理。
(B)
A.@
B.\
C.#
D.%
26.下列代码哪行会出错:
(C)
1)publicvoidmodify(){
2)intI,j,k;
3)I=100;
4)while(I>0){
5)j=I*2;
6)System.out.println("Thevalueofjis"+j);
7)k=k+1;
8)I--;
9)}
10)}
选项:
A.4
B.6
C.7
D.8
27.对记录序列{314,298,508,123,486,145}按从小到大的顺序进行插入排序,经过两趟排序后的结果为:
(B)
A.{314,298,508,123,145,486}
B.{298,314,508,123,486,145}
C.{298,123,314,508,486,145}
D.{123,298,314,508,486,145}
28.Given:
publicclassTest{
publicstaticvoidmain(String[]args){
Stringfoo=args[1];
Stringbar=args[2];
Stringbaz=args[3];
System.out.println(“baz=”+baz);
}
}
Andtheoutput:
Baz=2
Whichcommandlineinvocationwillproducetheoutput?
(C)
A.javaTest2222
B.javaTest1234
C.javaTest4242
D.javaTest4321
29.Whichcreateaninstanceofanarray?
(A)
A.int[]ia=newint[15];
B.floatfa=newfloat[20];
C.char[]ca=“SomeString”;
D.double[]oa=newdouble{5.5,23.3};
30.publicstaticvoidmain(String[]args){
intx=4;
intj=1;
switch(x){
case1:
j++;
case2:
j++;
case3:
j++;
case4:
j++;
case5:
j++;
default:
j++;
}
System.out.println(j+x);
}
Whatistheoutput?
(D)
A.Value=2
B.Value=7
C.Value=6
D.Value=8
31.下面哪个表达式的值与数组下标量总数相等?
(B)
A.m.length()
B.m.length
C.m.length()+1
D.m.length+1
32.下面的哪些声明是合法的?
(A)
A.longx1=4990;
B.inti=4L;
C.floatf=1.1;
D.doubled=34.4;
33.选择哪个不是Java语言基本数据类型(C)
A.byte
B.Integer
C.String
D.char
34.下列描述中,哪个符合Java语言的特征(A)
A.支持跨平台(Windows,Linux,Unix等)
B.支持对地址操作
C.支持类C的指针运算操作
D.不支持与其它语言书写的程序进行通讯
35.given:
1.publicclassTest{
2.publicstaticvoidmain(String[]args){
3.intage=12;
4.add(age);
5.System.out.println(age);
6.}
7.publicstaticintadd(intage){
8.intresult=age+10;
9.returnresult;
10.}
11.}
编译并运行上面的代码,下面哪些说法是正确的:
(D)
A.编译报错,因为第7行变量age和第3行变量age重复定义了
B.编译报错,因为第4行调用add方法时没有接受方法的返回值
C.编译成功,程序运行输出结果为:
22
D.编译成功,程序运行输出结果为:
12
36.publicclassTest{
publicstaticvoidmain(String[]args){
intmonth=12;
//xresult=month*3528.50;
}
}
请从下面选出填写到上面代码标记的//x处,以保证程序不出错。
(C)
A.int
B.long
C.double
D.float
37.运行下面代码输出结果是:
(D)
publicclassTest{
publicstaticvoidmain(String[]args){
intnum=10/4;
floatnum2=10/4;
System.out.println(num);
System.out.println(num2);
}
}
A.2
2.5
B.2.5
2.5
C.2.0
2.0
D.2
2.0
38.运行下面代码输出结果是:
(A)
publicclassTest{
publicstaticvoidmain(String[]args){
inta=12,b=20;
if(a++==13&&++b==21){
System.out.println("ok");
}
System.out.println("a="+a);
System.out.println("b="+b);
}
}
A.a=13
b=20
B.a=13
b=21
C.ok
a=13
b=20
D.ok
a=13
b=21
39.运行下面代码输出结果是:
(B)
publicclassTest{
publicstaticvoidmain(String[]args){
inta=1,b=2,c=3;
intres=(a++)*(++b)*(--c)+(a--)*(--b)*(c++);
System.out.println("res="+res);
System.out.println("a="+a);
System.out.println("b="+b);
System.out.println("c="+c);
}
}
A.res=12
a=1
b=1
c=4
B.res=14
a=1
b=2
c=3
C.res=4
a=0
b=3
c=3
D.res=18
a=1
b=3
c=4
40.以下关于数组的声明,哪项是错误的:
(C)
A.int[]scroe;
B.int[]age=newint[3];
C.float[]pay=newfloat[3]{1.2f,1.1f,3.4f};
D.double[]salary={4.5,5.5,2.1};
41.编译运行下面的代码,输出结果是:
(C)
publicclassTest{
publicstaticvoidmain(String[]args){
int[]scores={3,2,1,5,2};
int[]bak=scores;
bak[3]=100;
System.out.println(scores[3]);
}
}
A.1
B.0
C.100
D.5
42.编译运行下面的代码,输出结果是:
(B)
publicclassTest{
publicstaticvoidmain(String[]args){
inti=10;
do{
i++;
}while(i<10);
System.out.println(i);
}
}
A.10
B.11
C.20
D.19
43.doubled=5/2.0;请写出d的值(B)
A.2
B.2.5
C.3
D.2.0
44.执行下面代码后,输出结果是:
(C)
publicclassTest{
publicstaticvoidmain(String[]args){
inta=1;
for(inti=0;i<3;i++){
for(intj=0;j<3;j++){
a++;
}
}
System.out.println(a);
}
}
A.3
B.4
C.10
D.9
45.如下程序:
publicclassArugmentTest{
staticclassIntA{
privateinta;
publicIntA(inta){
this.a=a;
}
publicintgetA(){
returna;
}
publicvoidsetA(inta){
this.a=a;
}
}
staticpublicvoidchange(inta){
a=3;
}
staticpublicvoidchange(IntAa){
a.setA(3);
}
staticpublicvoidchangeRef(IntAa){
a=newIntA(9);
}
publicstaticvoidmain(String[]args){
inta=2;
change(a);
System.out.print(a);
IntAia=newIntA(5);
change(ia);//ia的属性a的值设为3
System.out.print(ia.getA());
changeRef(ia);//对象类型传引用,还原来的对象
System.out.println(ia.getA());
}
}
在控制台上输出的是(A)。
A.233
B.333
C.259
D.339
46.程序代码:
publicclassExceptionTest{
publicdoublediv(doublea,doubleb){
try{
returna/b;
}catch(Exceptione){
System.out.println(“Exceptionthrown”);
}finally{
System.out.println(“Releaseresources.”);
}
}
publicstaticvoidmain(String[]args){
ExceptionTestet=newExceptionTest();
et.div(1,2);
et.div(3.4,0);
}
}
可能产生的结果是(A):
A.编译不成功
B.无法运行
C.程序运行输出为:
Releaseresources.
Exceptionthrown.
Releaseresources.
47.根据以下程序选择正确答案(C):
publicclassTest{
staticinttotal=10;
publicstaticvoidmain(Stringargs[]){
newTest();
}
publicTest(){
System.out.println("Intest");
System.out.println(this);
inttemp=this.total;
if(temp>5){
System.out.println(temp);
}
}
}
A.编译出错
B.运行时有异常
C.编译运行都正确
48.编译,运行下列代码后的结果是:
(D)
publicclassTest{
publicstaticvoidmain(Stringargs[]){
intage;
age=age+1;
System.out.println("Theageis"+age);
}
}
A.编译,运行后没有输出
B.编译,运行后输出:
Theageis1
C.能通过编译,但运行时产生错误
D.不能通过编译
49.下面那些关键字不是JAVA的关键字(B)
A.If
B.Then
C.Goto
D.while
50.声明公用的abstract方法的正确格式是(A)
A.publicabstractvoidadd();
B.publicabstractvoidadd(){}
C.publicabstractadd();
D.publicvirtualadd();
二、多选题
51.Java中,下列属于合法标志符的是(AD)。
A._atm
B.2$
C.static
D.hello_1
52.Java中,下列定义正确的是(CD)。
A.charc='ccc’
B.floatf=0.3
C.longl=0xfff
D.doubled=0.6E-2
53.在如下代码中,可能发生的异常有以下,除了哪一项(AB)。
publicstaticvoidmain(String[]args){
Integern=Integer.parseInt(args[2]);
System.out.println(2/n);
}
A.NumberFormatException
B.ArrayIndexOutOfBoundException
C.ArithmeticException
D.ClassNotFoundException
54.哪些方法不可以使线程进入阻塞状态?
(BCD)
A.sleep
B.等待IO资源
C.notify
D.wait
55.下面叙述正确的有(CD)。
A.在一个java源文件中只能定义一个class
B.在一个java源文件中只能定义一个interface
C.在一个java源文