Java试题汇总Word文档格式.docx
《Java试题汇总Word文档格式.docx》由会员分享,可在线阅读,更多相关《Java试题汇总Word文档格式.docx(14页珍藏版)》请在冰点文库上搜索。
i++)
System.out.println(i);
A)从0一直输出到99
B)编译后无法输出
C)编译出错,该类还是一个抽象类
4.编译运行以下代码时会发生什么情况?
Strings1="
One"
;
Strings2=newString("
);
if(s1.equals(s2)){
System.out.println("
Stringequals"
Booleanb1=newBoolean(true);
Booleanb2=newBoolean(true);
if(b1==b2){
BooleanEquals"
A)编译出错
B)只输出"
C)输出"
与"
Booleanequals"
D)只输出"
5.下列说法正确的是()
A、JAVA程序的main方法必须写在类里面
B、JAVA程序中可以有多个main方法
C、JAVA程序中类名必须与文件名一样
D、JAVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来
6.Java中,在如下所示的Test类中,共有()个构造方法。
publicclassTest{
privateintx;
publicTest(){
x=35;
publicvoidTest(doublef){
This.x=(int)f;
publicTest(Strings){}
A.0
B.1
C.2
D.3
7.变量命名规范说法正确的是()
A.变量由字母、下划线、数字、$符号随意组成;
B.变量不能以数字作为开头;
C.A和a在java中是同一个变量;
D.不同类型的变量,可以起相同的名字;
8.下列javaDoc注释正确的是()
A./*我爱北京天安门*/
B.//我爱北京天安门*/
C./**我爱北京天安门*/
D./*我爱北京天安门**/
9.为一个boolean类型变量赋值时,可以使用()方式
A.boolean=1;
B.booleana=(9>
=10);
C.booleana="
真"
D.booleana==false;
10.以下()不是合法的标识符
A.STRING
B.x3x;
C.void
D.de$f
11.表达式(11+3*8)/4%3的值是()
A.31
B.0
C.1
D.2
12.下列值不为true的表达式有()。
A."
john"
=="
B."
.equals("
)
C."
="
D."
.equals(newString("
))
13.下列代码输出结果是()
inti=10;
while(i>
0){
i=i+1;
if(i==10){
break;
}
A.while循环执行10次
B.死循环
C.循环一次都不执行
D.循环执行一次
14.在java中下列关于自动类型转换说法正确的是()
a)基本数据类型和String相加结果一定是字符串型
b)char类型和int类型相加结果一定是字符
c)double类型可以自动转换为int
d)char+int+double+"
"
结果一定是double;
15.score是一个整数数组,有五个元素,已经正确初始化并赋值,仔细阅读下面代码,程序运行结果是()
temp=score[0];
for(intindex=1;
index<
5;
index++){
if(score[index]<
temp){
temp=score[index];
A.求最大数
B.求最小数
C.找到数组最后一个元素
D.编译出错
16.在Java中,关于构造方法,下列说法错误的是()
a)构造方法的名称必须与类名相同
b)构造方法可以带参数
c)构造方法不可以重载
d)构造方法绝对不能有返回值
17.执行下面代码结果()
for(inti=0;
){
System.out.println("
这是"
+i);
break;
A、语法错误,缺少表达式2和表达式3
B、死循环
C、程序什么都不输出
D、输出:
这是0
18.下列选项中关于Java中super关键字的说法正确的是()。
A、super关键字是在子类对象内部指代其父类对象的引用
B、super关键字不仅可以指代子类的直接父类,还可以指代父类的父类
C、子类通过super关键字只能调用父类的方法,而不能调用父类的属性
D、子类通过super关键字只能调用父类的属性,而不能调用父类的方法
19.Java中,如果类C是类B的子类,类B是类A的子类,那么下面描述正确的是()
a)C不仅继承了B中的成员,同样也继承了A中的成员
b)C只继承了B中的成员
c)C只继承了A中的成员
d)C不能继承A或B中的成员
20.以下关于抽象类和接口的说法错误的是()
A.抽象类在Java语言中表示的是一种继承关系,一个类只能使用一次继承。
但是一个类却可以实现多个接口。
B.在抽象类中可以没有抽象方法
C.实现抽象类和接口的类必须实现其中的所有方法,除非它也是抽象类。
接口中的方法都不能被实现
D.接口中定义的变量默认是publicstaticfinal型,且必须给其初值,所以实现类中不能重新定义,也不能改变其值。
E.接口中的方法都必须加上public关键字。
二、多选题(10*2=20分)
1.关于类的描叙正确的是()
A.在类中定义的变量称为类的成员变量,在别的类中可以直接使用
B.局部变量的作用范围仅仅在定义它的方法内,或者是在定义它的控制流块中
C.使用别的类的方法仅仅需要引用方法的名字即可
D.一个类的方法使用该类的另一个方法时可以直接引用方法名
2.下列关于字符串的描叙中错误的是()(选择两项)
A.字符串是对象
B.String对象存储字符串的效率比StringBuffer高
C.可以使用StringBuffersb="
这里是字符串"
声明并初始化StringBuffer对象sb
D.String类提供了许多用来操作字符串的方法:
连接,提取,查询等
3.下面关于数组的说法中,错误的是()(选择两项)
A.在类中声明一个整数数组作为成员变量,如果没有给它赋值,数值元素值为空
B.数组可以在内存空间连续存储任意一组数据
C.数组必须先声明,然后才能使用
D.数组本身是一个对象
4.给定java代码如下所示,在A处新增下列()方法,是对cal方法的重载(选择两项)
publicclassTest
{
publicvoidcal(intx,inty,intz)
//A
A.publicintcal(intx,inty,floatz){return0;
B.publicintcal(intx,inty,intz){return0;
C.publicvoidcal(intx,intz){}
D.publicviodcal(intz,inty,intx){}
5.在Java中,下面对于构造函数的描述错误的是()(选择两项)
A、类不一定要显式定义构造函数
B、构造函数的返回类型是void
C、如果构造函数不带任何参数,那么构造函数的名称和类名可以不同
D、一个类可以定义多个构造函数
6.在Java接口中,下列选项中有效的方法声明是()。
(选择二项)
A、publicvoidaMethod();
B、voidaMethod();
C、protectedvoidaMethod();
D、privatevoidaMethod();
7.已知如下代码:
1:
classExample{
2:
Stringstr;
3:
publicExample(){
4:
str="
example"
5:
}
6:
publicExample(Strings){
7:
str=s;
8:
9:
}
10:
classDemoextendsExample{
11:
12:
publicclassTest{
13:
publicvoidf(){
14:
Exampleex=newExample("
Good"
12);
15:
Demod=newDemo("
16:
}}
哪句语句会导致错误?
A、line3
B、line6
C、line10
D、line14
E、line15
8.下面哪一个是合法的数组声明和构造语句()
A.int[]ages=newint[100];
B.intages=newint[100];
C.intages[]=newint[100];
D.int[]ages=newint(100);
9.Java面向对象的特性包括()
A.多态
B.继承
C.封装
D.派生
E.抽象
10.用下面那个修饰符修饰的变量,可以在不同包的子类方法?
()
A.public
B.private
C.protected
D.默认的
三、填空题(20分)
1.当你尝试编译以下程序的时候,运行结果是什么__1____
abstractclassBase{
abstractpublicvoidmyfunc();
publicvoidanother(){
Anothermethod"
publicclassAbsextendsBase{
Absa=newAbs();
a.amethod();
publicvoidmyfunc(){
Myfunc"
publicvoidamethod(){
myfunc();
2、以下程序通过线程的方式实现两个窗口同步卖票的程序,请在程序适当地方将代码补充完整实现给功能,并能保证卖出的票不会出现坐位相同或坐位为负数的情况;
publicclassTicketThreadDemo{
publicstaticvoidmain(String[]args){
TicketThreadticket=newTicketThread();
//创建两个线程,共享ticket资源,并启动
Threadta=______2__________
ta.start();
Threadtb=____________3________________
tb.start();
classTicketThread__4__________{
privateinttickets=20;
//实现线程方法并实现互斥
public_5voidrun(){
while(true){
if(tickets>
0){
try{
Thread.sleep(1000);
//先让线程暂停1秒种
System.out.println(Thread.currentThread().getName()
+"
卖出一张票"
+tickets--);
}catch(Exceptione){
e.printStackTrace();
3.以下程序是通过实现接口的方式来创建了一个计时器的功能,在显示的窗体中显示计时的数字,请将代码补充完整;
importjava.awt.Frame;
importjava.awt.Label;
publicclassCountFrameextendsFrame_6_{
//实例化一个label标签
Labellabel=newLabel("
100"
1);
publicCountFrame(){
//把label标签添加到窗体上
this.add(label);
//设置窗体的大小
this.setSize(150,50);
//实例化时间线程类
this.setVisible(true);
//实现线程方法
Publicvoidrun(){
for(inti=1;
i<
=100;
i++){
label.setText(String.valueOf(i));
try{
Thread.sleep(1000);
}catch(Exceptione){
e.printStackTrace();
}
}
publicstaticvoidmain(Stringargs[]){
//启动线程并运行该窗体
CountFramecf=newCountFrame();
_____________7____________
4.生成0到100之间的随机数的方法__8.
5.面向对象的特征包括封装、_______9_________、__________10________和抽象;
四、简答题(5*4=20分)
1、final,
finally,
finalize的区别;
2、List、Map、Set三个接口,存取元素时,各有什么特点
3、请说明try、catch、throw、throws和finally各自的作用?
4、编写程序用线程模拟用存折和卡取款的程序(即一个账号有一个存折和一张卡)?
5、用JDBC技术编写程序连接数据库,并查询出Account表的信息。