JAVA试题及答案(精致),DOC

更新时间:2023-04-11 04:36:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

选择题

1、JAVA所定义的版本中不包括:( D )

A、JAVA2EE

B、JAVA2Card

C、JAVA2ME

D、J AVA2HE

E、J AVA2SE

2、下列说法正确的是( A )

A、JAVA程序的main方法必须写在类里面

B、JAVA程序中可以有多个main方法

C、JAVA程序中类名必须与文件名一样

D、J AVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括

起来

3、变量命名规范说法正确的是( B )

A、变量由字母、下划线、数字、$符号随意组成;

B、变量不能以数字作为开头;

C、A和a在java中是同一个变量;

D、不同类型的变量,可以起相同的名字;

4、下列javaDoc注释正确的是( C )

A、/*我爱北京天安门*/

B、quals("john")

C、"john"="john"

D、"john".equals(newString("john"))

5、下列输出结果是( C )

inta=0;

while(a<5){

switch(a){

case0:

case3:a=a+2;

case1:

case2:a=a+3;

default:a=a+5;

}

}

(a);

A、0

B、5

C、10

D、其他

6、下列代码输出结果是( B )

inti=10;

while(i>0){

i=i+1;

if(i==10){

break;

}

}

A.while循环执行10次

B.死循环

C.循环一次都不执行

D.循环执行一次

7、下面有关for循环的描述正确的是(A)

A、for循环体语句中,可以包含多条语句,但要用大括号括起来

B、for循环只能用于循环次数已经确定的情况

C、在for循环中,不能使用break语句跳出循环

D、f or循环是先执行循环体语句,后进行条件判断

8、下列(AC )属于引用数据类型(选择两项)

A、String

B、char

C、用户自定义的Student类类型

D、i nt

9、对象的特征在类中表示为变量,称为类的( B )。

A、对象

B、属性

C、方法

D、数据类型

10、在java中下列关于自动类型转换说法正确的是( A )

A、基本数据类型和String相加结果一定是字符串型

B、char类型和int类型相加结果一定是字符

C、double类型可以自动转换为int

D、c har+int+double+""结果一定是double;

11、关于类的描叙正确的是(BD)(选择两项)

A、在类中定义的变量称为类的成员变量,在别的类中可以直接使用

B、局部变量的作用范围仅仅在定义它的方法内,或者是在定义它的控

制流块中

C、使用别的类的方法仅仅需要引用方法的名字即可

D、一个类的方法使用该类的另一个方法时可以直接引用方法名

12、下列关于字符串的描叙中错误的是(BC )(选择两项)

A、字符串是对象

B、String对象存储字符串的效率比StringBuffer高

C、可以使用StringBuffersb="这里是字符串"声明并初始化StringBuffer

对象sb

D、S tring类提供了许多用来操作字符串的方法:连接,提取,查询等

13、以下(D )代码,能够对数组正确初始化(或者是默认初始化)。

A、int[]a;

B、a={1,2,3,4,5};

C、int[]a=newint[5]{1,2,3,4,5};

D、i nt[]a=newint[5];

14、score是一个整数数组,有五个元素,已经正确初始化并赋值,仔细阅读

下面代码,程序运行结果是( B )

temp=score[0];

for(intindex=1;index<5;index++){

if(score[index]

temp=score[index];

}

}

A.求最大数

B.求最小数

C.找到数组最后一个元素

D.编译出错

15、下面关于数组的说法中,错误的是(AB )(选择两项)

A、在类中声明一个整数数组作为成员变量,如果没有给它赋值,数值

元素值为空

B、数组可以在内存空间连续存储任意一组数据

C、数组必须先声明,然后才能使用

D、数组本身是一个对象

16、在Java中,关于构造方法,下列说法错误的是( C )

A、构造方法的名称必须与类名相同

B、构造方法可以带参数

C、构造方法不可以重载

D、构造方法绝对不能有返回值

17、执行下面代码结果( D )

for(inti=0;;){

这是"+i);

break;

}

A、语法错误,缺少表达式2和表达式3

B、死循环

C、程序什么都不输出

D、输出:这是0

18、下面代码输出结果是(B )。

inti=0,s=0;

do{

if(i%2==0){

i++;

continue;

}

i++;

s=s+i;

}while(i<7);

A、16

B、12

C、28

D、21

19、下面(C )不是String类提供的合法的方法。

A、equals(String)

B、trim()

C、append()

D、i ndexOf()

20、在JAVA中,以下( C)类的对象以键-值的方式存储对象

A、

21、给定如下所示的JAVA代码,则运行时,会产生( B )类型

的异常

Strings=null;

("abc");

A.ArithmeticException

B.NullPointerException

C.IOException

D.ClassNotFoundException

