Java语言程序的设计期中考试试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
杭州电子科技大学 2007-2008学年第二学期期中考试试题
考试科目: Java语言程序设计满分: 100分
考试时间: 150分钟 (13:45-16:15) 考试日期: 2008-4-29
姓名: 学号:
班级: 专业:
注意:
所有答案均写在答题纸上,写在试卷上无效;
判断题中若出现Java源代码,则不考虑源代码的大小写,不考虑标点符号的中英文状态;当题目中只有程序片段时,假设完整程序已经具有其它必要代码,如导入Java的基本输入输出包、Applet包等、主类的定义、main()函数的定义等。
判断题。
(每题0.5分,共20分)
1. 用javac编译Java源文件后得到代码叫字节码。
2、Java源程序文件中是不区分字母的大小写的。
3、可以用new来创建一个类的实例,即"对象"。
4、Java程序对计算机硬件平台的依赖性很低。
Java中类的构造函数只能有一个。
6、子类可以继承父类所有的成员变量及成员函数。
7、Java类中不能存在同名的两个成员函数。
8、若数组a定义为int[][]a=new int[3][4],则a是三维数组。
9、对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为10。
10、一个类就相当于一种数据类型。
11、for循环和while循环两种循环结构中都必须有循环体,循环体不能为空。
12、Java应用程序的入口是public static void main(String[] s){}
13、在java的一个源程序里有且只能有一个类是public class。
14、applet可以运行在浏览器中。
15、语句import java.applet.Applet; 最后的Applet是代表类(class)。
16、一个Applet编译后的类名是Test.class,运行此小程序的命令是java Test。
17、Java语言中一个Char类型的数据占用2个字节大小的内存空间。
18、编译语句 Double aDouble=37.2D; 不会出现编译错误。
19、编译语句int aInt=66666;不会出现编译错误。
20、boolean是一种简单数据类型。
21、声明变量时必须指定类型。
22、定义完数组后,我们可以根据实际需要,再动态调整数组大小。
23、while(1){}将出现编译错误。
24、instanceof不是java中的关键字,而是一种特殊的运算符。
25、算术操作符* / % +和- 有相同的优先级。
26、break语句可以用在循环和switch语句中。
27、continue语句用在循环结构中表示继续执行下一次循环。
28、以下程序的输出结果是17
if (true)
{
int i=17;
}
System.out.println(i);
29、以下语句能正常编译和运行。
float x=26f;
int y=26;
int z=x/y;
30、
int x=9;
if(x>8 and x<10)
System.out.println("true");
以上语句运行的结果是显示true
31、
String str;
System.out.println(str.length());
以上语句运行的结果是显示0
32、
Character x=new Character('a');
Character y=new Character('a');
if (pareTo(y))
System.out.println("true");
以上语句运行的结果是显示true
33.
if ("Hunan".indexOf('n')==2)
System.out.println("true");
以上语句运行的结果是显示true
34. 以下语句运行的结果是显示Equal
Float aFlost=new Float(2.3);
Double aDouble=new Double(2.3);
if (aFloat==aDouble)
System.out.println("Equal");
else
System.out.println("Not Equal");
35、以下语句运行的结果是显示4
int[] a={1,2,3,4};
System.out.println(a.length());
36、Java的核心包中,提供编程应用的基本类的包是ng 。
37、在Java程序中import语句可以有多个。
38、Java Application与Applet所用编译命令相同。
39、Java Applet 必须有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、public Point MyPoint (int x){…}
B、public int MyPoint (int x) {…}
C、static void MyPoint ( int x, int y) {…}
D、static int MyPoint (Point p) {…}
26、下面哪几个函数是public void example(){...}的重载函数?( A )
A、public void Example( int m){...}
B、public int example(){...}
C、public void example2(){...}
D、public int example ( int m, float f){...}
27、已知如下定义:String s = "story";下面哪个表达式是合法的( )
A、s += "books";
B、char c = s[1];
C、int len = s.length;
D、double len = 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 )。
public class MyMain{
public static void main(String args){
System.out.println(“Hello Java”);
}
}
A、正常输出Hello Java
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("= = is succeeded");
5. if (s1.equals(s2))
6.System.out.println(".equals() is succeeded");
A、行4与行6都将执行
B、行4执行,行6不执行
C、行6执行,行4不执行
D、行4、行6都不执行
33、下述语句的输出结果是( )。
class Something {
int i;
public void doSomething() {
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= . ( )
int i=10;
int j=++i;
int k=i++;
A、11,11,11,12
B、10,11,12,12
C、10,11,11,12
D、11,11,12,11
36、short s1=1;s1=s1+1;有什么错?改正后正确的应该是( )
A、s1=(short)(s1+1);
B、s1=(int) (s1+1);
C、(s1+1) =short s1;
D、(s1+1) =int s1;
37、下列代码输出是( )
System.out.println("*\n**\n***\n**** ");
A、*\n**\n ***\n ****
B、
C、
D、* ** *** ****
38、给出下列的代码,哪行在编译时可能会有错误?( )
① public void modify(){
② int i, j, k;
③ i = 100;
④ while ( i > 0 ){
⑤ j = i * 2;
⑥ System.out.println (" The value of j is " + j );
⑦ k = k + 1;
⑧ }
⑨ }
A、line 4
B、line 6
C、line 7
D、line 8
39、已知有下列类的说明,则下列哪个语句是正确的?( )
public class Test {
private float f = 1.0f;
int m = 12;
static int n=1;
public static void main(String args []) {
Test t = new Test(); } }
A、t.f;
B、this.n;
C、Test.m;
D、Test.f;
40、下列代码的执行结果是 ( )
public class Test {
public int aMethod() {
static int i=0;
i++;
System.out.println(i); }
public static void main(String args[]) {
Test test = new Test();
test.aMethod(); } }
A、编译错误
B、0
C、1
D、运行成功,但不输出
Java基础知识填空题。
(每空1分,共15分)
1、JAVA基本数据类型有byte、、、 int 、。
2、Java源程序是由类定义组成的,每个程序中可以定义若干个类,但是只有一个类是主类。
在Java Application中,这个主类是指包含方法的类。
3、执行下列语句:
int m,n,i=3,j=2;
m=i++;
n=--j;
则:
m= 、
n= 、
i= 、
j= 。
4、int x=1;int y=2;如表达式y=x++/++y;那么y的值是
5、转义字符‘\n’的含义是。
6、分别写出用new运算符和不用new运算符生成字符串“ I like java”对象的方法String str=
String str=
7、int a=10,b=11,c=12;表达式(a+b)<c&&b==c的值是。
8、方法,不需要类的实例化对象,可以直接通过类名来调用;
方法,其名字和类名相同,并且在生成对象时被调用。
程序填空题。
(每题5分,共25分)
1、下列程序的功能是判断某一年是否为闰年.请在横线处填入适当内容,使程序能够正确运行.
import java.io.*;
public class LeapYear
{
public static void main(String arge[])throws IOException
{
InputStreamReader ir;
BufferedReader in;
ir=new InputStreamReader( );
in=new BufferedReader(ir);
System.out.println("输入年份是:");
String s= ;
int year=Integer.parseInt(s);
if (year %4 == 0 && year % 100!= 0 || year%400==0)
{
System.out.println(""+year+"年是闰年.");
}
{
System.out.println(""+year+"年不是闰年");
}
}
}
2、下面程序对数组中每个元素赋值,然后按逆序输出.请在横线处填入适当内容,使程序能正常运行.
import java.io.*;
public class ArrayTest
{
public static void main(String args[])
{
int i;
int a[] = new int[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 !”.请在下面横线处填入正确的方法名,使程序可以正确运行.
import java.io.*;
import java.awt.*;
import java.awt.event.*;
public class welcomenYou
{
public static void main(String args[])
{
FrameInOut f=new FrameInOut();
f.setVisible( );
}
}
class FrameInOut extends Frame implements ActionListener
{
Label prompt;
TextField input,output;
Button btnn;
public FrameInOut()
{
prompt=new Label("Please input your name");
input=new TextField(10);
output=new TextField(25);
btnn=new Button("Exit");
(new FlowLayout());
add(prompt);
add(input);
add(output);
add(btnn);
input.addActionListener( );
btnn.addActionListener(this);
setSize(300,200);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==input)
output.setText(input.getText()+"Welcome you!");
else
{
dispose();
System.exit(0);
}
}
}
4、下列程序完成的功能是:
import java.io.*;
public class Class1
{
public static void main(String args[ ])
{
int i,Max,Min;
int a[]= {12,67,8,98,23,56,124,55,99,100};
Max = Min = a[0];
for (i=1;i<a.length;i++)
{
if (a[i]<Min)
Min = a[i];
if (a[i]>Max)
Max = a[i];
}
System.out.println(Max+" "+Min);
System.out.println("");
}
}
5、下面程序的运行结果是:
public class example
{
public static void main(String args[])
{
int count=0;
for(int i=0;i<3;i++)
resume:
for(int j=0;j<4;j++)
for(int k=0;k<5;k++)
{
++count;
System.out.println("\ti="+i);
System.out.println("\tj="+j);
System.out.println("\tk="+k);
System.out.println("\tcount="+count);
if((i==1)&&(j==2)&&(k==3))
break resume;
}
System.out.println("\tcount="+count);
}。