JAVA试题及答案Word格式.docx
《JAVA试题及答案Word格式.docx》由会员分享,可在线阅读,更多相关《JAVA试题及答案Word格式.docx(16页珍藏版)》请在冰豆网上搜索。
![JAVA试题及答案Word格式.docx](https://file1.bdocx.com/fileroot1/2022-11/27/58c9d90d-b4e6-45da-a123-70599a01fc54/58c9d90d-b4e6-45da-a123-70599a01fc541.gif)
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、for循环是先执行循环体语句,后进行条件判断
8、下列(AC)属于引用数据类型(选择两项)
A、String
B、char
C、用户自定义的Student类类型
D、int
9、对象的特征在类中表示为变量,称为类的(B)。
A、对象
B、属性
C、方法
D、数据类型
10、在java中下列关于自动类型转换说法正确的是(A)
A、基本数据类型和String相加结果一定是字符串型
B、char类型和int类型相加结果一定是字符
C、double类型可以自动转换为int
D、char+int+double+"
"
结果一定是double;
11、关于类的描叙正确的是(BD)(选择两项)
A、在类中定义的变量称为类的成员变量,在别的类中可以直接使用
B、局部变量的作用范围仅仅在定义它的方法内,或者是在定义它的控制流块中
C、使用别的类的方法仅仅需要引用方法的名字即可
D、一个类的方法使用该类的另一个方法时可以直接引用方法名
12、下列关于字符串的描叙中错误的是(BC)(选择两项)
A、字符串是对象
B、String对象存储字符串的效率比StringBuffer高
C、可以使用StringBuffersb="
这里是字符串"
声明并初始化StringBuffer对象sb
D、String类提供了许多用来操作字符串的方法:
连接,提取,查询等
13、以下(D)代码,能够对数组正确初始化(或者是默认初始化)。
A、int[]a;
B、a={1,2,3,4,5};
C、int[]a=newint[5]{1,2,3,4,5};
D、int[]a=newint[5];
14、score是一个整数数组,有五个元素,已经正确初始化并赋值,仔细阅读下面代码,程序运行结果是(B)
temp=score[0];
for(intindex=1;
index<
5;
index++){
if(score[index]<
temp){
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);
19、下面(C)不是String类提供的合法的方法。
A、equals(String)
B、trim()
C、append()StringBuffer
D、indexOf()
20、在JAVA中,以下(C)类的对象以键-值的方式存储对象
21、给定如下所示的JAVA代码,则运行时,会产生(B)类型的异常
Strings=null;
("
abc"
);
A.ArithmeticException
B.NullPointerException
C.IOException
D.ClassNotFoundException
22、给定java代码如下所示,在A处新增下列(AC)方法,是对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>
3?
a++:
b++);
A、a的值是2,b的值是3B、a的值是1,b的值是3
C、a的值是1,b的值是2D、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="
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、import.*;
B、packagemypackage;
packagemypackage;
import.*;
classMyClass{}publicclassmyClass{}
C、intm;
D、/*Thisisacomment*/
classMyClass{}publicclassMyClass{}
13.当需要在文件中写入字符而不是字节时,在下面的类中最好选用(B)类。
A、B、
C、D、
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虚拟机自动判断并收集“垃圾”,但一般不会立即释放它们的存储空间。
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、sizeofB、abstractC、nullD、String
4.下面(C)语句不会出现编译警告或错误。
A、floatf=;
B、charc="
a"
C、byteb=25;
D、booleand=null;
5.下面程序片段输出的是(D)。
inti=0,j=9;
do{
if(i++>
--j)
break;
}while(i<
4);
"
i="
+i+"
andj="
+j);
A、i=4andj=4B、i=5andj=5
C、i=5andj=4D、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)的结论是正确。
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();
A、1B、2C、3D、4
10.关于下面程序,(D)的结论是正确的。
try{
return;
finally{
1"
}
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方法
C、的方法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、thenB、continueC、javaD、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>
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、类的私有方法不能被其子类直接访问
9.下面关于内部类的说法,错误的是(A)。
A、内部类不能有自己的成员方法和成员变量
B、内部类可用ab