22、给定java代码如下所示,在A处新增下列(A C)方法,是对

cal方法的重载(选择两项)

publicclassTest

{

publicvoidcal(intx,inty,intz)

{

}

ava”为扩展名B、2个字节码文件,以“.java”为扩展名

C、5个字节码文件,以“.class”为扩展名

D、2个字节码文件,以“.class”为扩展名

4.有关类的说法,正确的是(B)。

A、类具有封装性,所以类的数据是不能被访问的

B、类具有封装性,但可以通过类的公共接口访问类中的数据

C、声明一个类时,必须使用public修饰符

D、每个类中必须有main方法,否则程序无法运行

5.执行完下面程序片段后,(B)的结论是正确的。inta,b,c;

a=1;

b=2;

c=(a+b>3a++:b++);

A、a的值是2,b的值是3

B、a的值是1,b的值是3

C、a的值是1,b的值是2

D、c的值是false

6.将类的成员的访问权限设置为默认的,则该成员能被(A)。

A、同一包中的类访问

B、其他包中的类访问

C、所有的类访问

D、所有的类的子类访问

7.下面的方法重载,正确的是(C)。

A、intfun(inta,floatb){}

B、floatfun(inta,floatb){}

floatfun(inta,floatb){}floatfun(intx,floaty){}

C、floatfun(floata){}

D、floatfun1(inta,floatb){}

floatfun(floata,floatb){}floatfun2(inta,floatb){}

8.下面关于继承的说法,正确的是(D)。

A、超类的对象就是子类的对象

B、一个类可以有几个超类

C、一个类只能有一个子类

D、一个类只能有一个超类

9.下面关于多态性的说法,正确的是(C)。

A、一个类中不能有同名的方法

B、子类中不能有和父类中同名的方法

C、子类中可以有和父类中同名且参数相同的方法

D、多态性就是方法的名字可以一样,但返回的类型必须不一样10.关于下面程序,(A)的结论是正确的。

classJ_SubClassextendsJ_Test{}

publicclassJ_Test{

J_Test(inti){

}

publicstaticvoidmain(String[]args){

J_SubClassa=newJ_SubClass();

}

}

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

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

C、不能通过编译,因为没有实现J_SubClass(inti)的构造方法

D、可以成功通过编译

11.关于下面程序片段,(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不指向同一个实例对象

12.假设下面的程序代码都放在文件中,(D)程序代码能够编译通过。A、.*;B、packagemypackage;

packagemypackage;.*;

classMyClass{}publicclassmyClass{}

C、intm;

D、/*Thisisacomment*/

packagemypackage;packagemypackage;

.*;.*;

classMyClass{}publicclassMyClass{}

13.当需要在文件中写入字符而不是字节时,在下面的类中最好选用(B)类。14.关于事件监听,正确的是(C)。

A、一个事件监听器只能监听一个组件

B、一个事件监听器只能监听处理一种事件

C、一个组件可以注册多个事件监听器,一个事件监听器也可以注册到多个组件上

D、一个组件只能引发一种事件

二、填空题

1.Class类是由Java编译器自动生成的,它伴随每个类。

2.任何一个Java程序都默认引入一个包,这个包的名字是。

3.在Java语言中,有一个类是所有类或接口的父类,这个类的名称是。4.在Java中所实现的二维数组,实际上是由一维数组构成的数组。

5.在Java中,字符串是作为对象出现的。

6.接口可以看作是仅容纳抽象方法、常量,而又不能直接生成对象的特殊抽象类。

7.FileInputStream是字节流,BufferedWriter是字符流,ObjectOutputStream 是对象流。

8.在Java中,组件不能独立地显示出来,必须将组件放在一定的容器中才能显示。

9.Applet是能够嵌入到HTML格式中的文件,并能够在浏览器中运行的Java 类。

三、判断题

1、Java程序一般应当含有main方法,因为它是所有Java程序执行的入口。(×)

2、Java语言的标识符是不区分大小写的。(×)

3、Java语言为所有的Java程序自动导入包“”,因此Java程序可以

直接用“”中的类和接口。位于类继承关系层次结构树的根部的

类Object就是在包“”中的类。(√)

4、有时候为了避免引起混淆,构造方法的方法名可以不与所属类名同名。(×)

5、Java语言规定,任何一个子类的构造方法都必须调用其父类的

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

6、Java语言对内存的释放是采用垃圾回收机制。Java虚拟机自动

判断并收集“垃圾”,但一般不会立即释放它们的存储空间。(√)

(java中垃圾回收机制的作用是对程序中无任何引用的对象占据的内存空间进

行释放的一种释放内存的方式。

java中垃圾回收机制有几个明显的特点。1.垃圾回收是由虚拟机即JVM执行;2.系统空闲时执行;3.释放的一定是不再被引用的对象;4.回收方法gc()方法,虽然可以主动调用,但是不确定会立即执行。)

7、在编译Java源程序时,计算机根本不会去识别各个变量名的具体含义,因

此命名规范对编写Java程序而言不是必要的,而且有可能会降低编写Java

源程序的效率。(×)

一、单项选择题

1.作为Java应用程序入口的main方法,其声明格式可以是(A)。

A、publicstaticvoidmain(String[]args)

B、publicstaticintmain(String[]args)

C、publicvoidmain(String[]args)

D、publicintmain(String[]args)

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

A、0B、1C、2D、3

3.下面(B)单词是Java语言的关键字。

A、sizeof

B、abstract

C、null

D、String

4.下面(C)语句不会出现编译警告或错误。

A、floatf=;

B、charc="a";

C、byteb=25;

D、booleand=null;

(byte的取值范围为-128~127)

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

inti=0,j=9;

do{

if(i++>--j)

break;

}while(i<4);

="+i+"andj="+j);

A、i=4andj=4

B、i=5andj=5

C、i=5andj=4

D、i=4andj=5

6.对于下面(B)类定义,可以通过“newJ_Class()”生成类J_Class的实例对象。

A、publicclassJ_Class{

publicJ_Class(void){}

}

B、publicclassJ_Class{}

C、publicclassJ_Class{

publicJ_Class(Strings){}

}

D、publicclassJ_Class{

publicvoidJ_Class(){}

publicJ_Class(Strings){}

7.要求设计一个类,它拥有一个特殊的成员域,该成员域必须能够被这个类的子类访问到,但是不能被不在同一个包内的其他类访问到。下面(C)可以满足上述要求。

A、该成员域的封装属性设置为public

B、该成员域的封装属性设置为private

C、该成员域的封装属性设置为protected

D、该成员域不需要特殊的封装属性

8.关于下面程序,(D)的结论是正确。

publicclassJ_Test{

publicstaticvoidmain(String[]args){

int[]a=newint[5];

boolean[]b=newboolean[5];

}

}

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

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

C、程序无法通过编译

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

(数组越界是运行时异常)

9.下面这段代码会产生(C)个String对象。

Strings1="hello";(第一个)

Strings2=(2,3);(第二个)

Strings3=();

Strings4=newStringBuffer(s1).toString();

(第三个,()返回一个String对象)

A、1

B、2

C、3

D、4

10.关于下面程序,(D)的结论是正确的。

publicclassJ_Test{

publicstaticvoidmain(String[]args){

try{

return;

}

finally{

}

}

}

A、上面程序含有编译错误

B、上面程序在运行时会产生一个运行时异常

C、上面程序会正常运行,但不产生任何输出

D、上面程序输出“1”

11.用“newFileOutputStream(“”,true)”创建一个FileOutputStream实例对象,则下面(B)说法是正确的。

A、如果文件“”存在,则将抛出IOException异常

B、如果文件“”存在,则将在文件的末尾开始添加新内容

C、如果文件“”存在,则将覆盖掉文件中已有的内容

D、如果文件“”不存在,则将抛出IOException异常

12.改变当前容器的布局方式,(A)。

A、调用方法setLayout

B、容器一旦生成,它的布局方式就不能改变

C、调用方法setLayoutManager

D、调用方法updateLayout

13.关于小应用程序执行过程的生命周期,(D)的结论是正确的。

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

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

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

D、当关闭正处于停止态的小应用程序时,首先要调用的成员方法是destory() 14.下面(D)方法可以用来加载JDBC驱动程序。

A、类的getDriver方法

B、类的getDrivers方法

的方法connect

D、类的forName方法

二、概念填空题

1.Java语言通过垃圾回收机制简化了程序的内存管理。

2.Java标识符是由字母、数字、下划线、美元符号组成的字符序列。

3.面向对象的计算机语言一般应具有3个基本特性,分别是封装、继承、多态。

4.Java中的类是最顶层的类,所有其他的类都是它直接或间接的子类。

5.在Java的基本数据类型中,char类型采用Unicode编码方案,这样,无论是中文字符还是英文字符,都是占2字节内存空间。

6.类的静态成员属于这个类的所有对象。

7.一个类要具有可序列化的特性一般就必须实现接口。

8.类String本身负责维护一个字符串池。该字符串池存放字符串常量所指向的字符串示例,以及调用过类String成员方法intern后的字符串示例。

三、判断题

1、父类的构造方法不可以被子类继承。(√)

2、在接口中定义的方法都只能是没有方法体的抽象方法。(√)

3、Java程序分成应用程序和小应用程序两类,所以一个Java程序不可能既是

应用程序,又是小应用程序。(×)

4、javadoc是一种从文档注释生成HTML帮助文件的工具。它可以处理在java

源程序中介于“/*”和“*/”之间的注释,并生成相应的程序文档。(×)

5、采用事件适配器比采用事件监听器的执行效率要高,因为采用事件适配器

可以只处理所需处理的事件。(×)

6、每个实例对象只能对应一个实例对象,所以如果执行SQL语句返回多个结

果,一般需要分多次取得返回结果。(√)

一、单项选择题

1.下面选项中,(B)是Java关键字。

A、then

B、continue

C、java

D、PUBLIC

2.下面语句中,正确的是(B)。

A、booleanb=”true”;

B、doublex=;

C、charc=”A”;

D、floaty=;

3.设有定义“intk=3;”,语法正确且值为true的表达式是(D)。

A、k=3;

B、k++>3;

C、k--==3&&k++==3;

D、k++==3||++k>3;

4.设有定义:Strings=“World”;,下列语句错误的是(D)。

A、intm=(‘r’);

B、charc=(0);

C、intn=();

D、Stringstr=(‘2’);

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

A、privateclassMyClassextendsObject

B、publicclassmyclassextendsObject

C、publicclassMyClass

D、classMyClassextendsObject

6.在Java中,用package语句说明一个包时,该包的层次结构必

须是(A)。

A、与文件目录的层次相同

B、与文件的结构相同

C、与文件类型相同

D、与文件大小相同

7.下面关于数组的说法,错误的是(B)。

A、数组是最简单的复合数据类型,是一系列数据的集合

B、声明数组时,必须分配内存

C、数组的元素可以是值(基本数据类型)、对象或其他数组

D、一个数组中的所有值都必须是相同的类型

8.下面关于方法的说法,错误的是(C)。

A、Java中的方法参数传递时传值调用,而不是地址调用

B、方法体是对方法的实现,包括变量声明和Java的合法语句

C、如果程序定义了一个或多个构造方法,在创建对象时,也可以用系统自动

生成空的构造方法

D、类的私有方法不能被其子类直接访问

(java方法参数传递只有传值调用)

9.下面关于内部类的说法,错误的是(A)。

A、内部类不能有自己的成员方法和成员变量

B、内部类可用abstract修饰定义为抽象类,也可以用private或protected定义

C、内部类可作为其他类的成员,而且可访问它所在类的成员

D、除static内部类外,不能在类内声明static成员

(非static内部类,不能在类内声明static成员)

10.在字节流中,可以使用文件名作为参数的类有(C)。

A、DataInputStream

B、BufferedReader

C、FileInputStream

D、FileReader

11.语句:JTextField=newJTextField(8);,语句中的8表示文本框的(A)。A、列宽B、所显示的字符串C、行高D、编号

12.文档标签@exception在文档注释中的格式一般是(A)。

A、@exception类名描述

B、@exception异常描述

C、@exception异常变量名描述

D、不存在文档标签@exception

二、填空题

1.Java虚拟机运行Java程序的基本步骤是:首先从后缀为class的文件加载代码到内存中,接着在内存中检测代码的合法性和安全性,然后解释执行合法和安全的代码。

2.在Java语言中,字符串直接量是用双引号括起来的字符序列,字符串不是字符数组,而是类String的实例对象。

3.类System的三个成员域in、out、err分别指向标准输入流、标准输出流和标准错误输出流。

4.有时运行一个Java小应用程序需要多个文件,如“.class”文件、声音文件、

图像文件等。为了提高效率,可以考虑将运行小应用程序所需要的各种文件做成一个jar文件。

5.假设用Java)编写了图像处理包(image),那么按照Sun公司的建议,这个包的名称最好为。

6.在编写和运行数据库程序之前需要建立起Java数据库程序的开发环境,这至少需要安装JDK、数据库和JDBC驱动程序。

7.传递给实现了接口的类中mouseDragged方法的事件对象是MouseEvent类。

三、判断题

1、假设有一个Java源程序文件,它只定义了一个具有public属性的类Hello,

那么编译该文件的命令是“javacHello”。(×)

2、switch语句中可以没有default子句。(√)

3、常量的数据类型是float。(×)

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

5、如果在定义一个类的时候没有用到关键字extends,则这个类没有直接父类。(×)

6、抽象方法不能含有方法体,并且必须在抽象类中。(×)

7、如果类的访问控制符是public,则类中成员的访问控制属性也必须是public。(×)

8、假设文件“”的长度为100字节,那么当正常运行语句“OutputStreamf=new FileOutputStream(newFile(“”));”之后,文件“”的长度变为0字节。(√)

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

本文来源:https://www.bwwdw.com/article/8rrl.html

Top