Java1试题加答案.docx
《Java1试题加答案.docx》由会员分享,可在线阅读,更多相关《Java1试题加答案.docx(46页珍藏版)》请在冰豆网上搜索。
Java1试题加答案
试卷
(一)
一、填空题(每空2分,共计10分)
1、在Java平台技术中,boolean数据类型只有两个值分别是和
2、面向对象技术三个特点是封装、继承和。
3、封装在类中某方法,其方法名与类名相同且没有返回类型并负责完成对象成员的初始化工作,为实例变量赋予合适的初始值,则该方法是方法。
4、在一个类中封装了多个同名方法,而这些同名方法之间的参数类型不同或参数的个数不同,则这种现象称之为方法的。
5、用来表示当前对象的关键字是this,而用来表示父类对象的关键字是。
二、判断题(每题2分,共计20分,请将答案写在相应的答题卡栏中)
1、StringBuffer实例的字符串内容能够通过封装在该类中方法进行修改。
()
2、int数据类型的变量在某种情况可以自动转换成String类型。
()
3、包可以实现在一个工程(project)中定义多个同名类。
()
4、在您的程序中使用Scanner类需要使用语句:
importjava.util.Scanner;()
5、使用继承可以提高代码的复用性。
()
6、数组对象的lenth属性显示的是数组的长度。
()
7、在比较str1和str2两个字符串对象值是否相等时使用语句str1=str2。
()
8、用于结束循环而执行循环体外围语句的是break语句。
()
9、用于提前结束本次循环而进入下一次循环的是continue语句。
()
10、static修饰的方法称之为类方法。
()
二、选择题:
(每题2分,共计40分)
1、选出合理的标识符()
A、2mailB、_sys1@l23
C、$changeD、class
2、指出下列程序运行的结果()
publicclassExample{
Stringstr=newString("good");
char[]ch={'a','b','c'};
publicstaticvoidmain(Stringargs[]){
Exampleex=newExample();
ex.change(ex.str,ex.ch);
System.out.print(ex.str+"and");
System.out.print(ex.ch);
}
publicvoidchange(Stringstr,charch[]){
str="testok";
ch[0]='g';
}
}
A、goodandabcB、goodandgbc
C、testokandabcD、testokandgbc
3、Java技术平台共分为3种类型:
()
A、JavaME、JavaSE、JavaEEB、JavaSE、JavaDE、JavaEE
C、JavaUE、JavaSE、JavaEED、JavaFE、JavaSE、JavaEE
4、在控制台显示消息的语句正确的是:
()
A、system.out.println(“helloworld”);
B、System.Out.println(“helloworld”);
C、System.out.println(“helloworld”);
D、System.Out.Println(“helloworld”);
5、下列说法正确的是:
()
A、Java程序的main方法必须都写在类里面
B、Java程序中可以有多个main方法
C、Java程序的以public修饰的类名不必与所在的文件的文件名一样。
D、Java程序的main方法定义中的static可以去掉。
6、表达式(18+3*8)/4%3的值是:
()
A、31B、0
C、1D、2
7、为一个boolean类型的变量赋值时,可以使用方式:
()
A、booleana=1;
B、booleana=(9>=10);
C、booleana=”真”;
D、booleana==false;
8下面程序执行的结果是:
()
publicclassWeather{
publicstaticvoidmain(String[]args){
intshidu=15;
if(shidu>=80){
System.out.println(“要下雨了!
!
!
”);
}elseif(shidu>=50){
System.out.println(“天阴了!
!
!
”);
}elseif(shidu>=30){
System.out.println(“很舒适!
!
!
”);
}elseif(shidu>=0){
System.out.println(“很干燥!
!
!
”);
}
}
}
A、要下雨了B、天阴了
C、很舒适D、很干燥
9.运行下面的程序将输出()次“我爱您中国!
”
publicclassChina{
publicstaticvoidmain(String[]args){
inti=1;
do{
System.out.println(“我爱您中国!
”);
}while(i<5);
}
}
A、4B、5
C、死循环D、0
10、无论循环条件判断的结果如何,()循环将至少执行一次。
A、whileB、do-while
C、forD、以上都不是
11、()是拥有属性和方法的实体。
A、对象B、类
C、方法D、重写
12.对象的特征在类中表示为变量,称为类的()
A、对象B、属性
C、方法D、数据类型
13.关于类的描述正确的是()
A、在类中定义的变量称为类的成员变量,在别的类中可以直接使用
B、类的成员变量的作用范围仅仅在定义它的方法中,或者是在定义它的控制流块中
C、使用别的类的方法仅仅需要引用的名字即可.
D、一个类的方法使用该类的另一个方法时可以直接引用方法名。
14.定义一个数组String[]role={“薛宝钗”,”林黛玉”,”贾宝玉”,”史湘云”,”贾元春”,
”贾迎春”,”贾探春”,”贾惜春”},则数组中的role[3]指的是()
A、贾迎春B、贾探春
C、史湘云D、数组越界
15.下列数组的初始化正确的是()
A、int[]score=newint[];
B、intscore[]=newint[]{90,12,34,77,56};
C、int[]score=newint[5]{90,12,34,77,56};
D、intscore={90,12,34,77,56};
16.下列关于类的封装中说法不正确的是:
()
A、隐藏实现细节,对外提供公共的访问接口
B、属性私有化、添加公有的setter、getter方法
C、增强代码的可维护性
D、从一个已有的类派生出新的类,子类具有父类的一般特性,以及自身特殊的特性
17.下列关于类的继承的说法中不正确的是:
()
A、同一个实现接口,使用不同的实例而执行不同操作
B、继承需要符合的关系:
is-a
C、增强代码的可复用性
D、从一个已有的类派生出新的类,子类具有父类的一般特性,以及自身特殊的特性
18.阅读和理解下面程序段:
()
classManagerextendsEmployee{
privatedoublebonus;
publicManager(Stringn,doubles,intyear,intmonth,intday){
super(n,s,year,month,day);
bonus=0;
}
publicdoublegetSalary(){
doublebaseSalary=super;getSalary();
returnbaseSalary+bonus;
}
publicvoidsetBonus(doubleb){
bonus=b;
}
}
Manager是Employee的子类,其理由是
A、Manager的适用范围较宽B、extends关键字声明
C、Manager的域减小了D、雇员是一个经理
19.一个类可以通过下列哪个关键字实现接口?
()
A、privateB、public
C、extendsD、implements
20.下列说法中正确的是()
A、Java是不区分大小写的。
B、源文件名其扩展名为.jar
C、源文件中public类的数目不限
D、以上说法均不对。
四、上机编程题:
(共计30分)
请编码实现如下需求:
1、乐器(Instrument)分为:
钢琴(Piano)、小提琴(Violin),各种乐器的弹奏(play)
方法各不相同。
2、编写一个测试类InstrumentTest,要求:
编写方法testPlay,对各种乐器进行弹奏测试。
要依据乐器的不同,进行相应的弹奏。
3、在main方法中进行测试
试卷
(一)答案:
一、填空题:
1、truefalse
2、多态性
3、构造
4、重载
5、super
二、判断题:
1
2
3
4
5
6
7
8
9
10
√
√
√
√
√
√
×
√
√
√
三、选择题:
1
2
3
4
5
6
7
8
9
10
C
B
A
C
A
D
B
D
C
B
11
12
13
14
15
16
17
18
19
20
A
B
D
C
B
D
A
B
D
D
四、编程题:
1、能正确封装Instrument类给3分
2、能正确写出play()方法在给2分
3、正确封装Violin、Piano类分别给3分,以上两个类中分别封装play()方法再给2分。
4、正确封装InstrumentTest类给3分,写出main()方法给2分,写出play()方法并使用多态性技术的给5分
试题
(二)
一、选择题(2分*25=50分)
1、Java源程序经编译生成的字节码文件的扩展名为(),字节码文件由解释器执行。
A)classB)javaC)exeD)html
2、下面哪一个函数是线程的入口函数?
A)privatevoidrun()B)publicvoidrun()
C)publicvoidstart()D)publicvoidbegin()
3、关于组合框(combobox),以下陈述中哪个为真?
A)组合框允许选择多个元素。
B)组合框的缺省是可编辑的。
C)组合框只允许选择一个元素。
D)组合框用JComboBox类表示,它是由JList类派生过来的。
4、何时线程进入runnable阶段?
A)当调用get()方法时B)当调用setTime()方法时
C)当调用showStatus()方法时D)当调用start()方法时
5、下列不属于WindowListener接口的是()
A)windowOpened()B)windowClosed()C)windowActivated()D)mouseDragged()
6、System类属于()包。
A)java.utilB)java.ioC)java.awtD)java.lang
7、代码模板产生了一个异常ArrayStoreException。
产生这个错误可能的原因是什么?
A)程序试图在数组中存贮错的数据类型
B)程序试图在数组单元0存贮数据
C)程序试图在串中访问不存在的字符位置
D)程序试图访问数组下标外的数组元素
8、在Java中,要想使本身、子类或包中的方法可以访问该类,应该用()关键字。
A)不需要任何关键字B)privateC)finalD)protected
9、如何强制垃圾回收一个对象?
A)不能强制回收B)调用System.gc()
C)调用System.gc(),并传入对象引用D)调用Runtim.gc()
10、有关网络通信的类都集中在哪一个包中?
A).Jwork.*;B)Java.socket.*;C)J.*;D).Java.message.*;
11、在GridBagLayout布局中,可以设置组件在其显示区域位置的约束是
A)girdx和gridy B)weightx和weightyC)gridwidth和gridheightD)anchor
12、既能作为类的修饰符,也能作为类成员的修饰符的是()。
A)publicB)extendsC)FloatD)static
13、以下哪个方法仅在Applet程序被创建和首次被载入支持Java的浏览器时被调用()。
A)paint()B)init()C)action()D)start()
14、下面关于Applet的说法正确的是
A)Applet也需要main方法
B)Applet必须继承自java.awt.Applet
C)Applet能访问本地文件
D)Applet程序不需要编译
15、paint()方法使用哪种类型的参数?
A)GraphicsB)Graphics2DC)StringD)Color
16、下面哪一个是非法的标识符?
A)2variableB)Variable2C)_whatD)_3_
17、在Applet里面,如果需要强制重画当前窗口,使用什么函数?
A)paint()B)repaint()C)redraw()D)draw()
18、在GridBagLayout中,fill属性默认值是哪一个?
A)GridBagConstraints.NONE
B)GridBagConstraints.HORIZONTAL
C)GridBagConstraints.VERTICAL
D)GridBagConstraints.BOTH
19、哪个不是FilterInputStream的子类?
A)DataInputStream
B)BufferedInputStream
C)PushbackInputStream
D)FileInputStream
20、在窗体上,单击一个按钮,会产生什么事件?
A)ClickEventB)ActionEventC)MouseEventD)ButtonEvent
21、预测以下代码的输出:
classStudent{
Stringname;
Stringid;
voiddisplay(){
System.out.println(“Name:
”+name+”ID:
”+id);
}
publicstaticvoidmain(Stringargs[]){
Studentstudent=newstudent;
student.name=”Alisha”;
student.id=”C001”;
student.display();
}
}
A)将有一个编译错误,因为名字和id没有初始化。
B)将印出”Name:
AlishaID:
C001”。
C)将引发一个异常,因为没有创建学生。
D)将有一个编译错误,因为学生引用没有初始化。
22、给出下面代码段:
1)switch(m)
2){case0:
System.out.println("case0");
3)case1:
System.out.println("case1");break;
4)case2:
5)default:
System.out.println("default");
6)}
下列m的哪些值将引起"default"的输出?
A)0B)1C)2D)3
23、下面的语句的作用是:
()。
VectorMyVector=newVector(100,50);
A)创建一个数组类对象MyVector,有100个元素的空间,每个元素的初值为50。
B)创建一个向量类对象MyVector,有100个元素的空间,每个元素的初值为50。
C)创建一个数组类对象MyVector,有100个元素的空间,若空间使用完时,以50
个元素空间单位递增。
D)创建一个向量类对象MyVector,有100个元素的空间,若空间使用完时,以50
个元素空间单位递增。
24、在JavaApplet程序用户自定义的Applet子类中,常常重载()方法在Applet的界面中显示文字、图形和其它界面元素。
A)start()
B)stop()
C)init()
D)paint()
25、要求CustomerDetails类存储客户的材料,诸如:
客户id和客户名。
CustomerDetails类应满足以下条件:
条件:
CustomerDetails类不应有子类。
为保证上面条件得到满足,你应使用以下语句中哪一个来声明CustomerDetails类。
A)publicclassCustomerDetails
{
intcustomerID;
StringcustomerName;
}
B)abstractclassCustomerDetails
{
intcustomerID;
StringcustomerName;
}
C)finalclassCustomerDetails
{
intcustomerID;
StringcustomerName;
}
D)classCustomerDetails
{
intcustomerID;
StringcustomerName;
}
二、判断题(2分*15=30分)
()1、Java虚拟机是实现跨平台的基础。
()2、Javaapplet不能够存取客户机磁盘上的文件。
()3、Java支持多继承。
()4、sleep()方法是使线程停止一段时间的方法。
()5、实现一个接口,则在类中一定要实现接口中的所有方法。
()6、一个Java类可以有多个父类,这称作多继承。
()7、只要类中显式地定义一个构造方法,那么Java默认的构造方法不再存在。
()8、构造方法没有任何返回类型,哪怕是void也不行。
()9、抽象类不能实例化。
()10、一个异常处理中finally语句块只能有一个或者可以没有。
()11、程序中抛出异常时(throw…),只能抛出自己定义的异常对象。
()12、用Javac编译Java源文件后得到代码是二进制的。
()13、String类在java.lang包中。
()14、final类是为防止他人从你的类上派生新类,此类是不可继承的。
()15、所有的文件输入/输出流都继承于InputStream类/OutputStream类。
试卷()答案:
ABCDDDADACDABBAABADBCDDDC
TTFTTFTTTTFTTTF
试卷(三)
一、单选题(本大题15小题,每小题2分,共30分)
1.下列语句执行后,变量a、c的值分别是()。
intx=182;
inta,c;
c=x/100;
a=x%10;
A)1,2 B)2,1 C) 1.82,2 D) 100,82
2.下面哪个表达式可用得到x和y的最大值()?
A)x>y?
y:
x B)xy:
x C)x>y?
(x+y):
(x-y) D)x==y?
y:
x;
3.以下是应用程序中定义的静态方法printBinary,若在其main方法中有方法调用语句printBinary
(2),则输
出的结果是( )。
staticvoidprintBinary(inti){
System.out.print(i+"的2进制数表示为:
\t");
for(intj=31;j>=0;j--)
if(((1<=0)
System.out.print("1");
else
System.out.print("0");
System.out.println();//换行
}
A)00000000000000000000000000000001
B)00000000000000000000000000000010
C)00000000000000000000000000001111
D)00000000000000000000000000000000
4.应用程序的main方法中有以下语句,则输出的结果是( )。
Strings1="0.5",s2="12";
doublex=Double.parseDouble(s1);
int y=Integer.parseInt(s2);
System.out.println(x+y);
A)12.5 B)120.5 C)12 D)“12.5”
5.应用程序的main方法中有以下语句,则输出的结果是( )。
doublex=1234.1234567;
DecimalFormatform1=newDecimalFormat("0000.0");
System.out.println("PI="+form1.format(x));
A)PI=1234.1 B)PI=1234
C)PI=1234.1235 D)PI=1234.0
6.下列程序段执行后的结果是( )。
String s=newString("abcdefg");
for(inti=0;i S