060219JAVA程序设计△(补充必须打印)(江苏开放大学本科期末试卷)_第1页
060219JAVA程序设计△(补充必须打印)(江苏开放大学本科期末试卷)_第2页
060219JAVA程序设计△(补充必须打印)(江苏开放大学本科期末试卷)_第3页
060219JAVA程序设计△(补充必须打印)(江苏开放大学本科期末试卷)_第4页
060219JAVA程序设计△(补充必须打印)(江苏开放大学本科期末试卷)_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

060219JAVA程序设计△第第页一、单选择题1、编译JavaApplication源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(class)。2、设x=1,y=2,z=3,则表达式y+=z--/++x的值是(3)。3、不允许作为类及类成员的访问控制符的是(static)。4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(staticvoidmethod())。二、填空题1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、编译生成字节码和解释运行字节码2、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用2字节内存空间,这样,无论是中文字符还是英文字符,都是占用2字节内存空间。3、设x=2,则表达式(x++)/3的值是0。4、若x=5,y=10,则x<y和x>=y的逻辑值分别为true和false。5、抽象方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。最终方法是不能被当前类的子类重新定义的方法。6、创建一个名为MyPackage的包的语句是packageMyPackage;,该语句应该放在程序的位置为:应该在程序第一句。7、设有数组定义:intMyIntArray[]={10,20,30,40,50,60,70};则执行以下几个语句后的输出结果是120。ints=0;for(inti=0;i<MyIntArray.length;i++)if(i%2==1)s+=MyIntArray[i];System.out.println(s);8、在Java程序中,通过类的定义只能实现单重继承,但通过接口的定义可以实现多重继承关系。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.//dosth4.}13.设有下面两个赋值语句:a=Integer.parseInt(“12”);b=Integer.valueOf(“12”).intValue();下述说法正确的是(a和b都是整数类型变量并且值相等。)。14.FilterOutputStream是BufferedOutputStream、DataOutputStream及PrintStream的父类,以下哪个类可能是FilterOutputStream构造函数的参数类型?OutputStream15.在编写JavaApplet程序时,需在程序的开头写上(importjava.applet.Applet;)语句。16.类Parent、Child定义如下:1. publicclassParent2.{publicfloataFun(floata,floatb)throws3.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)2、如下哪个是Java中的标识符(fieldname)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.*;)13、如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象(FileInputStream)

1.编译Java

Applet源程序文件产生的字节码文件的扩展名为(class

)。

2.main方法是Java

Application程序执行的入口点,关于main方法的方法头以下哪项是合法的(

)?

A、public

static

void

main(public

static

void

main(String

args[]))

3.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(

static

void

method()

)。

