JAVA复习题.docx

上传人:b****4 文档编号:11694754 上传时间:2023-03-30 格式:DOCX 页数:117 大小:94.50KB
下载 相关 举报
JAVA复习题.docx_第1页
第1页 / 共117页
JAVA复习题.docx_第2页
第2页 / 共117页
JAVA复习题.docx_第3页
第3页 / 共117页
JAVA复习题.docx_第4页
第4页 / 共117页
JAVA复习题.docx_第5页
第5页 / 共117页
点击查看更多>>
下载资源
资源描述

JAVA复习题.docx

《JAVA复习题.docx》由会员分享,可在线阅读,更多相关《JAVA复习题.docx(117页珍藏版)》请在冰豆网上搜索。

JAVA复习题.docx

JAVA复习题

注意Java中是大小写敏感的,请注意大小写的使用!

一、判断题:

1.Java语言不含有指针与析构方法,所以Java程序只有在结束运行时才能释放所占用的内存。

(╳)

2.Java语言是不区分大小写的。

(╳)

3.Java程序都应当含有main方法,因为它是所有Java程序执行的入口。

(╳)

4.作为Java程序入口的main方法,其声明可以写成“publicstaticvoidmain(Strings[])”,也可以写成”publicstaticvoidmain(String[]s)。

(√)

5.在Java语言中,每个ASCII码英文字符占用8个二进制位,而每个中文汉字字符则占用16个二进制位。

(╳)

6.判断该语句是否正确:

b=9a+2;(╳)

7.在Java语言中,每个ASCII码英文字符占用8个二进制位,而每个中文汉字字符则占用16个二进制位。

(╳)

8.Java语言为所有的Java程序自动导入包“java.lang”,因此Java程序可以直接用“java.lang”中的类和接口。

位于类继承关系层次结构树的根部的类Object就是包“java.lang”中的一个类。

(√)

9.有时候为了避免引起混淆,构造方法的方法名可以不与所属类名同名。

(╳)

10.构造方法一般不允许有任何返回值,因此需要在返回类型处标注为void。

(╳)

11.任何类都必须显式地定义该类的构造方法,以便对类的成员进行各种初始化操作。

(╳)

12.Java语言对内存的释放是采用垃圾自动回收机制。

Java虚拟机自动判断并收集“垃圾”,但一般不会立即释放它们的存储空间。

(√)

13.Java系统提供了方法“System.gc()”来强制立即回收“垃圾”,即当调用该方法时,系统会立即回收“垃圾”。

(╳)

14.程序可以借助于finalize方法来精确记录在程序执行过程中内存资源的释放情况。

(╳)

15.如果在定义一个类的时候没有用到关键字extends,则这个类没有直接父类。

(╳)

16.Java语言规定:

任何一个子类的构造方法都必须调用其父类的构造方法(包括隐式调用),并且调用父类构造方法的语句必须是子类构造方法的第一条语句。

(√)

17.如果一个类不是内部类,则它的访问属性不能是private或者protected。

(√)

18.抽象方法不能含有方法体,并且必须在抽象类中。

(√)

19.抽象类是不能实例化的。

抽象类的实例化,应当通过其不具有抽象属性的子类来创建。

(√)

20.因为标准输入流(System.in)并不是真正的文件,所以标准输入流不像文件那样有明显的输入流结束标志,即如果程序不做特殊处理,则程序永远无法得到标准输入流的结束标志。

(╳)

21.在Java中,类java.io.File虽然不直接处理文件内容,但可以通过类java.io.File达到改变当前路径的目的。

(╳)

22.采用事件适配器比采用事件监听器的执行效率要高,因为采用事件适配器可以只处理所需处理的事件。

(╳)

23.编写小应用程序实际上就算要实现类java.applet.Applet的子类,该子类必须是public类型,否则将在运行时出现异常。

(√)

24.类java.applet.Applet的方法getCodeBase()返回小应用程序所在的URL地址,方法getDocumentBase()返回的是小应用程序所作的HTML文件的URL地址。

(√)

25.在HTML文件中,关键字CODEBASE可以用来设置小应用程序所作的路径,CODEBASE的属性值既可以是一个URL地址,也可以是相对于当前HTML文件的相对路径。

(√)

26.小应用程序允许在网页中给小应用程序传递参数。

在网页中可以设置多个参数,其格式为

(╳)

