2Java语言程序设计期中11考试试题.docx
《2Java语言程序设计期中11考试试题.docx》由会员分享,可在线阅读,更多相关《2Java语言程序设计期中11考试试题.docx(15页珍藏版)》请在冰豆网上搜索。
![2Java语言程序设计期中11考试试题.docx](https://file1.bdocx.com/fileroot1/2023-1/7/a17a233f-9088-4db0-bc9c-7a6f0cb58076/a17a233f-9088-4db0-bc9c-7a6f0cb580761.gif)
2Java语言程序设计期中11考试试题
杭州电子科技大学2007-2008学年第二学期期中考试试题
考试科目:
Java语言程序设计满分:
100分
考试时间:
150分钟(13:
45-16:
15)考试日期:
2008-4-29
姓名:
学号:
班级:
专业:
注意:
(1)所有答案均写在答题纸上,写在试卷上无效;
(2)判断题中若出现Java源代码,则不考虑源代码的大小写,不考虑标点符号的中英文状态;
(3)当题目中只有程序片段时,假设完整程序已经具有其它必要代码,如导入Java的基本输入输出包、Applet包等、主类的定义、main()函数的定义等。
一、判断题。
(每题0.5分,共20分)
1.用javac编译Java源文件后得到代码叫字节码。
2、Java源程序文件中是不区分字母的大小写的。
3、可以用new来创建一个类的实例,即"对象"。
4、Java程序对计算机硬件平台的依赖性很低。
5、Java中类的构造函数只能有一个。
6、
6、子类可以继承父类所有的成员变量及成员函数。
7、Java类中不能存在同名的两个成员函数。
8、若数组a定义为int[][]a=newint[3][4],则a是三维数组。
9、对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为10。
10、一个类就相当于一种数据类型。
11、for循环和while循环两种循环结构中都必须有循环体,循环体不能为空。
12、Java应用程序的入口是publicstaticvoidmain(String[]s){}
13、在java的一个源程序里有且只能有一个类是publicclass。
14、applet可以运行在浏览器中。
15、语句importjava.applet.Applet;最后的Applet是代表类(class)。
16、一个Applet编译后的类名是Test.class,运行此小程序的命令是javaTest。
17、Java语言中一个Char类型的数据占用2个字节大小的内存空间。
18、编译语句DoubleaDouble=37.2D;不会出现编译错误。
19、编译语句intaInt=66666;不会出现编译错误。
20、boolean是一种简单数据类型。
21、声明变量时必须指定类型。
22、定义完数组后,我们可以根据实际需要,再动态调整数组大小。
23、while
(1){}将出现编译错误。
24、instanceof不是java中的关键字,而是一种特殊的运算符。
25、算术操作符*/%+和-有相同的优先级。
26、break语句可以用在循环和switch语句中。
27、continue语句用在循环结构中表示继续执行下一次循环。
28、以下程序的输出结果是17
if(true)
{
inti=17;
}
System.out.println(i);
29、以下语句能正常编译和运行。
floatx=26f;
inty=26;
intz=x/y;
30、
intx=9;
if(x>8andx<10)
System.out.println("true");
以上语句运行的结果是显示true
31、
Stringstr;
System.out.println(str.length());
以上语句运行的结果是显示0
32、
Characterx=newCharacter('a');
Charactery=newCharacter('a');
if(pareTo(y))
System.out.println("true");
以上语句运行的结果是显示true
33.
if("Hunan".indexOf('n')==2)
System.out.println("true");
以上语句运行的结果是显示true
34.以下语句运行的结果是显示Equal
FloataFlost=newFloat(2.3);
DoubleaDouble=newDouble(2.3);
if(aFloat==aDouble)
System.out.println("Equal");
else
System.out.println("NotEqual");
35、以下语句运行的结果是显示4
int[]a={1,2,3,4};
System.out.println(a.length());
36、Java的核心包中,提供编程应用的基本类的包是Java.lang。
37、在Java程序中import语句可以有多个。
38、JavaApplication与Applet所用编译命令相同。
39、JavaApplet必须有HTML文件才能运行。
40、在Applet中显示文字、图形等信息时,应使用的方法是paint()。
二、单项选择题。
(每题0.5分,共20分)
1、java源程序文件必须以 为扩展名(D )
A、.txt B、.exe C、.class D、.java
2、Java语言使用的字符码集是( D )
A、ASCII
B、BCD
C、DCB
D、Unicode
3、设x=1,y=2,z=3,则表达式 x+y*z 的值是( B )。
A、9 B、7 C、6 D、11
4、对于可以独立运行的Java应用程序,下列( D )说法是正确的。
A、无须main方法 B、必须有两个main方法
C、可以有多个或零个main方法 D、必须有一个main方法
5、以下哪个不是Java的原始数据类型( A )
A、boolean B、double C、float D、Integer
6、Java是一种( A )。
A、面向对象的编程语言 B、数据库系统
C、多任务操作系统 D、网页描述标记语言
7、如下哪个字符串是Java中的合法标识符( )?
A、fieldname_sysValue B、String
C、3number D、#number
8、取模运算:
5%2= ( B )
A、0 B、1 C、2 D、2.5
9、条件运算符?
:
是属于三元运算符,其用法为op1?
op2:
op3,正确的描述是( A )
A、若操作数op1为真,返回op2,否则返回op3
B、若操作数op2为真,返回op1,否则返回op3
C、若操作数op1为假,返回op2,否则返回op3
D、若操作数op1为真,返回op3,否则返回op2
10、数据类型自动转换,由低到高进行,级别最高的是( D)
A、int B、long C、float D、double
11、Java语言具有许多优点和特点,下列选项中,哪个(B)反映了Java程序并行机制的特点?
A、安全性 B、多线程性 C、跨平台 D、可移植
12、在switch(expression)语句中,expression的数据类型不能是(A)
A、double
B、char
C、byte
D、short
13、Character流与Byte流的区别是()
A、每次读入的字节数不同 B、前者带有缓冲,后者没有
C、前者是块读写,后者是字节读写 D、二者没有区别,可以互换使用
14、Applet可以做下列哪些操作()
A、读取客户端文件 B、在客户端主机上创建新文件
C、在客户端装载程序库 D、读取客户端部分系统变量
15、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同。
这种面向对象程序特性称为(C)。
A、隐藏 B、覆盖 C、重载 D、Java不支持此特性
16、在Java中,存放字符串常量的对象属于(B)类对象。
A、Character B、String C、StringBuffer D、Vector
17、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(A)。
A、static void method() B、public void method()
C、final void method() D、abstract void method()
18、Java Application源程序的主类是指包含有(A)方法的类。
A、main方法 B、toString方法
C、init方法 D、actionPerfromed方法
19、Java的字符类型采用的是Unicode编码方案,每个Unicode码占用(B)个比特位。
A.8 B.16 C.32 D.64
20、设a=8,则表达式 a>>>2的值是()。
A、1 B、2 C、3 D、4
21、若a的值为3时,下列程序段被执行后,c的值是(C)
c=1;
if (a>0)
if (a>3)
c=2;
else
c=3;
else
c=4;
A、1 B、2 C、3 D、4
22、在编写Java Application程序时,若需要使用到标准输入输出语句,必须在程序的开头写上(B)语句。
A、import java.awt.*;B、import java.applet.Applet;
C、import java.io.*; D、import java.awt.Graphics;
23、对于构造函数,下列叙述不正确的是(B)。
A、构造函数是类的一种特殊函数,它的方法名必须与类名相同。
B、构造函数的返回类型只能是void型。
C、构造函数的主要作用是完成对类的对象的初始化工作。
D、一般在创建新对象时,系统会自动调用构造函数。
24、在Java中,下列哪两句是正确的:
(C)
A、子类的构造方法必须与父类的构造方法同名
B、子类可以继承父类的所有方法
C、子类不一定能继承父类的所有方法
D、子类可以继承父类protected和private的方法
25、MyPoint方法,返回Point类型,其定义正确的是:
(A)
A、publicPointMyPoint(intx){…}
B、publicintMyPoint(intx){…}
C、staticvoidMyPoint(intx,inty){…}
D、staticintMyPoint(Pointp){…}
26、下面哪几个函数是publicvoidexample(){...}的重载函数?
(A)
A、publicvoidExample(intm){...}
B、publicintexample(){...}
C、publicvoidexample2(){...}
D、publicintexample(intm,floatf){...}
27、已知如下定义:
Strings="story";下面哪个表达式是合法的()
A、s+="books";
B、charc=s[1];
C、intlen=s.length;
D、doublelen=s.length;
28、下面关于继承的哪些叙述是正确的。
(D )
A.在java中允许多继承。
B.在java中一个类只能实现一个接口。
C.在java中一个类不能同时继承一个类和实现一个接口。
D.java的单一继承使代码更可靠。
29、关于length()这个方法的表述正确的是哪个( )。
A、数组有length()这个方法,string也有length()这个方法。
B、数组有length()有这个方法,string没有length()这个方法。
C、数组没有length()这个方法,string有length()这个方法。
D、数组没有length()这个方法,string也没有length()这个方法。
30、运行下面程序段的结果是:
(C )。
publicclassMyMain{
publicstaticvoidmain(Stringargs){
System.out.println(“HelloJava”);
}
}
A、正常输出HelloJava
B、编译时出错
C、运行时出错
D、以上答案都不对
31、选择排序的思想是,将数据序列划分为两个子列,一个子列是排好序的,另一个是尚未排序的。
现若想将数据序列由小到大排序,则每次放到有序子列尾部位置的元素,应从无序序列中选择()。
A、最大的B、最小的C、任意的D、头上的
32、关于以下程序段,正确的说法是( )。
1. String s1="x"+"y";
2. String s2=new String(s1);
3. if(s1==s2)
4. System.out.println("== issucceeded");
5. if(s1.equals(s2))
6. System.out.println(".equals()issucceeded");
A、行4与行6都将执行 B、行4执行,行6不执行
C、行6执行,行4不执行 D、行4、行6都不执行
33、下述语句的输出结果是()。
classSomething{
inti;
publicvoiddoSomething(){
System.out.println("i="+i);
}
}
A、1 B、2 C、0 D、编译会出错
34、数据类型自动转换,由低到高进行,级别最高的是( )
A、int B、long C、short D、float E、double
35、有下述语句,当程序执行完第二步时,j= ,i= ;当程序执行完第三步时,k= ,i= . ( )
inti=10;
intj=++i;
intk=i++;
A、11,11,11,12 B、10,11,12,12 C、10,11,11,12 D、11,11,12,11
36、shorts1=1;s1=s1+1;有什么错?
改正后正确的应该是( )
A、s1=(short)(s1+1); B、s1=(int)(s1+1); C、(s1+1)=shorts1; D、(s1+1)=ints1;
37、下列代码输出是( )
System.out.println("*\n**\n***\n****");
A、*\n**\n***\n**** B、
C、
D、**********
38、给出下列的代码,哪行在编译时可能会有错误?
( )
①publicvoidmodify(){
②inti,j,k;
③i=100;
④while(i>0){
⑤j=i*2;
⑥System.out.println("Thevalueofjis"+j);
⑦k=k+1;
⑧}
⑨}
A、line4
B、line6
C、line7
D、line8
39、已知有下列类的说明,则下列哪个语句是正确的?
( )
publicclassTest{
privatefloatf=1.0f;
intm=12;
staticintn=1;
publicstaticvoidmain(Stringargs[]){
Testt=newTest();}}
A、t.f;
B、this.n;
C、Test.m;
D、Test.f;
40、下列代码的执行结果是( )
publicclassTest{
publicintaMethod(){
staticinti=0;
i++;
System.out.println(i);}
publicstaticvoidmain(Stringargs[]){
Testtest=newTest();
test.aMethod();}}
A、编译错误
B、0
C、1
D、运行成功,但不输出
三、Java基础知识填空题。
(每空1分,共15分)
1、JAVA基本数据类型有byte、、、int、。
2、Java源程序是由类定义组成的,每个程序中可以定义若干个类,但是只有一个类是主类。
在Java Application中,这个主类是指包含 方法的类。
3、执行下列语句:
intm,n,i=3,j=2;
m=i++;
n=--j;
则:
m=、
n=、
i=、
j=。
4、intx=1;inty=2;如表达式y=x++/++y;那么y的值是
5、转义字符‘\n’的含义是。
6、分别写出用new运算符和不用new运算符生成字符串“Ilikejava”对象的方法
Stringstr=
Stringstr=
7、inta=10,b=11,c=12;表达式(a+b)8、方法,不需要类的实例化对象,可以直接通过类名来调用;
方法,其名字和类名相同,并且在生成对象时被调用。
四、程序填空题。
(每题5分,共25分)
1、下列程序的功能是判断某一年是否为闰年.请在横线处填入适当内容,使程序能够正确运行.
importjava.io.*;
publicclassLeapYear
{
publicstaticvoidmain(Stringarge[])throwsIOException
{
InputStreamReaderir;
BufferedReaderin;
ir=newInputStreamReader();
in=newBufferedReader(ir);
System.out.println("输入年份是:
");
Strings=;
intyear=Integer.parseInt(s);
if(year%4==0&&year%100!
=0||year%400==0)
{
System.out.println(""+year+"年是闰年.");
}
{
System.out.println(""+year+"年不是闰年");
}
}
}
2、下面程序对数组中每个元素赋值,然后按逆序输出.请在横线处填入适当内容,使程序能正常运行.
importjava.io.*;
publicclassArrayTest
{
publicstaticvoidmain(Stringargs[])
{
inti;
inta[]=newint[5];
for(i=0;i<5;i++)
a[i]=i;
for(;i>=0;i--)
System.out.println("a["+i+"]="+a[i]);
}
}
3、下列程序的功能是:
输入一个姓名,程序运行后,输出“姓名Welcome you!
”.例如,输入“张三”,则输出“张三Welcome you !
”.请在下面横线处填入正确的方法名,使程序可以正确运行.
importjava.io.*;
importjava.awt.*;
importjava.awt.event.*;
publicclasswelcomenYou
{
publicstaticvoidmain(Stringargs[])
{
FrameInOutf=newFrameInOut();
f.setVisible();
}
}
classFrameInOutextendsFrameimplementsActionListener
{
Labelprompt;
TextFieldinput,output;
Buttonbtnn;
publicFrameInOut()
{
prompt=newLabel("Pleaseinputyourname");
input=newTextField(10);
output=newTextField(25);
btnn=newButton("Exit");
(newFlowLayout());
add(prompt);
add(input);
add(output);
add(btnn);
input.addActionListener();
btnn.addActionListener(this);
setSize(300,200);
}
publicvoidactionPerformed