本科JAVA语言程序开发历年试题和答案.docx
《本科JAVA语言程序开发历年试题和答案.docx》由会员分享,可在线阅读,更多相关《本科JAVA语言程序开发历年试题和答案.docx(44页珍藏版)》请在冰点文库上搜索。
本科JAVA语言程序开发历年试题和答案
本科JAVA语言程序开发
一、单选择题
1、编译JavaApplication源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(class)。
2、已知表达式intm[]={0,1,2,3,4,5,6};下面哪个表达式的值与数组元素个数相等?
(m.length)。
3、在JavaApplet程序用户自定义的Applet子类中,一般需要覆盖父类的(paint())方法来完成一些画图操作。
4、如下哪个字符串是Java中的标识符?
(fieldname)。
5、关于被私有访问控制符private修饰的成员变量,以下说法正确的是(只能被该类自身所访问和修改)
6、Java中main()函数的值是什么类型?
(void)
7、执行完代码int[]x=newint[25];后,以下哪项说明是正确的(x[24]为0)
8、以下代码段执行后的输出结果为
(1)
intx=3;inty=10;System.out.println(y%x);
17、如果一个Java程序中有多个类,其中有一个public类,下面说法正确的是(编译之后只能生成一个类文件)
18、关于访问修饰符,下列说法正确的是(所有成员都可以通过对象名+点操作符访问)
19、用public修饰的类如:
publicclasscar(…);正确的说法是(仅能被本程序包中的类使用)
9、已知如下代码:
public class Test{
long a[] = new long[10];
public static void main(String arg[]){
System.out.println(a[6]);
}
}
请问下面哪个语句是正确的(When compile, some error will occur.)
10、给出下面的代码段:
public class Base{
int w, x, y ,z;
public Base(int a,int b){
x=a; y=b;
}
public Base(int a,int b,int c,int d){
// assignment x=a, y=b
w=d;
z=c;
}
}
在代码说明// assignment x=a, y=b处写入如下哪个代码是正确的?
(this(a,b);)
11、给出如下代码:
classTest{
privateintm;
publicstaticvoidfun(){
//somecode...
}
}
如何使成员变量m被函数fun()直接访问(将privateintm改为staticintm)
12、下面哪个函数是publicvoidexample(){...}的重载函数(publicintexample(intm,floatf){...})
13、以命令”javaMyTestabc”执行文件MyTest.class后,表达式(args[0]="a")为真
14、当包含applet 的页面被重新加载时会自动调用以下哪个函数?
(start())
15、在编写JavaApplet程序时,若需要对发生的事件作出响应和处理,一般需要在程序的开头写上(importjava.awt.event.*;)语句
16、设x=1,y=2,z=3,则表达式y+=z--/++x的值是(3)。
17、不允许作为类及类成员的访问控制符的是(static)。
18、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(staticvoidmethod())。
1.Javaapplication中的主类需包含main方法,以下哪项是main方法的正确形参?
(Stringar[])
2.以下关于继承的叙述正确的是(在Java中类只允许单一继承)。
3.paint()方法使用哪种类型的参数?
(Graphics)
4.以下哪个不是Java的原始数据类型(Boolean)
5.以下哪项可能包含菜单条(Frame)。
6.若需要定义一个类域或类方法,应使用哪种修饰符?
(static)
7.在浏览器中执行applet程序,以下选项中的哪个方法将被最先执行(init())。
8.给出下面代码,关于该程序以下哪个说法是正确的?
(输出零)
publicclassPerson{
staticintarr[]=newint[5];
publicstaticvoidmain(Stringa[])
{
System.out.println(arr[0]);
}
}
9.下列哪些语句关于Java内存回收的说明是正确的?
(内存回收程序负责释放无用内存)
10.以下哪个关键字可以用来对对象加互斥锁?
(synchronized)
11.以下代码段执行后的输出结果为(-1)
intx=-3;
inty=-10;
System.out.println(y%x);
12.有以下程序片段,下列哪个选项不能插入到行1。
(publicclassMyClass{})
1.
2.publicclassInteresting{
3.//dosth
4.}
13、如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象(FileInputStream)
13.设有下面两个赋值语句:
a=Integer.parseInt(“12”);
b=Integer.valueOf(“12”).intValue();
下述说法正确的是(a和b都是整数类型变量并且值相等。
)。
14.FilterOutputStream是BufferedOutputStream、DataOutputStream及PrintStream的父类,以下哪个类可能是FilterOutputStream构造函数的参数类型?
(OutputStream)
15.在编写JavaApplet程序时,需在程序的开头写上(importjava.applet.Applet;)语句。
16.类Parent、Child定义如下:
1.publicclassParent
2.{publicfloataFun(floata,floatb)throws
3.IOException{}
4.}
5.publicclassChildextendsParent{
6.
7.}
将以下哪种方法插入行6是不合法的。
(floataFun(floata,floatb){})
17.在使用interface声明一个接口时,只可以使用(public)修饰符修饰该接口。
18、有以下方法的定义,请选择该方法的返回类型(double)。
ReturnTypemethod(bytex,doubley){
return(short)x/y*2;
}
19、关于以下代码段的说法正确的是(编译成功,过程中也没有异常抛出)
1.Strings="abcde";
2.StringBuffers1=newStringBuffer("abcde");
3.if(s.equals(s1))
4.s1=null;
5.if(s1.equals(s))
6.s=null;
20、编译并运行以下程序,以下描述哪个选项是正确的(行2出错,不能成功编译)
1.classX{
2.protectiedStringtoString()i{
3.returnsuper.toString();}
4.}
1、如下哪个是Java中的标识符(width)
3、已知如下定义:
Strings="story";下面哪个语句不是合法的(intlen=s.length;)
4、如下哪个是Java中有效的关键字(false)
5、下面的代码段执行之后count的值是什么(16)
intcount=1;
for(inti=1;i<=5;i++){
count+=i;
}
System.out.println(count);
6、定义一个类,必须使用的关键字是(class)
7、定义一个接口必须使用的关键字是(interface)
8、如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是(p.add(b,"South");)
9、声明并创建一个按钮对象b,应该使用的语句是(Buttonb=newButton();)
10、Frame对象默认的布局管理器是(BorderLayout)
11、下列哪一个import命令可以使我们在程序中创建输入/输出流对象(importjava.io.*;)
12、下面哪一个import命令可以为我们提供编写网络应用程序的类(import.*;)
1、下列程序段执行后的结果是(aceg)。
Strings=newString("abcdefg");
for(inti=0;iSystem.out.print(s.charAt(i));
}
2、有整型数组:
int[]x={12,35,8,7,2};,则调用方法Arrays.sort(x)后,数组x中的元素值依次是(2781235).
3、下面的程序段创建了BufferedReader类的对象in,以便读取本机c盘my文件夹下的文件1.txt。
File构造函数中正确的路径和文件名的表示是("c:
\\my\\1.txt")。
8、下面程序段执行后b的值是(true)。
Integerinteg=newInteger(9);
booleanb=integinstanceofObject;
4、应用程序的main方法中有以下语句,则输出的结果是(truefalse)。
Strings1=newString("abc");
Strings2=newString("abc");
booleanb1=s1.equals(s2);
booleanb2=(s1==s2);
System.out.print(b1+""+b2);
5、应用程序的main方法中有以下语句,则输出的结果是(abcde)。
Hashtablehashtable=newHashtable();
hashtable.put("x","12345");
hashtable.put("y","67890");
hashtable.put("a","abcde");
System.out.println(hashtable.get("a"));
6、下面语句的功能是(打开当前目录下的文件1.txt,既可以向文件写数据,也可以从文件读数据。
)。
RandomAccessFileraf2=newRandomAccessFile("1.txt","rw");
7、应用程序的main方法中有以下语句,则输出的结果是(67890)。
Strings="12345#aaa#bbb#67890";
intn=s.indexOf("#");
intk=s.indexOf("#",n+1);
intm=s.indexOf("#",k+1);
Strings2=s.substring(m+1);
System.out.println(s2);
9、应用程序Test.java的源程序如下,在命令行键入:
javaTestaaabbc
回车后输出的结果是(32)。
publicclassTest{
publicstaticvoidmain(Stringargs[]){
intk1=args.length;
intk2=args[1].length();
System.out.print(k1+""+k2);
}
}
10、应用程序的main方法中有以下语句,则输出的结果是(32)。
intb[][]={{1},{2,2},{2,2,2}};
intsum=0;
for(inti=0;ifor(intj=0;j
sum*=b[i][j];
}
}
System.out.println("sum="+sum);
11、应用程序的main方法中有以下语句,则执行后输出的结果是(168)。
int[]x={125,21,5,168,98};
intmax=x[0];
for(inti=1;iif(x[i]>max)
max=x[i];
}
System.out.println(max);
12、程序Test.java编译运行后输出的结果是(java2)。
publicclassTest{
Strings1="java";
publicstaticvoidmain(Stringargs[]){
intz=2;
Testt=newTest();
System.out.println(t.s1+z);
}
}
13、应用程序的main方法中有以下语句,则输出的结果是(12.5)。
Strings1="0.5",s2="12";
doublex=Double.parseDouble(s1);
inty=Integer.parseInt(s2);
System.out.println(x+y);
14、下面的程序创建了一个文件输出流对象,用来向文件test.txt中输出数据,假设程序当前目录下不存在文件test.txt,编译下面的程序Test.java后,将该程序运行3次,则文件test.txt的内容是(ABCDEABCDEABCDE)。
importjava.io.*;
publicclassTest{
publicstaticvoidmain(Stringargs[]){
try{
Strings="ABCDE";
byteb[]=s.getBytes();
FileOutputStreamfile=newFileOutputStream("test.txt",true);
file.write(b);
file.close();
}catch(IOExceptione){
System.out.println(e.toString());
}
}
}
15、下面那些方法不是接口Collection中已声明的方法(得到元素个数的length()方法)?
1、编译JavaApplet源程序文件产生的字节码文件的扩展名为(class)。
2、顺序执行下面的语句后,变量b的值是(false)。
intx=3,y=5;
booleanb=x>y&&x++==y--;
3、在编写JavaApplication的图形用户界面程序时,必须在程序的开头写上(importjava.awt.*;)语句。
4、下面程序段的输出结果是(Hello,Joy!
)。
StringMyStr="Hello,";
MyStr=MyStr+"Joy!
";
System.out.println(MyStr);
5、下列关于静态初始化器的叙述中,哪一个是正确的?
(静态初始化器是在其所属的类加载内存时由系统自动调用执行。
)
6、对于构造函数,下列叙述不正确的是(子类不允许调用父类的构造函数。
)。
7、下面的是关于类及其修饰符的一些描述,不正确的是:
(final类不但可以用来派生子类,也可以用来创建final类的对象。
)。
8、在JavaApplet程序用户自定义的Applet子类中,常常重载(paint())方法对Applet程序的主类进行初始化。
9、在使用interface声明一个接口时,只可以使用(public)修饰符修饰该接口。
10、设有下面的两个类定义:
classAA{
inta=5,b=7;
voidShow(){
System.out.println(a+b);}
}
classBBextendsAA{
intb=10;
voidShow(){
System.out.println(a+b);}
}
则顺序执行如下语句后输出结果为:
(15)
AAa=newAA();BBb=newBB();b.Show();
1、Java语言使用的字符码集是(Unicode)
2、Java的char类型采用的是Unicode编码方案,每个Unicode码占用的比特位数为(16)。
3、Java中整数类型包括(int,short,long,byte)。
4、Java程序的执行过程是用到的一套JDK工具,其中javac,exe是指(Java编译器)
5、Java源文件和编译后的文件扩展名分别为(.java和.class)
6、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(staticvoidmethod())
7、Jcreator是(一种程序辅助设计工具)
8、下列说法中,哪个是正确的?
(applet是Java的一类特殊应用程序,它嵌入HTML中,随主页发布到互联网上)
9、下列哪个是合法的Java标识符?
(_$theLastOne)
10、以下哪个不是Java的的关键字?
(TRUE)
11、下列哪个不是Java的关键字?
(then)
12、下面哪些是Java的源始的数据类型?
(short)
13、下面哪个语句能够定义并且初始化一个字符串变量(Strings=”Hello”;)
14、执行完int[]x=newint[25];代码后,选项中哪个是正确的。
(x[24]为0)
15、dowhile是(循环结构)
16、break语句(借助于标号,可以实现任何外层循环中断)
20、Java中,要设置一个类的属性为私有的,应使用的关键字是(private)
二、判断题
1、Java的字符类型采用的是ASCII编码。
(×)
2、classA{...}等价于classAextendsObject{...}。
(√)
3、抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。
(×)
4、Java中数组的元素可以是简单数据类型的量,也可以是某一类的对象。
(√)
5、一个Java类可以有多个父类。
(×)
6、子类的域和方法的数目一定大于等于父类的域和方法的数目。
(×)
7、System类不能实例化,即不能创建System类的对象。
(√)
8、接口里的方法必须全部都声明成abstract。
(√)
9、最终类不能派生子类,最终方法不能被重载。
(√)
10、设String对象s=”Hello”,运行语句System.out.println(s.concat(“World!
”));后String对象s的内容为”Helloworld!
”,所以语句输出为:
Helloworld!
。
(×)
1.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。
(√)
2.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。
(×)
3.Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。
(×)
4.构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void。
(×)
5.在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。
(√)
6.拥有abstract方法的类是抽象类,但抽象类中可以没有abstract方法。
(√)
7.Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。
(×)
8.静态初始化器是在其所属的类加载内存时由系统自动调用执行。
(√)
9.在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。
(×)
三、填空题
1、根据程序的构成和运行环境的不同,Java源程序分为两类:
_Application__程序和_Applet_程序。
2、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用_2_字节内存空间。
3、在Java程序中,通过类的定义只能实现___单重___重继承,但通过接口的定义可以实现__多重___重继承关系。
4、___抽象_方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类或接口之中定义。
__最终__方法是不能被当前类的子类重新定义的方法。
5、如果一个JavaApplet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是_Applet___类的子类并且存储该源程序文件的文件名为__MyApplet.java__。
6、Java中所有类都是类____Object__的子类。
7、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、编译生成字节码和解释运行字节码。
8、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用2字节内存空间,这样,无论是中文字符还是英文字符,都是占用2字节内存空间。
9、设x=2,则表达式(x++)/3的值是0。
10、若x=5,y=10,则x=y的逻辑值分别为true和false。
11、抽象(abstract)方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。
最终(final)方法是不能被当前类的子类重新定义的方法。
12、创建一个名为MyPackage的包的语句是packageMyPackage;,
该语句应该放在程序的位置为:
应该在程序第一句。
13、设有数组定义:
intMyIntArray[]={10,20,30,40,50,60,70};则执行以下几个语句后的输出结果是120。
ints=0;
for(inti=0;iif(i%2==1)
s+=MyIntArray[i];
System.out.println(s);
14、在Java程序中,通过类的定义只能实现单重继承,但通过接口的定义可以实现多重继承关系。
1