27.要启动一个线程要调用java.lang.Thread的方法start。

在运行完方法start之后,该线程就处于运行状态。

(╳)

28.当执行到同步语句“synchronized(引用类型表达式)”的语句块时,引用类型表达式所指向的对象就会被锁住,不允许其他线程对其进行访问,即当前的线程独占该对象。

(√)

29.方法notifyAll和notify都是类java.lang.Object的成员方法。

调用notifyAll会激活所有处于等待态的线程。

调用notify最多只能激活一个处于等待态的线程。

(√)

30.对于数组int[][]t={{1,2,3},{4,5,6}}来说,t.length等于3,t[0].length等于2。

(╳)

31.由于Java源程序文件名与类名存在同名的约束关系,所以一个Java源程序文件最多只会包含一个类。

(╳)

二、选择题

1.设HelloWorld.java的文件内容如下:

publicclassHelloWorld

{

publicstaticvoidMain(Stringargs[])

{

System.out.println(“HelloWorld”);

}

}//类HelloWorld结束

下面说法正确的是()。

(D)

A.在控制台命令提示符下先运行命令“javacHelloWorld.java”,然后运行命令“javaHelloWorld”,结果输出一行字符串“HelloWorld”。

B.在控制台命令提示符下先运行命令“javacHelloWorld”,然后运行命令“javaHelloWorld.class”,结果输出一行字符串“HelloWorld”。

C.在控制台命令提示符下先运行命令“javacHelloWorld.java”,然后运行命令“javaHelloWorld.class”,结果输出一行字符串“HelloWorld”。

D.以上答案都不对。

2.在一个合法的Java源程序文件中定义了3个类,则其中属性为public的类可能有几个()。

   (A)

A.1B.2C.3D.4

3.下面哪些选项不可以用作变量名的首字符()?

(C)

A.字母B.下划线(_)C.数字D.美元符号($)

4.下面哪个单词是Java语言的关键字?

()(B)

A.sizeofB.AbstractC.nullD.String

5.下面哪些单词是Java语言的关键字?

()(B)

A.ForB.forC.FORD.True

6.下面哪些单词是Java语言的关键字?

()(D)

A.nullB.falseC.lengthD.instanceof

7.下面哪个语句不会产生编译警告或错误?

()(C)

A.floatf=1.3;B.charc=”a”;C.byteb=25;D.booleand=null;

8.下面哪个赋值语句会产生编译错误?

()(A)

A.floata=2.0;B.doubleb=2.0C.intc=2;D.longd=2;

9.下面哪条语句不可以通过编译?

()(B)

A.floata=1;B.floatb=1.0C.floatc=2e1f;D.floatd=0x1234;

10.设各个变量的定义如下,哪个选项的值为false?

()(D)

inti=1;

floatf=1.0f;

doubled=1.0;

booleanb=true;

A.i==f;B.i==d;C.f==d;D.2.1

11.下面程序片段输出的是()。

(C)

inta=3;

intb=1;

if(a=b)

System.out.println(“a=”+a);

A.a=1B.a=3C.编译错误,没有输出D.正常运行,但没有输出

12.执行完下面程序片段后,哪个结论是正确的?

()(B)

inta,b,c;

a=1;

b=2;

c=(a+b>3?

a++:

++b);

A.a的值是2,b的值是3B.a的值是1,b的值是3

C.a的值是1,b的值是2D.c的值是false

13.对于下面的源程序,哪些选项的结论是正确的?

()(C)

classtest

{

publicstaticintmb_isodd(intx)

{

return(x%2);

}

publicstaticvoidmain(String[]args)

{

if(mb_isodd(3))

System.out.println("3isodd.");

else

System.out.println("3iseven.");

}

}

A.程序输出“3isodd.”B.程序输出“3iseven.”

C.程序无法通过编译D.程序可以通过编译,但无法正常运行

14.对于下面的程序,哪个选项的结论是正确的?

()(B)

classtest