4.下列哪个是合法的Java标识符?(

FirstJavaApplet

_$theLastOne

5.Java

Application源程序的主类是指包含有(main方法

)方法的类。

6.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用(16

)个比特位。

7.设a=8,则表达式

a>>>2的值是(2

)。

8.若a的值为3时,下列程序段被执行后,c的值是多少?(3)

c=1;

if

(a>0)

if

(a>3)

c=2;

else

c=3;

else

c=4;

9.在编写Java

Application程序时,若需要使用到标准输入输出语句,必须在程序的开头写上(import

java.io.*;

)语句。

10.对于构造函数,下列叙述正确的是(构造函数是类的一种特殊函数,它的方法名必须与类名相同。构造函数的主要作用是完成对类的对象的初始化工作。一般在创建新对象时,系统会自动调用构造函数。)。

11.下面的是关于类及其修饰符的一些描述,正确的是:(

abstract类只能用来派生子类,不能用来创建abstract类的对象。abstract不能与final同时修饰一个类。abstract方法必须在abstract类中声明,但abstract类定义中可以没有abstract方法。)。

12.若需要定义一个类域或类方法,应使用哪种修饰符?(static

13.若在某一个类定义中定义有如下的方法:abstract

void

performDial();该方法属于(抽象方法)。

14.下列关于静态初始化器的叙述中,哪一个是正确的?(

静态初始化器是对类自身进行初始化。静态初始化器是在其所属的类加载内存时由系统自动调用执行。)

15.不使用static修饰符限定的方法称为对象(或实例)方法,下列哪一个说法是正确的?(实例方法可以直接调用父类的类方法。实例方法可以直接调用本类的类方法。)

16.设有下面两个类的定义:

class

Person{

class

Student

extends

Person{

long

id;

//身份证号

int

score;

//入学总分

String

name;

//姓名

int

getScore(){

}

return

score;

}

}

问:类Person和类Student的关系是(继承关系)。

17.设有下面的两个类定义:

class

AA{

void

Show(){System.out.println("我喜欢Java!");

}

class

BBextends

AA{

void

Show(){System.out.println("我喜欢C++!");

}

则顺序执行如下语句后输出结果为:(

我喜欢Java!

我喜欢C++!

AA

a;

BB

b;

a.Show();

b.Show();

18.设有下面的一个类定义:

class

AA{

static

void

Show(){System.out.println("我喜欢Java!");}

}

class

BB{

void

Show(){System.out.println("我喜欢C++!");}}

若已经使用AA类创建对象a和BB类创建对象b,则下面哪一个方法调用是正确的:(AA.Show();

b.Show();

19.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序特性称为(重载

)。

20.对于构造函数,下列叙述正确的是(构造函数也允许重载。子类无条件地继承父类的无参构造函数。在同一个类中定义的重载构造函数可以相互调用。)。

21.在使用interface声明一个接口时,只可以使用(public)修饰符修饰该接口。

22.设有下面两个赋值语句:

a=Integer.parseInt("1024");

b=Integer.valueOf("1024").intValue();

下述说法正确的是(a和b都是整数类型变量并且它们的值相等。)。

23.在Java

Applet程序用户自定义的Applet子类中,常常重载(

paint())方法在Applet的界面中显示文字、图形和其它界面元素。24.下面的语句的作用是:(创建一个向量类对象MyVector,有100个元素的空间,若空间使用完时,以50个元素空间单位递增。)。

Vector

MyVector=new

Vector(100,50);

25.在Java中,存放字符串常量的对象属于(String)类对象。

26.在Java中,开发图形用户界面的程序需要使用一个系统提供的类库,这个类库就是(java.awt.event)包。

27.在Java图形用户界面编程中,若显示一些不需要修改的文本信息,一般是使用(

Label

)类的对象来实现。

28.创建一个标识有"关闭"按钮的语句是(

Button

b=new

Button("关闭");)。

29.在编写异常处理的Java程序中,每个catch语句块都应该与(try

)语句块对应,使得用该语句块来启动Java的异常处理机制。

30.在编写Java

Applet程序时,若需要对发生的事件作出响应和处理,一般需要在程序的开头写上(

import

java.awt.event.*;)语句。

31.对于子类的构造函数说明,下列叙述中不正确的是(子类不但可以继承父类的无参构造函数,也可以继承父类的有参构造函数。)。

32.Java语言是(面向对象的解释型高级编程语言)。33.下列的变量定义中,错误的是(int123_$;)。34.以下的变量定义语句中,合法的是(int_abc_=3721L;)。35.以下字符常量中不合法的是('我')。36.下列程序段执行后t5的结果是(9)。intt1=9,t2=11,t3=8;intt4,t5;t4=t1>t2?t1:t2+t1;t5=t4>t3?t4:t3;37.设a,b,c,d均为int型的变量,并已赋值,下列表达式的结果属于非逻辑值的是(++a*b--+d)。38.以下由do-while语句构成的循环执行的次数是(执行1次)。intk=0;do{++k;}while(k<1);39.下列语句序列执行后,k的值是(17)。intj=8,k=15;for(inti=2;i!=j;i++){j-=2;k++;}40.下列语句序列执行后,j的值是(5)。intj=3,i=2;while(--i!=i/j)j=j+2;41.下列语句序列执行后,k的值是(54)。intx=6,y=10,k=5;switch(x%y){case0:k=x*y;case6:k=x/y;case12:k=x-y;default:k=x*y-x;}42.下列语句序列执行后,a的值是(1)。inta=13;a%=a/5;43.既能作为类的修饰符,也能作为类成员的修饰符的是(public)。44.下列选项中,用于定义接口的关键字是(interface)。45.下列类头定义中,错误的是(publicxextendsy{})。46.下列选项中,用于在定义类头时声明父类名的关键字是(extends)。47.设i,j为类x中定义的double型变量名,下列x类的构造函数中不正确的是(doublex(doublek){i=k;returni;})。48.下列方法定义中,不正确的是(publicstaticx(doublea){...})。49.能从循环语句的循环体中跳出的语句是(break语句)。50.若有循环:intx=5,y=20;do{y-=x;x++;}while(++x<--y);则循环体将被执行(2次)。51.定义类头时,不可能用到的关键字是(private)。52.在一个应用程序中有如下定义:inta[]={1,2,3,4,5,6,7,8,9,10};,为了打印输出数组a的最后一个元素,下面正确的代码是(System.out.println(a[9]);)。53.若一个类中对某个方法进行了重载,能够区分这些重载方法的手段是(它们的参数表的不同)。54.下面是有关子类继承父类构造函数的描述,其中正确的是(子类必须通过super关键字调用父类的构造函数。)。55.下面说法正确的是(final可修饰类、属性、方法。)。56.下列哪个选项是合法的标识符?_name

57.下列哪个选项是Java调试器,如果编译器返回程序代码的错误,可以用它对程序进行调试?jdb.exe

58.下列的哪个选项可以正确用以表示八进制值8?010

59.下列的哪个赋值语句是不正确的?floatf=11.1;

60.下列的哪个赋值语句是正确的?inta=(int)12.0;

61.给出下列的代码,哪行在编译时可能会有错误?line7

①publicvoidmodify(){

②inti,j,k;

③i=100;

④while(i>0){

⑤j=i*2;

⑥System.out.println("Thevalueofjis"+j);

⑦k=k+1;

⑧}

⑨}

62.下列关于继承的哪项叙述是正确的?java的单一继承使代码更可靠

63.下列哪个修饰符可以使在一个类中定义的成员变量只能被同一包中的类访问?无修饰符

64.给出下列代码,如何使成员变量m被方法fun(将privateintm改为staticintm)直接访问?

classTest

{

privateintm;

publicstaticvoidfun()

{

...

}

}

65.已知有下列类的说明,则下列哪个语句是正确的?t.f;

publicclassTest

{

privatefloatf=1.0f;

intm=12;

staticintn=1;

publicstaticvoidmain(Stringarg[])

{

Testt=newTest();

}

}

66.给出下列代码,则数组初始化中哪项是不正确的?array2=array1

byte[]array1,array2[];

bytearray3[][];

byte[][]array4;

67.下列代码的执行结果是编译错误

publicclassTest

{publicintaMethod()

{

staticinti=0;

i++;

System.out.println(i);

}

publicstaticvoidmain(Stringargs[])

{

Testtest=newTest();

test.aMethod();

}

}

68.下列关于内部类的说法不正确的是内部类不可以用abstract修饰符定义为抽象类

69.顺序执行下列程序语句后,则b的值是Hel

Stringa="Hello";

Stringb=a.substring(0,2);

70.在oneMethod()方法运行正常的情况下,程序段将输出什么?condition1finally

publicvoidtest()

{

try{oneMethod();

System.out.println("condition1");

}catch(ArrayIndexOutOfBoundsExceptione)

{

System.out.println("condition2");

}catch(Exceptione)

{

System.out.println("condition3");

}finally

{

System.out.println("finally");

}

}

71.下列常见的系统定义的异常中,哪个是输入、输出异常?IOException

72.下列哪个不是nio包的新特点?阻塞I/O

73.下列哪个选项是正确计算42度(角度)的余弦值?doubled=Math.cos(Math.toRadians(42));

74.下列InputStream类中哪个方法可以用于关闭流?close()

75.下列方法中哪个是执行线程的方法?run()

76.下列关于Frame类的说法不正确的是Frame被默认初始化为可见

77.下列Java常见事件类中哪个是鼠标事件类?MouseEvent

78.在Applet的关键方法中,下列哪个方法是关闭浏览器以释放Applet占用的所有资源?destroy()

79.下列哪个是面向大型企业级用容器管理专用构件的应用平台?J2EE

80.下列哪个选项的java源文件代码片段是不正确的?importjava.io.*;

packagetestpackage;

publicclassTest{}1.定义类的保留字是(class),定义接口的保留字是(interface)。2.Socket通常也称为(套接字),用于描述(IP地址)和(端口)。3.线程的优先级在(1)至(10)之间,数值越大(任务越紧急)。4.构造方法是一种特殊的成员方法,构造方法名与(类名)相同。5.Java语言只允许单继承,指每个类只能有一个(父类)。6.Java源程序的扩展名是(.java),经过编译后的程序的扩展名是(.class)。7.在一个时间只能由一个线程访问的资源称为(临界资源)。访问临界资源的代码(临界代码)。8.在多线程系统中,多个线程之间有(同步)和(互斥)两种关系。二、选择题1.关于选择结构下列哪个说法正确?(if语句可以没有else语句对应)2.while循环和do…while循环的区别是:(do…while循环是先循环后判断,所以循环体至少被执行一次)3.关于for循环和while循环的说法哪个正确?(while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果)4.下列修饰符中与访问控制无关的是(public)5.void的含义:(方法没有返回值)6.return语句:(方法中可以有多句return)7.关于对象成员占用内存的说法哪个正确?(同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间)8.下列说法哪个正确?属性可以是简单变量,也可以是一个对象9.下列说法哪个正确?(一个程序可以包含多个源文件)10.关于方法main()的说法哪个正确?(一个类中可以没有main()方法)11.构造函数何时被调用?(创建对象时)12.

抽象方法:(是没有方法体的方法)13.关于继承的说法正确的是:(子类将继承父类的非私有属性和方法。)14.关于构造函数的说法哪个正确?(构造函数与类同名)15.this和super:不能用在main()方法中16.关于super的说法正确的是:是指当前对象的父类17.覆盖与重载的关系是(覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中)18.关于接口哪个正确?(实现一个接口必须实现接口的所有方法)19.异常包含下列哪些内容?(程序执行过程中遇到的事先没有预料到的情况)20.

对于已经被定义过可能抛出异常的语句,在编程时:(必须使用try/catch语句处理异常,或用throws将其抛出)21.

字符流与字节流的区别在于(每次读写的字节数不同)22.下列流中哪个不属于字节流(InputStreamReader)1、当某一线程正处于休眠状态,而另一个线程用Thread类中的interrupt()方法中断它时,抛出的异常类型是(InterruptedException)。2、下面的程序段的功能是(以上说法都不对)。Filefile1=newFile("d:\\xxx\\yyy\\zzz");file1.mkdirs();3、应用程序的main方法中有以下语句,则输出的结果是(123)。 Strings="xxxxxxxxxxxxxxx#123#456#zzzzz"; intn=s.indexOf("#"); intk=s.indexOf("#",n+1); Strings2=s.substring(n+1,k); System.out.println(s2); 4、关于下面的程序Test.java说法正确的是(程序有编译错误)。publicclassTest{Stringx="1";inty;publicstaticvoidmain(Stringargs[]){intz=2;System.out.println(x+y+z);}}5、应用程序的main方法中有以下语句,则输出的结果是(10)。 intb[][]={{1,1,1},{2,2},{3}};intsum=0;for(inti=0;i<b.length;i++){for(intj=0;j<b[i].length;j++){sum+=b[i][j];}}System.out.println("sum="+sum);6、应用程序的main方法中有以下语句,则执行后输出的结果是(5)。int[]x={125,21,5,168,98};intmin=x[0];for(inti=1;i<x.length;i++){ if(x[i]<min) min=x[i];}System.out.println(min);7、应用程序的main方法中有以下语句,则输出的结果是(cccbbbaaa)。Hashtablehashtable=newHashtable();hashtable.put("100","aaa");hashtable.put("200","bbb");hashtable.put("300","ccc");System.out.println(hashtable.get("300").toString() +hashtable.get("200").toString()+hashtable.get("100").toString());8、以下关于java异常说法不正确的是(以上说法都不对。)。9、下面的程序创建了一个文件输出流对象,用来向文件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()); } }}10、下面说法不正确的是(Map接口将键映射到值,键可以重复,但每个键最多只能映射一个值)?二、多选题1、下面哪些关键字能用来控制对类成员的访问(Public;protected;private)?2、下面关于Java中异常处理try块的说法正确的是(try块后通常应有一个catch块,用来处理try块中抛出的异常;可能抛出异常的方法调用应放在try块中。)?3、线程对象的生命周期中,通常经历下面哪些状态(新建;运行;就绪;死亡)。4、定义如下的二维数组b,下面的说法正确的是(b.length的值是3;b[1][1]的值是5;二维数组b的第一行有3个元素)。 intb[][]={{1,2,3},{4,5},{6,7,8}}};5、类B是一个抽象类,类C是类B的非抽象子类,下列创建对象x1的语句中正确的是(x1=newC();x1=newC();)。6、下面关于进程、线程的说法正确的是(进程是程序的一次动态执行过程。一个进程在其执行过程中,可以产生多个线程——多线程,形成多条执行线索。线程是比进程更小的执行单位,是在一个进程中独立的控制流,即程序内部的控制流。线程本身不能自动运行,栖身于某个进程之中,由进程启动执行。Java多线程的运行与平台相关。对于单处理器系统,多个线程分时间片获取CPU或其他系统资源来运行。对于多处理器系统,线程可以分配到多个处理器中,从而真正的并发执行多任务。)。7、下面关于外部类和内部类成员的相互访问的规则中,正确的选项是(内部类可以直接访问外部类的成员;外部类可通过创建内部类的实例来访问内部类的成员)。1、下列程序段执行后的结果是(aceg)。Strings=newString("abcdefg");for(inti=0;i<s.length();i+=2){System.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")。Filef=newFile(填代码处);file=newFileReader(f);in=newBufferedReader(file);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); 8、下面程序段执行后b的值是(true)。 Integerinteg=newInteger(9); booleanb=integinstanceofObject;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;i<b.length;i++){for(intj=0;j<b[i].length;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;i<x.length;i++){ if(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、下面main()方法的定义哪些是正确的(publicstaticvoidmain(Stringargs[]){};publicstaticvoidmain(String[]args){};publicstaticvoidmain(String[]x){})?2、线程对象的生命周期中,通常经历下面哪些状态(新建;运行;就绪;死亡)。3、下面说法正确的是(final可修饰类、属性(变量)、方法;abstract可修饰类、方法;抽象方法只有方法头,没有方法体;关键字final和abstract不能同时使用。)。4、下面关于java中输入/输出流的说法正确的是(FileInputStream与FileOutputStream类用读、写字节流;Reader与Writer类用来读、写字符流;RandomAccessFile既可以用来读文件,也可以用来写文件;File类用来处理与文件相关的操作。)。5、下面说法正确的是(如果某公共接口被声明在一个源文件中,则接口必须与源文件具有相同名字;如果源文件包含import语句,则该语句必须是除空行和注释行外的第一个语句行;如果某源文件包含package语句,则该语句必须是第一个非空、非注释行;接口中的方法必定是抽象方法,但可以不用关键字abstract修饰。)。6、下面关于Java中异常处理try块的说法正确的是(try块后通常应有一个catch块,用来处理try块中抛出的异常;可能抛出异常的方法调用应放在try块中。)?7、下面关于进程、线程的说法正确的是(进程是程序的一次动态执行过程。一个进程在其执行过程中,可以产生多个线程——多线程,形成多条执行线索;线程是比进程更小的执行单位,是在一个进程中独立的控制流,即程序内部的控制流。线程本身不能自动运行,栖身于某个进程之中,由进程启动执行;Java多线程的运行与平台相关;对于单处理器系统,多个线程分时间片获取CPU或其他系统资源来运行。对于多处理器系统,线程可以分配到多个处理器中,从而真正的并发执行多任务。)。8、关于BufferedReader类的readLine()方法,以下说法正确的是(方法readLine()每次读取一行数据;该方法可能抛出IOException异常,调用该方法时通常应将它放到try块中,并通过catch块处理异常;如果读到流的末尾,该方法返回的结果为null。)。一.判断题1.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。(正确)2.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。(错误)3.Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。(错误)4.构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void。(错误)5.在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。(正确)6.拥有abstract方法的类是抽象类,但抽象类中可以没有abstract方法。(正确)7.Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。(错误)8.静态初始化器是在其所属的类加载内存时由系统自动调用执行。(正确)9.在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。(错误)二、填空题1、如果将类MyClass声明为public,它的文件名称必须是MyClass.java才能正常编译。2、Java程序中的单行注释符是__//_____,多行注释符是_/**/______。3、Java中布尔类型的常量有两种,它们是__true_____和_false4、Java中用于定义小数的关键字有两个:___float____和___double,后者精度高于前者。5、Java中用于两个数相等比较的运算符是:__==_____,用于不相等比较的运算符是<>。6、在Java中定义一个字符串类型的变量str的语句是:Stringstr;,定义一个具有10个元素的整型数组a的语句是:int[]arr=newint[10];7、导入mypackage包中的所类的命令是_importmypackage.*;______。8、当声明一个数组intarr[]=newint[5];时,这代表这个数组所保存的变量类型是___int____,数组名是__arr_____,数组的大小为__5_____,数组元素下标的使用范围是0到4。9、假设x=13,y=4,则表达式x%y!=0的值是__true_____,其数据类型是__boolean10、异常处理是由__try_____、_catch______和finally块三个关键所组成的程序块。11、以下程序段的输出结果是__三角形_____ intx=5,y=6,z=4; if(x+y>z&&x+z>y&&z+y>x) System.out.println("三角形"); else System.out.println("不是三角形");12、下面程序段的执行结果是__65432_____ inta[]={2,3,4,5,6}; for(inti=a.length-1;i>=0;i--) System.out.print(a[i]+"");三、写出下面程序的运行结果1、importjava.io.*;publicclassabc{publicstaticvoidmain(Stringargs[]){ABs=newAB("Hello!","IloveJAVA.");System.out.println(s.toString());}}classAB{Strings1;Strings2;publicAB(Stringstr1,Stringstr2){s1=str1;s2=str2;}publicStringtoString(){returns1+s2;}}运行结果:Hello!IloveJAVA.2、importjava.io.*;publicclassabc{publicstaticvoidmain(Stringargs[]){inti,s=0;inta[]={10,20,30,40,50,60,70,80,90};for(i=0;i<a.length;i++)if(a[i]%3==0)s+=a[i];System.out.println("s="+s);}}运行结果:s=1803、importjava.io.*;publicclassabc{publicstaticvoidmain(Stringargs[]){System.out.println("a="+a+"\nb="+b);}}classSubClassextendsSuperClass{intc;SubClass(intaa,intbb,intcc){super(aa,bb);c=cc;}}classSubSubClassextendsSubClass{inta;SubSubClass(intaa,intbb,intcc){super(aa,bb,cc);A=aa+bb+cc;}voidshow(){System.out.println("a="+a+"\nb="+b+"\nc="+c);}}运行结果:a=60b=20c=30三.程序阅读题1.以下程序的输出结果为相等。classStringTest1{ publicstaticvoidmain(String[]args) { Strings1="hello"; Strings2=newString("hello"); if(s1.equals(s2)){ System.out.println("相等"); }else{ System.out.println("不相等"); } }}2.以下程序段的输出结果为56789。publicclassTestArray{publicstaticvoidmain(Stringargs[]){ inti,j; inta[]={5,9,6,8,7}; for(i=0;i<a.length-1;i++){ intk=i; for(j=i;j<a.length;j++) if(a[j]<a[k])k=j; inttemp=a[i]; a[i]=a[k]; a[k]=temp; } for(i=0;i<a.length;i++) System.out.print(a[i]+"");System.out.println();}}3.写出以下程序的功能。importjava.io.*;publicclassTestFile{ publicstaticvoidmain(Stringargs[])throwsException{BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));BufferedWriterbw=newBufferedWriter(newFileWriter(“input.txt"));Strings;while(true) {System.out.print("请输入一个字符串:");System.out.flush();s=br.readLine();if(s.length()==0)break;bw.write(s);bw.newLine();}bw.close();}}功能:从键盘逐一输入字符串,逐一输出至input.txt文件中,直至输入空行4.阅读以下程序,写出输出结果。classAnimal{Animal(){System.out.print("Animal");}}publicclassDogextendsAnimal{Dog(){System.out.print("Dog");}publicstaticvoidmain(String[]args){Dogsnoppy=newDog();}}输出结果:AnimalDog三、程序阅读题1、以下程序的输出结果为Peteris17yearsold!publicclassPerson{ Stringname; intage; publicPerson(Stringname,intage){ =name; this.age=age; } publicstaticvoidmain(String[]args){ Personc=newPerson("Peter",17); System.out.println(+"is"+c.age+"yearsold!"); }}2、以下程序的输出结果为课程号:101课程名:ASP学分:3publicclassCourse{ privateStringcNumber; privateStringcName; privateintcUnit; publicCourse(Stringnumber,Stringname,intunit){ cNumber=number; cName=name; cUnit=unit; } publicvoidprintCourseInfo(){ System.out.println("课程号:"+cNumber+"课程名:"+cName+"学分:"+cUnit); }}classCourseTest{ publicstaticvoidmain(String[]args){ Coursec; c=newCourse("101","ASP",3); c.printCourseInfo(); }}3、以下程序的输出结果为汤姆猫体重:20.0斤。publicclassTom{ privatefloatweight; privatestaticStringname; publicvoidsetWeight(floatweight){ this.weight=weight; } privatevoidout(){ System.out.println(name+"体重:"+weight+"斤"); } publicstaticvoidmain(String[]args){ T="汤姆猫"; Tomcat=newTom(); cat.setWeight(20); cat.out(); }}4、以下程序的输出结果姓名:Tom年龄:15家庭住址:金水区电话:66123456学校:九中publicclassFather{ Stringname,address,tel; intage; publicFather(Stringname,intage){ =name; this.age=age; } voidout(){ System.out.print("姓名:"+name); System.out.print("年龄:"+age); } voidoutOther(){ System.out.print("家庭住址:"+address); System.out.print("电话:"+tel); }}classSonextendsFather{ Stringschool; publicSon(Stringname,intage){ super(name,age); } voidout(){ super.out(); super.outOther(); System.out.println("学校:"+school); } publicstaticvoidmain(Stringargs[]){ Sonson=newSon("Tom",15); son.address="金水区"; son.school="九中"; son.tel="66123456"; son.out(); }}5、下列程序的运行结果是12345publicclassMyClass{ inta[]={1,2,3,4,5}; voidout(){ for(intj=0;j<a.length;j++) System.out.print(a[j]+""); } publicstaticvoidmain(String[]args){ MyClassmy=newMyClass(); my.out(); }}四、简答题1、简述Java中异常处理的机制?首先Java的异常是面向对象的。一个Java的Exception是一个描述异常情况的对象.当出现异常情况时,一个Exception对象就产生了,并放到异常的成员函数里。Java的异常处理是通过5个关键词来实现的:try,catch,throw,throws和finally。1.异常处理:在Java语言的错误处理结构由try,catch,finally三个块组成。其中try块存放将可能发生异常的Java语言,并管理相关的异常指针;catch块紧跟在try块后面,用来激发被捕获的异常;finally块包含清除程序没有释放的资源,句柄等。不管try块中的代码如何退出,都将执行finally块。2.抛出异常:Java语言可以不在方法中直接捕获,而用throw语句将异常抛给上层的调用者。Throw语句就是来明确地抛出一个异常;首先你必需得到一个Throwable的实例句柄,通过参数传到catch中,或者采用new操作符来创建一个。2、什么是继承?通过必要的说明能够实现某个类无需重新定义就拥有另一个类的某些属性和方法,并把这种关系称为继承,先定义的类称为父类,后定义的类称为子类,并且允许多层的继承关系。3、请简述重载和重写的区别?方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写(Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。五、程序设计题1、按以下要求编写程序(1)创建一个Rectangle类,添加width和height两个成员变量(2)在Rectangle中添加两种方法分别计算矩形的周长和面积(3)编程利用Rectangle输出一个矩形的周长和面积publicclassRectangle{ floatwidth,height; publicRectangle(floatwidth,floatheight){ this.width=width; this.height=height; } publicfloatgetLength(){ return(this.width+this.height)*2; } publicfloatgetArea(){ returnthis.width*this.height; } publicstaticvoidmain(String[]args){ Rectanglerect=newRectangle(10,20); System.out.println("周长是:"+rect.getLength()); System.out.println("面积是:"+rect.getArea()); }}2、按以下要求编写程序(1)编写Animal接口,接口中声明run()方法(2)定义Bird类和Fish类实现Animal接口(3)编写Bird类和Fish类的测试程序,并调用其中的run()方法publicinterfaceAnimal{ voidrun();}classBirdimplementsAnimal{ publicvoidrun(){ System.out.println("鸟儿在飞..."); }}classFishimplementsAnimal{ publicvoidrun(){ System.out.println("鱼儿在游..."); }}publicclassTestAnimal{ publicstaticvoidmain(String[]args){ Birdbird=newBird(); bird.run(); Fishfish=newFish(); fish.run(); }}3、编写一个Frame框架应用程序,要求如下:(1)在窗口设置两个菜单“文件”、“编辑”(2)在“文件”菜单里添加三个菜单项“打开”、“保存”、“关闭”(3)在“编辑”菜单里添加两个菜单项“复制”、“粘贴”(4)点击关闭菜单项时,使程序关闭。importjava.awt.Color;importjava.awt.Frame;importjava.awt.Menu;importjava.awt.MenuBar;importjava.awt.MenuItem;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.awt.event.WindowAdapter;importjava.awt.event.WindowEvent;/**主窗体*/publicclassMyFrameextendsFrame{ privatestaticfinallongserialVersionUID=6895463895656626294L; privateFramefrmMain; //窗体 MenuBarmb; //菜单栏 MenumnuFile; //"文件"菜单 MenumnuEdit; //"编辑"菜单 MenuItemmiOpen; //"打开"菜单项 MenuItemmiSave; //"保存"菜单项 MenuItemmiClose; //"关闭"菜单项 MenuItemmiCopy; //"复制"菜单项 MenuItemmiPaste; //"粘贴"菜单项 publicMyFrame(){ frmMain=newFrame("主窗体"); //创建菜单栏 mb=newMenuBar(); //创建菜单 mnuFile=newMenu("文件"); mnuEdit=newMenu("编辑"); //创建菜单项 miOpen=newMenuItem("打开"); miSave=newMenuItem("保存"); miClose=newMenuItem("关闭"); miCopy=newMenuItem("复制"); miPaste=newMenuItem("粘贴"); } publicvoidshowFrame(){ frmMain.setSize(800,600); frmMain.setLocation(100,100); frmMain.setBackground(Color.white); frmMain.setVi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论