{

publicstaticvoidmain(String[]args)

{

intx=2;

inty=2;

if(++x==y++)

System.out.println("x=y");

else

System.out.println("x!

=y");

}

}

A.程序输出“x=y”B.程序输出“x!

=y”

C.程序无法通过编译D.程序可以通过编译,但无法正常运行

15.针对下面的程序,哪些结论是正确的()?

(D)

inti=0,j=9;

do

{

if(i++>--j)

break;

}while(i<4);

System.out.println("i="+i+"andj="+j);

A.i=4andj=4B.i=5andj=5C.i=5andj=4D.i=4andj=5

16.关于下面的程序,哪个结论是正确的?

()(C)

publicclasstest

{

publictest()

{

System.out.println("2");

}

publicstaticvoidmain(String[]args)

{

testt=newtest();

t.test();

System.out.println("1");

}

}

A.程序可以通过编译并正常运行,结果输出“21”

B.程序可以通过编译并正常运行,结果输出“221”

C.程序无法通过编译

D.程序可以通过编译,但无法正常运行

17.关于下面的程序,哪个结论是正确的?

()(A)

classtest_subextendstest

{

}

publicclasstest

{

test(inti)

{

System.out.println(i);

}

publicstaticvoidmain(String[]args)

{

test_subt=newtest_sub();

}

}

A.不能通过编译,因为类test没有定义无参数的构造方法。

B.不能通过编译,因为类test_sub没有定义无参数的构造方法。

C.不能通过编译,因为没有实现test_sub(inti)构造方法。

D.可以成功通过编译。

18.关于Java的垃圾回收机制,下面的结论正确的是()。

(C)

A.程序可以任意指定释放内存的时间。

B.正确的程序写法是能依赖于垃圾回收的时间或者顺序。

C.程序可以明确地标识某个局部变量的引用不再被使用。

D.程序可以显式地立即释放对象占有的内存。

19.下面哪个方法定义置于第8行将会导致编译错误?

()(B)

(1).classSuper

(2).{

(3).publicfloatgetNum(){return3.0f;}

(4).}

(5).publicclassSubextendsSuper

(6).{

(7).

(8).}

A.publicfloatgetNum(){return4.0f;}

B.publicvoidgetNum(){}

C.publicvoidgetNum(doubled){}

D.publicdoublegetNum(floatd){return4.0d;}

20.关于下面的程序,哪个结论是正确的?

()(A)

publicclasstest

{

staticlongm_index;

staticintm_age;

publicstaticvoidmb_setData(longn)

{

m_index=n;

}

publicstaticvoidmain(String[]args)

{

mb_setData(98);

System.out.println("Index="+m_index+";Age="+m_age);

}

}

A.程序可以通过编译并正常运行,结果输出“Index=98;Age=0”。

B.程序可以通过编译并正常运行,结果输出“Index=0;Age=98”。

C.程序可以通过编译并正常运行,结果输出“Index=0;Age=0”。

D.程序无法通过编译。

21.下面程序的输出是()。

(C)

classJ_Class

{

staticintm_data=0;

}

classJ_Test

{

publicstaticvoidmain(String[]args)

{

J_Classa=newJ_Class();

J_Classb=newJ_Class();

a.m_data=1;

b.m_data=2;

System.out.println(a.m_data);

}

}

A.0B.1C.2D.程序无法通过编译。

22.要求设计一个类,它拥有一个特殊的数据成员,该数据成员必须能够被这个类的子类访问到,但不能被不在同一个包内的其他类访问到。

下面哪个设计可以满足该要求?

()(C)

A.该数据成员的封装属性设置为public。

B.该数据成员的封装属性设置为private。

C.该数据成员的封装属性设置为protected。

D.该数据成员不需要特殊的封装属性。

23.假设在Java源程序文件“MyClass.java”中只含有一个类,而且这个类必须能够被位于一个庞大的软件系统中的所有Java类访问到,下面哪个声明有可能是符合要求的声明?

()(D)

A.privateclassMyClassextendsObject

B.publicclassmyclassextendsObject

C.publicclassMyClassextendslang

D.publicclassMyClassextendsObject

24.下面的程序代码会产生编译错误,应当如何修正?

()(C)

publicclasstest

{

privateintm_data=3;

publicstaticvoidmain(Stringargs[])

{

System.out.println(m_data);

}

}

A.将“privateintm_data”改为“protectedintm_data”。

B.将“privateintm_data”改为“publicintm_data”。

C.将“privateintm_data”改为“staticintm_data”。

D.将“privateintm_data”改为“intm_data”。

25.关于下面的程序,哪个结论是正确的?

()(A)

publicclasstest

{

publicstaticvoidmain(Stringargs[])

{

intsum=0;

for(inti=0;i<10;i++)

sum+=i;

System.out.println("Sum(0.."+i+")="+sum);

}

}

A.程序无法通过编译。

B.程序可以通过编译,但无法正常运行。

C.运行程序可以输出“Sum(0..10)=45”。

D.运行程序可以输出“Sum(0..9)=45”。

26.下面哪个语句会发生变异错误?

()(C)

A.int[]a;B.int[]b=newint[10];C.intc[]=newint[];D.intd[]=null;

27.关于下面程序,哪个结论是正确的?

()(D)

classtest

{

publicstaticvoidmain(Stringars[])

{

int[]a=newint[5];

booleanb[]=newboolean[5];

System.out.println(a[1]+b[2]);

}

}

A.程序可以通过编译并正常运行,结果输出“0false”

B.程序可以通过编译并正常运行,结果输出“1true”

C.程序可以通过编译并正常运行,结果输出“0”

D.程序无法通过编译

28.下面哪个语句不含语法错误?

()(A)

A.Stringa[]={"1","2","3","4",null};

B.Stringb[]={"1","2","3","4",'c'};

C.Stringc[]=newString[5];

D.Stringd[]=newString[5]{"1","2","3","4","5"};

29.下面哪个语句定义了5行5列的数组?

()(C)

A.inta[5][5]=newint[5][5];

B.int[5][5]b=newint[5][5];

C.int[]c[]=newint[5][5];

D.intd[][]=newint[25];

30.对于数组“int[]a”,下面哪些语句可以输出数组a的元素个数?

()(D)

A.System.out.println(a.size);

B.System.out.println(a.size());

C.System.out.println(a.length());

D.System.out.println(a.length);

31.关于下面的代码,哪个结论是正确的?

()(B)

Stringa="java";

Stringb="java";

Stringx="ja";

Stringy="va";

Stringc=x+y;

A.a和b指向同一个实例对象,a和c指向同一个实例对象。

B.a和b指向同一个实例对象,a和c不指向同一个实例对象。

C.a和b不指向同一个实例对象,a和c指向同一个实例对象。

D.a和b不指向同一个实例对象,a和c不指向同一个实例对象。

32.下面哪个类最适合处理大数据量的文本文件?

()(C)

A.java.io.FileInputStreamB.java.io.FileReader

C.java.io.BufferedReaderD.java.io.RandomAccessFile

33.关于下面程序,哪个结论是正确的?

已知该源程序的文件名是“J_Test.java”,其所在路径和当前路径都是“C:

\example”。

()(C)

importjava.io.File;

classJ_Test

{

publicstaticvoidmain(Stringars[])

{

Filef=newFile("J_Test.class");

System.out.println(f.getAbsolutePath());

}

}

A.程序可以通过编译并正常运行,结果输出“J_Test.class”

B.程序可以通过编译并正常运行,结果输出“C:

\example”

C.程序可以通过编译并正常运行,结果输出“C:

\example\J_Test.class”

D.程序无法通过编译或无法正常运行

34.下面哪个方法不是小应用程序类Applet的基本方法?

()(D)

A.start()B.stop()C.init()D.kill()

35.关于小应用程序执行过程的生命周期,下面哪个结论正确?

()(D)

A.当小应用程序从运行态进入停止态时,首先要调用的成员方法是pause()。

B.当关闭正处于运行态的小应用程序时,首先要调用的成员方法是destroy()。

C.当小应用程序从停止态进入运行态时,首先要调用的方法是paint()。

D.当关闭正处于停止态的小应用程序时,首先要调用的成员方法是destroy()。

36.已知小应用程序的源程序文件名是“J_Test.java”,则下面哪个语句可以用在HTML文件中用来加载该小应用程序。

()(A)

A.

B.

C.

D.

37.实现了一个继承接口java.lang.Runnable的类需要实现如下的哪个方法?

()(B)

A.startB.runC.waitD.paint

38.已经声明了类“publicclassJ_TestimplementsRunnable”,下面哪个语句启动该类型的线程?

()(A)

A.Threadt=newThread(newJ_Test());t.start();

B.J_Testt=newJ_Test();t.start();

C.J_Testt=newJ_Test();t.run();

D.newJ_Test.start();

39.已经声明了类“publicclassJ_TestextendsThread”,下面哪个语句启动该类型的线程?

()(B)

A.newJ_Test.run();

B.J_Testt=newJ_Test();t.start();

C.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1