java期末考试选择题题库

更新时间:2023-11-08 10:55:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1.分析以下程序: 1)public class x{

2)public static void main(String[]args){ 3)String ol=new String(\ 4)String o2=new String(\ 5)if(o1.equals(o2)){

6)System.out.println(\ 7) } 8) } 9)}

该程序的执行结果是( B )。

A. 程序执行后无输出B. 程序执行后输出“Equal”C. 程序在第5行出现编译错误D. 程序执行后出现异常 2.执行完下面的程序片段后,下面哪些结论是正确的?(B) int a,b,c; a=1; b=2;

c=(a+b>3?a++:++b);

A. a的值是2,b的值是3 B. a的值是1,b的值是3 C. a的值是1,b的值是2 D. c的值是false 3.下面的数据类型( D )是float型 A. 33.8 B. 129 C. 89L D. 8.6F 4.finally块中的代码将(A )

A. 总是被执行B. 如果try块后面没有catch块时,finally块中的代码才会执行C. 异常发生时才被执行D. 异常没有发生时才被执行

5.下列哪个不是面向对象程序设计方法的特点(D ) A. 抽象B. 继承C. 多态D. 结构化

6.关于Java语言的内存回收机制,下列选项中最正确的一项是(C )

A. Java程序要求用户必须手工创建一个线程来释放内存B. Java程序允许用户使用指针来释放内存C. 内存回收线程负责释放无用内存D. 内存回收线程不能释放内存对象

7.下列关于Java语言和C++语言之间差别的描述中,不正确的一项是(A )

A. Java虽然提供了安全机制,但是还是没有C++安全B. Java的内存管理优于C++的内存管理C. Java没有全局变量,但是C++有全局变量D. Java没有指针,但是C++的指针最灵活 8.下列选项中,不属于Java核心包的一项是(A ) A. java.swingB. java.ioC. java.utilD. java.lang 9.为了区分重载多态中同名的不同方法,要求(A )

A. 采用不同的形式参数列表B. 返回值类型不同C. 调用时类名或对象名做前缀D. 参数名不同 10.下列数据类型哪一个属于Java简单数据类型(D ) A. 接口B. 结构类型C. 无符号整数类型D. 字符类型 11.下列关于int类型的说法中,正确的一个是(C )

A. int类型可以自动转换为所有的简单类型B. int类型只能自动转换为float、long、double类型C. 103是合法的int类型常量D. int类型包括有符号整型和无符号整型

12.编译一个定义了两个类和三个方法的的Java源码文件,总共会产生几个字节码文件,这些字节码文件的扩展名是什么?(D) A. 5个字节码文件,以".java"为扩展名B. 2个字节码文件,以".java"为扩展名C. 5个字节码文件,以".class"为扩

名D. 2个字节码文件,以".class"为扩展名

13.下面的程序段执行后,变量a,b,c的值分别为( A ) int a,b,c;

a=(int)Math.round(-4.51); b=(int)Math.ceil(-4.51);

c=(int)Math.floor(-4.51);A. -5,-4,-5B. -4,-4,-5C. -5,-5,-5D. -4,-4,-4 14.关于RandomAccessFile类的说法正确的是(B)

A. RandomAccessFile类继承自File类B. RandomAccessFile类对象可读写Java原始类型数据C. RandomAccessFile类对象只能从文件读Java原始类型数据D. 随机读写流的指针所计算的是字符的个数 15.在( B )可以设置线程的优先级

A. 当第一次创建线程时B. 创建线程后的任何时间C. 只有在线程启动后D. 以上都不对

16.分析以下程序: public class Test{ public int aMethod(){ Static int i=0; i++; return i; }

public static void main(String args[1]){ Test test=new Test(); test.aMethod(); int j=test.aMethod(); System.out.println(j); }

该程序执行结果为( A )。

A. 编译将失败B. 编译成功,执行后输出“0”C. 编译成功,执行后输出“1”D. 编译成功,执行后输出“2” 17.如果想限制当前类之外对某个成员的访问,应选择如下哪一种修饰符?( ) A. public B. privateC. protectedD. 不需要任何修饰符 18.分析下列程序: Class A{

public int getNumber(int a){ return a+1; } }

class B extends A{

public int getNumber(int a,char c){ //第7行 return a+2; }

public static void main(String[]args){ B b=new B();

System.out.println(b.getNumber(0)); //第14行 } }

该程序的执行结果是( A )。

A. 编译成功并输出\ 编译成功并输出\ 在第7行出现编译错误D. 在第14行出现编译错误 19.分析以下程序: 1.public class ForBar{

2. public stauic void main(String[]args){ 3. int i=0,j=5; 4. tp=for(;;){ 5. i++; 6. for(;;)

7. if(i >--j)break tp; 8. }

9. System.out.println (\ 10. } 11.}

该程序的执行结果是( A )。

A. 该程序运行并输出结果:i=1,j=0B. 该程序运行并输出结果:i=1,j=4C. 该程序运行并输出结果:i=3,j=4D. 该程序运行并输出结果:i=3,j=0

20.下列语句执行后,k的值是( B ) int x=3,y=5,k=0; switch(x%y+3) {

case 0:k=x*y;break; case 6:k=x/y;break; case 12:k=x-y;break; default:k=x*y-x;break; }

A. 12B. 0C. 15D. -2

21.下面哪个选项能够构造一个BufferedlnputStream流?( D )

A. New BufferedInputStream(”in.txt”):B. New BufferedlnputStream(new File(”in.txt”)):C. New BufferedlnputStream(newⅥHter(”in.txt”)):D. New BufferedlnputStream(new FilelnputStream(”in.txt”));

22.下面哪种流可以用于字符输出?( A )A. java.io.OutputStreamB. java.io.OutputStreamWriterC. java.io.EncodeOutputStreamD. java.io.EncodeWriter 23.为了区分重载多态中同名的不同方法,要求(A )

A. 形式参数个数或者类型不同B. 返回值类型不同C. 调用时用类名或对象名做前缀D. 形式参数名称不同 24.下列关于Java语言和C++语言之间差别的描述中,不正确的一项是(A )

A. Java虽然提供了安全机制,但是还是没有C++安全B. Java的内存管理优于C++的内存管理C. Java没有全局变量,但是C++有全局变量D. Java没有指针,但是C++的指针最灵活

25.现有一个变量声明为boolean b1;下面赋值语句中正确的是(A ) A. b1 = true; B. b1 = True; C. b1 = \ b1 = 0; 26.下面哪些选项不可以用作变量名的首字符?(C) A. 字母B. 下划线(_)C. 数字D. 美圆符号($) 27.下面的程序段执行后,cont的值是( B ) String strings[]={\ int cont=0;

for(int i=0;i if(strings[i].endsWith(\ cont++;

A. 1 B. 2 C. 3 D. 4 28.下述哪些语句为真?( B )

A. 一个FlowLayout定位的组件在容器发生改变时,可以在水平方向上改变大小 B. 一个GfidLayout定位的组件在容器发生改变时,可以保持组件的大小不变 C. 一个BorderLayout定位的组件在容器发生改变时,可以保持组件的大小不变 D. GridLayout定位的组件时,可以用网格状保持单元格大小一致 29.下述哪个方法是MouseMotionListener接口中的方法?( A ) A. public void mouseMoved(MouseEvent) B. public boolean mouseMoved(MouseEvent) C. public void mouseMoved(MouseMotionEvent) D. public boolean MouseMoved(MouseMotionEvent) 30.关于RandomAccessFile类的说法正确的是(B) A. RandomAccessFile类继承自File类

B. RandomAccessFile类对象可读写Java原始类型数据 C. RandomAccessFile类对象只能从文件读Java原始类型数据 D. 随机读写流的指针所计算的是字符的个数2 31.若有如下程序段: int index=1; int foo[]=new int[3]; int bar=foo[index] int baz=bar+index;

程序的执行结果正确的是( B )。

A. 整型变量baz的值为0 B. 整型变量baz的值为1 C. 整型变量baz的值为2 D. 执行有错误 32.分析下列程序: 1)class Person{

2)public void printValue(int i,int j){//...) 3)public void printValue(int i){//?} 4)}

5)public class Teacher extends Person{ 6)public void printValue(){//…) 71 public void printValue(int i){//…} 8)public static void main(String args[]){ 9)Person t=new Teacher(); 10)t.printValue(10); 11) } ]2)}

第10行语句将调用哪行语句?(D ) A. 第2行 B. 第3行 C. 第6行 D. 第7行 33.阅读下列程序: //第1行 publie class Foo{

publie static void (String [] args){ printWriter out=new printWriter(new

java.io.OutputStreamWriter(System.out),true); out.println(\ } }

在标记为第一行的地方加入下面哪条语句可以使这个能够编译和执行?( A ) A. import java.io.PrintWriter B. include java.io.PrintWriter

C. import java.io.OutputStreamWriter D. include java.io.OutputStreamWriter 34.Java语言的类间的继承关系是(B ) A. 多重的B. 单重的C. 线程的D. 不能继承 35.Java语言是一种( D)

A. 面向机器的编程语言B. 面向过程的编译型编程语言 C. 面向问题的解释型编程语言D. 面向对象的解释型编程语言 36.下列语句执行后,i的值是( C ) int i=2;

do{i*=i;} while(i<16); A. 4 B. 8 C. 16 D. 32 37.分析以下程序: public class Test{

static void leftshift(int i,int j){ i<<=j; }

public staic void main(String args[]){ int i=4,j=2; leftshift(i,j); System.out.println(i); } }

该程序的执行结果是( D )。 A. 2 B. 4 C. 8 D. 16

38.下面的程序段输出的结果是( A) String s1=\

System.out.println(s1.compareTo(s2)); A. -1 B. 1 C. false D. true

39.编译并运行下面的程序,产生的结果是(B ) public class A {

int a1=1; int a2;

public static void main(String[] args) {

int a3=2; A a=new A();

System.out.println(\ } }

A. Result=3 B. Result=102 C. 会产生编译错误 D. 不会产生编译错误,但也没有结果输出 40.要创建一个新目录,可用下面( D )类实现

A. FileInputStream B. RandomAccessFile C. FileOutputStream D. File 41.有如下程序: public clasS ExceptionTest(

class TestException extends Exception{} public void runTest()throws TestException{} public void test() /*point x */ {

runTest(); } }

在该程序的poim x处,增加如下哪个选项程序才能通过编译?( A )

A. throws Exception B. catch(Exception e) C. throws RuntimcException D. catch(TestException e) 42. 下面这些方法中(B )方法不是Applet的基本方法。 A. init() B. run() C. stop() D. start() 43.分析以下程序段: abstract class AbstractIt {

abstract float getFloat (); //第2行 }

public class AbstractTest extends AbstractIt { private float f1=1.0f;

private float getFloat(){return fl;} //第6行 }

下面哪一种结果正确?( C )

A. 可编译成功 B. 在第6行运行失败 C. 在第6行编译失败 D. 在第2行编译失败 44.一个包含Java类A,B,C的源程序A.java,编译产生的类文件是( B )。

A. A.class B. A.class, B.class,C.class C. A.class,B$.class,C$.class D. AS.class,B$.class,C$.class 45.分析以下程序: public class ArrayList{

public static void main(String[]args){ float f1[],f2[]; fl=new float[10l;

f2=f1; //第5行

System.out.Println(“f2[0]=\ //第6行 } }

该程序执行的结果是( A )。

A. 输出结果:f2[0]=0.0 B. 输出结果:f2[0]=NaN C. 第5行有错误导致编译失败 D. 第6行有错误导致编译失败 46.设变量k已定义,以下由while语句构成的循环执行的次数是( A ) while(true) k++;

A. 无限次 B. 有语法错误,不能执行 C. 一次也不执行 D. 执行1次 47.下面的说法正确的是( C )。

A. Java语言里的线程不是对象 B. Java中任何可执行的类都需要main方法 C. Java语言的类都是java.1ang.Object的子类 D. double是Java语言的合法标识符 48.下述哪个事件表明在一个java.awt.Component组件上有一个按键按下?( C ) A. KeyEvent B. KeyDownEvent C. KeyPressEvent D. KeyTypedEvent 49.下面哪个选项可以构造一个DataOutputStream对象?( D )

A. new DataOutputStream(\.txt\; B. new DataOutputStream(new File(\.txt\;

C. new DataOutputStream(new Writer(\.txt\; D. new DataOutFIutStream(new FileOutputSream(\.txt\; 50.定义主类的类头时可以使用的访问控制符是(A )

A. public B. protected C. private D. private protected 51.下面( B )修饰符所定义的方法必须被子类所覆盖 A. final B. abstract C. protectd D. volatile 52.下述哪个方法是MouseMotionListener接口中的方法?( A )

A. public void mouseMoved(MouseEvent) B. public boolean mouseMoved(MouseEvent) C. public void mouseMoved(MouseMotionEvent) D. public boolean MouseMoved(MouseMotionEvent) 53.阅读下列程序: import java.awt.*; public class Test extends Frame{ public Test(){

add(new Label(\ add(new TextFieId(\ add(new Button(\ //第6行 pack(); setVisible(true); }

public static void main(String[]args){ new Test(); } }

该程序的结果是( B )。

A. 代码编译不通过 B. 显示一个窗口,仅包含一个按钮

C. 在第6行抛出一个IllegalArgumentException异常 D. 出现一个空窗口

54.容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变?( D ) A. CardLayout B. FlowLayout C. BorderLayout D. GridLayout 55.阅读下列程序:

public C1ass X2 implements Runnable{ private int x; private int y; ’

public static void main(String[]args){ X2 that=new X2();

(new Thread(that)).start(); //第6行 (new Thread(that)).start(); //第7行 }

public synchronized void run(){ for(;;){

x++; y++;

System.out.println(\ } } }

该程序的执行结果是( D )。

A. 在第11行会引起编译错误 B. 在第6、7行会引起编译错误

C. 程序可能输出X、Y不相同的数对,如:\,y=1\ D. 程序输出递增重复的X、Y数对,如:\,y=l\、\,y=2\、?

56.分析下面两个Java程序: //ClassOne.java package com.ab.pkgl; public class ClassOne( private Char Var=’a’; char getVar(){return var;} }

//ClassTest.java package com.ab.Pkg2; import com.ab.pkgl.ClassOne;

public class ClassTest extends ClassOne{ //第3行 public 8tatiC void main(String args[]){

char a=new ClassOne().getVar(); //第5行 char b=new ClassTest()。getVar(); //第6行 } }

ClassTest.java程序的执行结果是( B )。

A. 程序编时在ClassTest.java的第3行出现错误 B. 程序编译成功,程序执行后无异常抛出

C. 程序编时在ClassTest.java的第5行出现错误 D. 程序编译成功,程序执行时在ClassTest.java的第5行出现异常 57.分析下列程序: 1)public class SuperClass{

2) class SubClassA extends SuperClass{} 3) class SubClassB extends SuperClass{} 4) public void test(SubClassA foo){ 5) SuperClass bar=foo; 6) } 7} }

下述对该程序的陈述哪一条是正确的?( C )

A. 第5行的赋值语句是非法的 B. 第5行的赋值语句是合法的,但执行时抛出一个ClassCastException异常 C. 程序语法是正确的,使用时不会抛出异常 D. 程序语法不正确,不允许内部类继承外部类 58.下面的说法正确的是( D )。

A. 应用程序中可以使用的所有语句都可以在Applet中使用 B. Applet程序中可以使用的所有语句都可以在应用程序中使用 C. Applet程序都可以当作应用程序使用 D. System.exit(0)不能在Applet中使用

59.以下语句输出的结果是( A ) String str=\ int x=4,y=5; str=str+(x+y);

System.out.println(str);

A. 1239 B. 12345 C. 会产生编译错误 D. 123+4+5

60.下面哪个选项可以确定prefs是一个目录或文件?( D )

A. boolean exists=Directory.exists(”prefs”); B. boolean exists=(new File(”prefs”)).isDir(); C. boolean exists=(new Directory(”prefs”)).exists(); D. boolean exists=(new File(”prefs”)).isDirectory(); 61.如果在编译Java程序时,编译结果报告说找不到要编译的代码,通常的错误不是如下的哪一项(A ) A. 没有import相应的包 B. 文件名拼写错误 C. 未加.java后缀 D. 源文件不再当前目录下 62.设有两个类A、B,以下描述中表示B继承自A的是( D )

A. class A extends B B. class B implements A C. class A implements D. class B extends A 63.下列说法中,正确的一个是( A )

A. 接口属于复合数据类型 B. 接口属于简单数据类型 C. 标识符的总的字符个数是有限的 D. 标识符就是保留字 64.分析以下程序: public class X{

pubLic static void main(String[] args){ int[] a=new int[1]; modify(a);

Sysnem.out.println(a[0]); }

public void modify(int[]a){ a[0]++; } }

该程序的执行结果为( D )。

A. 程序执行并输出\ B. 程序执行并输出\

C. 程序可以执行,但会因错误而终止 D. 第4行有个“可能没有定义的变量”而引起编译失败 65.阅读下面的程序,选择正确的说法(B ) class A {

public static void main(String args[])throws Exception {

method(); }

static void method() throws Exception { try {

System.out.print(\ } finally {

System.out.print(\ } } }

A. 编译该程序会显示产生编译错误,因为method()抛出异常,而调用它时没有进行处理 B. 程序编译成功,运行该程序输出:try:performed finally:always performed C. 程序编译成功,运行该程序输出:try:performed

D. 程序编译成功,运行该程序输出:finally:always performed 66.有如下程序: public class Foo{

public Static void main(String args[]){ try{return;}

finally{system.out.println(\ } }

该程序的执行结果是( B )。

A. 程序无输出 B. 程序输出”Finally” C. 代码可以通过编译,但执行时产生异常 D. 因为缺少catch块,所以编译出错 67.分析下列程序: 1)class A{

2) public byte getNumber(){ 3) return 1; 4) } 5) } 6)

7)class B extends A{

8)public short getNumber() { 9) return 2; 10) } 11)

12)public static void main(String args[]){ 13) B b=new B();

14) System.out.println(b.getNumber()); 15) } 16) }

该程序的结果是( C )。

A. 编译成功并输出1 B. 编译成功并输出2 C. 编译在第8行引起错误 D. 编译在第14行引起错误 68.用Java虚拟机执行类名为Hello的应用程序的正确命令是( D )。

A. java Hello.class B. Hello.Class C. java Hello.Java D. java Hello 69.阅读以下程序: boolean a=false; boolean b=true; boolean c=(a&b)&&(!b); int result=b==false?1=2;

这段程序执行完后,C与result的值是( D )。

A. c=false;result=l; B. c=true;result=2; C. c=true;result=l; D. c=false;result=2; 70.分析以下程序: public class X{

public static void main(String[]args){ byte b=127; byte c=126;

byte d=b+c; //第5行 } }

以上程序执行结果正确的是( B )。

A. 编译成功并且变量d的值为253 B. 第5行有错误导致编译不成功 C. 第5行有“溢出”导致执行失败 D. 第3和4行有错误导致编译不成功 71分析下列程序: 1) ClasS Super{

2)public float getNum(){return 3.0fj) 3) } 4)

5)public class Sub extends Super{ 6) //这里要插入方法 7) }

在该程序的第6行中插入下面哪个方法会引起编译错误?( B )

A. public float getNum(){retum 4.0f;) B. public void getNum(){}

C. public void getNum(double d){} D. public double getNum(float d){retun 4.Od;}

72.以下的选项中能正确表示Java语言中的一个整型常量的是(B )A. 435. B. -34 C. 34,000 D. 4 5 6 73.下列关于java.lang包中封装的基本类的说法中,不正确的一项是(B )

A. java.lang 包封装了Object、Class、System、String、Thread等基本类 B. System类提供了标准的I/O操作,可以实例化 C. Class类的对象包含所对应的类的基本信息,可以通过调用Class类的方法访问这些信息 D. Object类是所有类都必须继承的类

74.下列关于注释语句的描述中,正确的一项是(C )

A. 以//开始的是多行注释语句 B. 以/*开始,*/结束的是单行注释语句

C. 以/**开始,*/结束的是可以用于生成帮助文档的注释语句 D. 以/**开始,*/结束的是单行注释语句 75.分析下列程序: class super{ public int i=O;

public Super(String text){ i=1; } }

public class Sub extends Super{ public Sub(String text){ i=2; }

public static void main(String args[]){

Sub sub=new Sub(\ System.out.println(sub.i); } }

该程序的结果是( D )。

A. 编译失败 B. 编译成功且输出\ C. 编译成功且输出\ D. 编译成功且输出\ 76.定义变量b:boolean b=ture;则String.valueOf(b)的类型是( B) A. Boolean B. String C. false D. int

77.为了使包abc中的所有类在当前程序中可见,可以使用的语句是(D ) A. import abc.*; B. package abc.*; C. import abc; D. package abc; 78.关于线程的说法不正确的是(C )

A. 因为休眠而暂时停止运行的线程,休眠时间到了后立即直接运行 B. 线程执行wait()方法后,必须调用notify()方法唤醒它C. 一个线程因为输入输出而暂时停止运行,待输入/输出完成后,且没有出现输入/输出异常,即可恢复到可运行状态 D. 挂起、休眠或等待的线程都可以恢复到可运行状态,但停止运行的线程将不能再重新运行 79.分析下列程序: 1)class Super{

2)public int getLength(){return 4;} 3)} 4)

5)public class Sub extends Super{ 6)public int getLength(){return 5;} 7)

8)public Static void main(String[]args) { 9) Super sooper=new Super(); 10) Sub sub=new Sub(); 11) System.out.println(

i2) sooper.getLength()+\,\.getLength()); 13) } 14)}

该程序的输出是( B )。

A. 4,4 B. 4,5 C. 5,4 D. 5,5 80.假定有程序段: import java.io.*; public class Fool{

public static void main(String[]args){ try{

File f=new File(\.txt\

OutputStream out =new File OutputStream(f,true); int a=38; //ASCII码38=\ out.write(a); out.close();

}catch(I0Exception e){} } }

其中file.txt包含的是ASCII码的文本文件,该程序的执行结果是( C )。 A. 程序不能编译 B. 程序运行后文件没有变化

C. 程序运行后文件增加了一个字符 D. 运行后抛出异常因为文件没有关闭 81.一下关于面向对象概念的描述中,不正确的一项是( B)

A. 在现实生活中,对象是指客观世界的实体 B. 程序中的对象就是现实生活中的对象 C. 在程序中,对象是通过一种抽象数据类型来描述的,这种抽象数据类型称为类 D. 在程序中,对象是一组变量和相关方法的集合 82.下列方法定义中,方法头不正确的是( D)

A. public int x(){...} B. public static int x(double y){...} C. void x(double d) D. public static x(double a){...} 83.下面的程序段输出的结果是(C ) int i=1,b,c; int []a=new int[3]; b=a[i]; c=b+i;

System.out.println(c);

A. 0 B. 2 C. 1 D. 4

84.编译下面的程序,得到的结果是(C ) public class A implements Runnable {

public void run() {

System.out.println(\ }

public static void main(String[] args) {

Thread Th=new Thread(new A()); Th.start(); }

}A. 程序不能编译,产生异常 B. 程序能编译运行,但没有任何结果输出 C. 程序能编译运行,输出结果:OK. D. 上面说法都不对

85.下述声明中哪一种可防止该类产生子类?( D )

A. static class FooBar{} B. private class Foobar{} C. abstract class FooBar{} D . final public class FooBar{} 86.分析以下程序段: Integer i=new Integer(42); long l=new long(42)} double d=new double(42.0);

下面哪个表达式的值为真?( A )

A. (i==1) B. (i==d) C. (d==1) D. (i.equals(42))

87.在一个相同的包中,想让一个类能够引用另一个类的成员,达到这个目的最小的访问控制权限的修饰符是什么?( C A. public B. private C. protected D. 不需要任何修饰符 88.分析以下程序: public class Test{

)

public stanic void main (String args[]){ int i=0; while(i){ if(i==4){ break; } ++i; }

程序可能的执行结果是( D )。

A. 执行后i=0 B. 执行后i=3 C. 执行后i=4 D. 编译不能通过 89.下列表达式哪些是正确的?( C )

A. byte=340 B. Boolean=1 C. long l=-2 D. double=0.9239d 90.下列关于 浮点型数据的说法中,不正确的一个是(C )

A. 浮点型数据属于实型数据 B. 浮点类型数据由数字和小数组成 C. 浮点型数据小数位数越少越精确 D. 浮点型数据包括实型常量和实型变量 91.关于Java语言的内存回收机制,下列选项中最正确的一项是(C )

A. Java程序要求用户必须手工创建一个线程来释放内存 B. Java程序允许用户使用指针来释放内存 C. 内存回收线程负责释放无用内存 D. 内存回收线程不能释放内存对象 92.下列选项中,不属于JDK文件目录中的子目录的是(B )

A. bin子目录 B. include子目录 C. j2sdk1.4.2子目录 D. lib子目录 93.下面的程序段输出的结果是(A ) String s1=\

System.out.println(s1.equalsIgnoreCase(s2)); A. true B. false C. Java D. java 94.下列选项中,用于在程序开头引入包的关键字是(A ) A. import B. implements C. interface D. protected

95.容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变?( D ) A. CardLayout B. FlowLayout C. BorderLayout D. GridLayout

96.下面对methoda0方法的哪一种声明是被包中的类可访问的,并且访问时不需要建立methoda0方法所在类的实例?( C ) A. abstract public void methoda(); B. public abstract double methoda(); C. static void methoda(double d1){} D. public native double methoda0{} 97.设有程序为: public class Test {

public static Void main(String[]args){ String foo=args[1]; String bar=args[2]; String baz=args[3];

System.out.println(\; } }

下述哪一行命令可以使得执行该程序的输出为baz=2?( C ) A. java Test 2222

B. java Test 1 2 3 4 C. java Test 4 2 4 2 D. java Test 4 3 2 1

98.下面关于Applet的说法正确的是( B )。 A. Applet也需要main方法

B. Applet必须继承java.awt.Applet C. Applet能访问本地文件 D. Applet程序不需要编译

99.如果一个Applet包含有绘图功能,则下面哪个方法必须被覆盖?( C ) A. start方法 B. stop方法 C. paint方法 D. destroy方法

100.下列程序段执行后,t5的结果是( A) int t1=5,t2=6,t3=7,t4,t5; t4=t1t5=t4 A. 5 B. 6 C. 7

D. 以上都不对

101.关于类的说法中,不正确的一项是( D) A. 一般类体的域包括常量、变量、数组等独立的实体 B. 类中的每个方法都由方法头和方法体构成 C. java程序中可以有多个类,但是公共类只有一个 D. java程序可以有多个公共类 102.以下语句输出的结果是(B ) System.out.println(Math.floor(-0.8)); A. 0 B. -1 C. -0.8 D. 0.8

103.设有程序段如下: int i=1,j=10; do{

if(i>j)continue; j--; }while(++i<6);

这段代码结束后i和j的值是( A )。

A. i=6,j=5 B. i=5,j=5 C. i=6,j=4 D. i=5,j=6 104.下面哪个选项能够获得文件file.txt的父目录名?( B )

A. String name=File.getParentName(”file.txt”); B. String name=(new File(”file.txt”)).getParent();

C. String name=(new File(”file.txt”)).getParentName(); D. String name=(new File(”file.txt”)).getParentFile(); 105.下列哪个方法可用于创建一个可运行的类?( A )

A. public class X implements Runnable{public void run(){??}} B. public class X implements Thread{public void run(){??}} C. public class X implements Thread{public int run(){??}} D. public class X implements Runnable{protected void run(){……}}

106.下列语句执行后,k的值是(A ) int i=6,j=8,k=10,m=7; if(!(i>j|m>k++)) k++;

A. 12 B. 11 C. 10 D. 9

107.设x为int型变量,则执行以下语句段后,x的值为( B ) x=10; x+=x-=x-x;

A. 10 B. 20 C. 40 D. 30

108.若以下变量均已正确定义并赋值,下面符合java语言语法的表达式是( B ) A. a=a<=7 B. a=7+b+c C. int 12.3%4 D. a=a+7=c+b

109.Java语言的类间的继承关系是(B ) A. 多重的 B. 单重的 C. 线程的 D. 不能继承 110.下面( D )陈述是不对的

A. 一个实例方法可以同时为protected和abstract类型 B. static变量也可以是final类型 C. static方法也可以是protected类型 D. final方法也可以是abstract类型 111.分析以下程序: string foo=\

boolean[] bar=new booiean[1]; if(bar[0]){

foo=”green”; }

变量foo的值是(C )。

A. \ B. null C. blue D. green

112.有一个类A,对于其构造函数的声明正确的是( B )

A. void A(int x){...} B. A(int x){...} C. A A(int x){...} D. int A(int x){...} 113.要创建一个新目录,可用下面( D )类实现

A. FileInputStream B. RandomAccessFile C. FileOutputStream D. File 115.byte的数值范围是(C )。

A. 0~32767 B. 0~65535 C. -256~255 D. -32768~32767 116.编译并运行下面的程序,运行结果为( C ) public class A {

public static void main(String[] args) {

A a=new A(); a.method(8); }

void method(int i) {

System.out.println(\

}

void method(long i) {

System.out.println(\ } }

A. 程序编译有错误,因为两个method()方法必须定义为静态(static)的 B. 程序可以编译运行,输出结果为long:8 C. 程序可以编译运行,输出结果为int:8 D. 程序可以编译运行,但没有输出 117.定义类B和类C如下,并将其保存为:B.java,编译B.java文件,得到的结果是( B ) class B

{int b;B(int i){b=i;}} class C extends B {double c=7.8;}

A.代码能够成功编译并运行 B.代码无法编译,因为类B不是一个应用程序或小程序

C.代码无法编译,因为类B没有定义不带参数的构造器 D.代码无法编译,因为类C没有定义一个不带参数的构造器 118.下面的程序段输出的结果是( A ) StringBuffer buf1=new StringBuffer(20);

System.out.println(buf1.length()+\A. 0,20 B. 0,null C. 20,20 D. 0,0 119.阅读下列程序:

class A implements Runnable{ public int i=1; public void run(){ this.i=10; } }

public class Test{

public static void main(String[]args){ A a=new A();

new Thread(a).start(); //第ii行 int j=a.i;

System.out.print(\; //第13行 } }

在第13行,J的值应是如下哪个选项?( B )

A.1 B.10 C.J的值不能确定 D.第11行会引起编译错误 120.分析下面的Java程序: public class Test{

Dublic static void main(String[]args){ class Foo{ //第3行 public int i=3; }

Object o=(Object)new Foo();//第6行 Foo foo=(Foo)o; //第7行

System.out.println(foo.i); } }

该程序的结果是( D )。

A.在第3行出现编译错误 B.在第6行出现编译错误 C.在第7行出现编译错误 D.程序执行后输出3 121.以下的变量定义中,合法的语句是( B )

A.float 1_variable=3.4; B.int abc_=21; C.double a=1+4e2.5; D.short do=15; 122.下列整型的最终静态属性i的定义中,正确的是(C )

A.final i B.static int i; C.static final int i=234; D.final float i=3.14f; 123.以下由do-while语句构成的循环执行的次数是( D ) int k=0;

do{++k;} while(k<1);

A. 无限次 B. 有语法错,不能执行 C.一次也不执行 D.执行1次 124.定义类A如下: class A { int a,b,c;

public void B(int x,int y,int z){a=x;b=y;c=z;} }

下面对方法B()的重载哪些是正确的(C )

A. public void A(int x1,int y1,int z1){a=x;b=y;c=z;} B. public void B(int x1,int y1,int z1){a=x;b=y;c=z;} C. public void B(int x,int y){a=x;b=y;c=0;} D. public B(int x,int y,int z){a=x;b=y;c=z;}

125.设x,y均为已定义的类名,下列声明对象x1的语句不可能正确的是( B )

A.public x x1=new y(); B.x x1=x(); C.x x1=new x(); D.public y x1=new x(); 126.下面(A)是java语言的所有类的祖先类(基类) A. ObjectsB. DoubleC. IntegerD. packages

127.定义字符串s;String s=\公司\;执行下面的语句,c的值为(B) char c=s.charAt(9);

A.产生数组下标越界异常 B.司 C.null D.公 128.下述哪些语句为真?( B )

A. 一个FlowLayout定位的组件在容器发生改变时,可以在水平方向上改变大小 B. 一个GfidLayout定位的组件在容器发生改变时,可以保持组件的大小不变 C. 一个BorderLayout定位的组件在容器发生改变时,可以保持组件的大小不变 D. GridLayout定位的组件时,可以用网格状保持单元格大小一致

129.有如下程序代码,在中文提示处填写以下(A)选项的编码能够保证程序顺利执行。 //填写编码处

public class getImage extends Applet {

Image pic;

public void init() { try{

URL u=new URL(this.getCodeBase(),thisgetParameter(\ this.pic=this.getImage(u);

}

catch(MalformedURLException e) {System.err.println(e);} }

public void paint(Graphics g) {

g.drawImage(this.picture,0,0,this); }

}A. import java.applet.*; import java.awt.*; import java.net.*; B. import java.applet.*; import java.awt.*; C. import java.applet.*; import java.net.*; D. import java.awt.*; import java.net.*; 130.分析以下程序: . public class X { public Object m(){

Object O=new Float(3.14F); Object []oa=new Object[1}; oa[0]=o; //第5行 o=null; //第6行 oa[0]=null; //第7行 retrn ou; } }

当第3行的Float对象产生后,在哪一行会作为垃圾被回收?( B )

A. 在第5行之后 B. 在第6行之后 C. 在第7行之后 D. 不会在该方法中进行 131.分析下面的Java程序: public class Test{

Dublic static void main(String[]args){ class Foo{ //第3行 public int i=3; }

Object o=(Object)new Foo();//第6行 Foo foo=(Foo)o; //第7行 System.out.println(foo.i); } }

该程序的结果是( D)。

A. 在第3行出现编译错误 B. 在第6行出现编译错误 C. 在第7行出现编译错误

132.分析下列程序: public class Test4{

public static void main(String args[]){ class Foo{ public int i=3;

D. 程序执行后输出3

}

Object o=(Object) new Foo(); //第6行 Foo foo=(Foo)o; //第7行 System.out.println(foo.i); } }

该程序的执行结果是( B )。

A. 编译失败 B. 编译成功且输出\

C. 编译成功,但第6行抛出异常ClassCastException D. 编译成功,但第7行抛出异常ClassCastException

133.只包含一个带public修饰的Java类Abc的Java程序的正确命名是( B )。

A. Abc B. Abc.Java C. abc.java D. 一个任意的标识符后带后缀.java

134.分析以下程序: public class SwitchTest{

public static void main(String[]args){

System.out.println(”value=”+switchIt(4)); //第3行 }

public static int switchIt(int x){ int j=1; switch(X){ case 1=j++; case 2=j++; case 3=j++; Case 4=j++; case 5=j++; default=j++; } renturn j+x; } }

第3行的执行结果为( D )。

A. value=3 B. Value=4 C. value=5 D. value=8

135.以下选项中变量均已正确定义,错误的赋值语句是(D) A. i--; B. i+=7; C. k+=x+2; D. y+x=z;

136.下列描述中不正确的一项是( B )

A.port语句告诉Java用户需要哪个包(package)中的类 B. 所有的类必须实例化,才能调用它的数据成员和方法 C. package语句用于将源文件存入所指定的包中 D. System类不能实例化,它的所有方法都是通过类变量来调用的

137.下列关于 浮点型数据的说法中,不正确的一个是(C)

A. 浮点型数据属于实型数据 B. 浮点类型数据由数字和小数组成 C. 浮点型数据小数位数越少越精确 D. 浮点型数据包括实型常量和实型变量 138.Class Outer1{ private int a;

(2) 复数类Complex 的方法有:

Complex( ) : 构造函数,将复数的实部和虚部都置0

Complex( int r , int i ) : 构造函数,形参 r 为实部的初值,i为虚部的初值。

Complex complexAdd(Complex a) : 将当前复数对象与形参复数对象相加,所得的结果仍是一个复数值,返回给此方法的调用者。

String ToString( ) : 把当前复数对象的实部、虚部组合成 a+bi 的字符串形式,其中a 和 b分别为实部和虚部的数据。

《JAVA语言程序设计》期末考试模拟试题 参考答案及评分标准

一、单选择题(每小题2分,共10分) 1、B 2、A 3、D 4、C 5、A

二、填空题(每空格1分,共20分)

1、编辑源程序、编译生成字节码、解释运行字节码 2、Applet、MyApplet 3、javac.exe、3、 . class 4、2 、2 5、0

6、true 、 false

7、抽象(abstract)方法、最终(final)方法

8、package MyPackage ; 应该在程序第一句。 9、120 10、单、多

三、写出下列程序完成的功能。(每小题5分,共20分)

1、计算 1/1+1/2+1/3+...+1/100 的值。

2、从标准输入(即键盘)读入10个整数存入整型数组a中,然后逆序输出这10个整数。

3、创建一个标题为\按钮\的窗框,窗框中显示有\按下我\字样的按钮。 4、求两个数的最大值。

四、写出下面程序的运行结果(每小题10分,共30分) 1、Hello! I love JAVA. 2、s = 180 3、a=60 b=20 c=30

五、使用Java语言编写程序。(每小题10分,共20分) 1、参考程序如下: import java.io.* ; public class abc {

public static void main(String args[ ]) { int i , n = 10 , max = 0 , min = 0 , temp = 0; try {

BufferedReader br = new BufferedReader( new InputStreamReader(System.in)); max = min = Integer.parseInt(br.readLine( )); } catch ( IOException e ) { } ; for ( i = 2 ; i <= n ; i ++ ) { try {

BufferedReader br = new BufferedReader( new InputStreamReader(System.in));

temp = Integer.parseInt(br.readLine( )); if (temp > max ) max=temp; if (temp < min) min=temp; } catch ( IOException e ) { } ; }

System.out.println(\ } }

2、参考程序如下:

import java.applet.* ; import java.awt.* ;

public class abc extends Applet {

Complex a,b,c ;

public void init( ) {

a = new Complex(1,2); b = new Complex(3,4); c = new Complex(); }

public void paint(Graphics g) {

c=a.complexAdd(b);

g.drawString(\第一个复数:\ g.drawString(\第二个复数:\ g.drawString(\两复数之和:\ }

}

class Complex {

int RealPart ; // 复数的实部 int ImaginPart ; // 复数的虚部

Complex() { RealPart = 0 ; ImaginPart = 0 ; } Complex(int r , int i)

{ RealPart = r ; ImaginPart = i ; } Complex complexAdd(Complex a) {

Complex temp = new Complex( ); // 临时复数对象 temp.RealPart=RealPart+a.RealPart; temp.ImaginPart=ImaginPart+a.ImaginPart; return temp; }

public String toString( )

{ return ( RealPart+\} (完)

《JAVA语言程序设计》期末考试模拟试题1

一、选择题(每小题1分,共 10 分,注:选择答案可能不止一个正确)

1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。

A. .java B. .class C. .html D. .exe

2、设 x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x 的值是( )。 A. 3 B. 3. 5 C. 4 D. 5

3、在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( )方法来完成一些画图操作。

A. start( ) B. stop( ) C. init( ) D. paint( ) 4、不允许作为类及类成员的访问控制符的是( )。 A. public B. private C. static D. protected

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

A. static void method( ) B. public void method( ) C. final void method( ) D. abstract void method( ) 6、下面哪些是java语言中的关键字?

A. sizeof B. abstract C. NULL D. Native 7、下面语句哪个是正确的?

A. char c ='abc'; B. long l=oxfff;

C. float f=0.23; D. double d =0.7E-3; 8、以下程序测试String 类的各种构造方法,试选出其运行效果。 class STR{

public static void main(String args[]){ String s1=new String();

String s2=new String(\ char chars[]={'a',' ','s','t','r','i','n','g'}; String s3=new String(chars); String s4=new String(chars,2,5);

byte[] bytes={72,101,108,108,79,33}; //A、a和“!”号的ASCII分别为65、97和33 StringBuffer sb=new StringBuffer(s3); sb.append(“!”); String s5=new String(sb); String s6 = new String(bytes);

System.out.println(\ System.out.println(\ System.out.println(\ System.out.println(\ System.out.println(\ System.out.println(\ } }

A . The String No.1 is B. The String No.1 is

The String No.2 is String The String No.2 is String 2

void foo(double d,final float f){ String s; final boolean b; class Inner{ void methodlnner(){

System.out.println(\ } } }

pubiic static void main(String args[]){ 0uter1 me=new Outerl(); me.foo(123,123);

system.out.printin (\} }

运行以上程序,产生的结果为( B )。

A. 输出:“in the Inner outer” B.输出:“outer” C.输出:“in the Inner” D.编译不通过 139.执行完下面的程序段后,k的值是( A) int k=0;

label:for(int i=1;i<3;i++) {

for(int j=1;j<3;j++) {

k+=i+j;

System.out.println(k); if(i==2)

continue label; } }

A.3 B.5 C.8 D.12

141.下列说法中,正确的一个是( A)

A.length是合法的Java保留字 B.null和NULL一样是Java保留字 C.使用一个变量之前可以不用定义该变量 D.布尔型属于符合数据类型 142.下列说法中,正确的一项是(C)

A.双精度数强制转换成单精度数后,其数值精度会提高 B.Java语言中的布尔变量可以和整型变量相互强制转换 C.强制转换是将存储长度长的数据类型转换为长度短的数据 D.强制转换是将存储长度短的数据类型转换为长度长的数据 143.有如下数组: byte[]arrayl,array2[] byte array3[][] byte[][]array4

假设每个变量都已初始化,以下哪一条语句会导致编译错误?( A )

A. array2=arrayl; B. array2=array3; C. array2=array4; D. A并且B 144.执行下列代码后,哪个结论是正确的?( B ) String[] s=new String[10]

A. s[10]为\ B. s[9]为null C. s[0]为未定义 D. s.length()为10

145.以下的选项中能正确表示java语言的一个整型常量的是(B )A. 35.d B. -20 C. 1,234 D. \146.下面哪个选项能够构造一个BufferedlnputStream流?( D )

A. New BufferedInputStream(”in.txt”): B. New BufferedlnputStream(new File(”in.txt”)):

C. New BufferedlnputStream(newⅥHter(”in.txt”)): D. New BufferedlnputStream(new FilelnputStream(”in.txt”)); 147.下面( D)陈述是不对的

A. 一个实例方法可以同时为protected和abstract类型 B. static变量也可以是final类型 C. static方法也可以是protected类型 D. final方法也可以是abstract类型 148. 下面的语句序列执行后,n的值是(A ) int n=0;

StringTokenizer st=new StringTokenizer(\ while(st.hasMoreTokens()) {n++;}

A. 9 B.10 C.11 D.12 149.阅读以下程序: boolean a=false; boolean b=true; boolean c=(a&b)&&(!b); int result=b==false?1=2;

这段程序执行完后,C与result的值是( D )。

A. c=false;result=l; B. c=true;result=2; C. c=true;result=l; D. c=false;result=2; 150.下面哪种流可以用于字符输入?( A )

A. java.io.InputStream B. java.io.EncodedReader C. java.io.InputStreamReader D. java.io.InputStreamWriter 151.下列选项中,不属于JDK文件目录中的子目录的是(B)

A. bin子目录 B. include子目录 C. j2sdk1.4.2子目录 D. lib子目录 152.下列说法中错误的一个是(D)

A. $1_abc是合法的Java标识符 B. 局部变量必须先声明后使用 C. void是合法的Java保留字 D. 在Java中,类不是用标识符命名的 153.下列关于转义字符的说法中,不正确的一项是(D)

A. \\r表示回车 B. \\f表示走纸换页 C. \\t表示横向跳格 D. \\b表示换行

154.为了捕获一个异常,代码必须放在下面( A)语句块中 A. try块 B. catch块 C. throws块 D. finally块 155.有如下程序: public clasS ExceptionTest(

class TestException extends Exception{} public void runTest()throws TestException{} public void test() /*point x */ {

runTest(); } }

在该程序的poim x处,增加如下哪个选项程序才能通过编译?( A )

A. throws Exception B. catch(Exception e) C. throws RuntimcException D. catch(TestException e) 156.阅读下列程序: public class SychTest1(

private int X; private int Y;

public void setX(int i){x=i;} public void setY(int i){y=i;} public synchronized void setxY(int i){ setX(i); setY(i); }

public synchronized boolean check(){ return x!=Y; }

在不同的类中调用check()方法,下面哪个条件的check()方法将返回true?( C ) A. check()决不能返回true B. 当setxY由多个线程访问时,check()可能返回true C. 当由多个线程分别访问setX和setY时,check()返回true

D. 只有改变SychTestl使得setX方法对x和Y分别赋值,check()才能返回true 157.下面哪一种情况属于\的关系?( B )

A. public interface Color{} public class Shape{private Color color;}

B. interface Component{} class Container implements Component{ private Component[]children; } C. public class Species{} public class Animal{private Species species;} D. public class Species{private Animal ananimal;} public class Animal{} 158.设有程序为: public class Test {

public static Void main(String[]args){ String foo=args[1]; String bar=args[2]; String baz=args[3];

System.out.println(\; } }

下述哪一行命令可以使得执行该程序的输出为baz=2?( C )

A. java Test 2222 B. java Test 1 2 3 4 C. java Test 4 2 4 2 D. java Test 4 3 2 1 159.执行下列程序段后,b,x,y的值的正确的是( B) int x=6,y=8; boolean b;

b=x>y&++x==--y;

A. true,6,8 B. false,7,7 C. true,7,7 D. false,6,8 160.假定有程序段: import java.io.*; public class Fool{

public static void main(String[]args){ try{

File f=new File(\.txt\

OutputStream out =new File OutputStream(f,true);

int a=38; //ASCII码38=\ out.write(a); out.close();

}catch(I0Exception e){} } }

其中file.txt包含的是ASCII码的文本文件,该程序的执行结果是( C )。 A. 程序不能编译 B. 程序运行后文件没有变化

C. 程序运行后文件增加了一个字符 D. 运行后抛出异常因为文件没有关闭 161.下列关于short类型数据的说法中正确的一个是( D)

A. short类型数据的长度为8位 B. short类型只能自动转换为byte类型

C. short类型被包装在类java.lang.Character中 D. short类型存储数据的数序是先高后低 162.在下面指定位置添加(D )选项中定义的方法,编译时会产生错误 public class C extends B {

//此处添加选项中的方法 } class B {

public float getNum() { retrun 1.0f;}

} A. public float getNum(){return 4.0f;} B. public double getNum(float D){return 3.0f;} C. public void getNum(double D){ } D. public void getNum(){ }

164.运行下列程序,会产生什么结果? (B)

public class X3 extends Thread implements Runnable{ public void run(){

System.out.println(\ }

public static void main(String args[]){ Thread t::new Thread(new X3()); t.Start(); }

}A. 第1行会产生编译错误B. 第6行会产生编译错误C. 第6行会产生运行错误D. 程序可运行和启动

165.paint()方法使用哪种类型的参数?( A )

A. Graphics B. Graphics2D C. String D. Color

166.下面的数据类型( D )是float型A. 33.8 B. 129 C. 89L D. 8.6F 167.下列选项中,不属于Java核心包的一项是( ) A. java.swingB. java.ioC. java.utilD. java.lang

168.设已声明了一个类A的两个对象a1,a2,为了初始化a1和a2,下面语句正确的是( D)

A. a1,a2=new A(); B. a1=A.new();a2=A.new(); C. a1=new();a2=new(); D. a1=new A();a2=new A(); 169.下列说法中错误的一个是(D )

A. $1_abc是合法的Java标识符 B. 局部变量必须先声明后使用 C. void是合法的Java保留字 D. 在Java中,类不是用标识符命名的

170.定义字符串:String s1=\下面的程序段输出的结果是(C ) if(s1.equals(\

System.out.println(\ else

System.out.println(\ A.

\ B. \ C. s1 equals\ D. s1 does not equals\

171.分析下列程序: 1)public class SuperClass{

2) class SubClassA extends SuperClass{} 3) class SubClassB extends SuperClass{} 4) public void test(SubClassA foo){ 5) SuperClass bar=foo; 6) } 7} }

172.设有程序为: public class Hello{

public void main(string[]args){ System.out.println(\.\ } }

该程序有如下哪种可能的结果?( B )

A. 执行时产生异常 B. 程序不能编译 C. 执行后输出:\.\ D. 执行后不输出任何东西 173.分析以下程序: 1)public class Foo{

2) public statie void main(String args[]){ 3) String s;}

4) System.out.println(\ 5) } 6) }

该程序的执行结果为( C )。

A. 程序执行成功并且输出“s=” B. 程序执行成功并且输出“s=null”

C. 程序不能通过编译,因为字符串变量s没有初始化 D. 程序不能通过编译,因为形参s不能被引用 174.下列选项中,列出用于定义类成员的访问控制权的一组保留字是(D )

A. class,float,double,public B. float,boolean,int,long C. char,extends,float,double D. public,private,protected 175.下列语句执行后,j的值是( A ) int j=0;

for(int i=1;i<6;i=i+2) j+=i;

A. 9 B. 10 C. 11 D. 12 176.下面的程序编译运行的结果是( A ) public class A implements B public static void main(String[] args) {

int m,n; A t=new A(); m=t.k; n=B.k;

System.out.println(m+\ } }

interface B { int k=5;}

A. 5,5 B. 0,5 C. 0,0 D. 编译程序产生编译错误 177.以下语句输出的结果是(B ) System.out.println(Math.floor(-0.8)); A. 0 B. -1 C. -0.8 D. 0.8

178.容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变?( D ) A. CardLayout B. FlowLayout C. BorderLayout D. GridLayout 179.分析以下Java程序: 1)class EnclosingOne{ 2)public class InsideOne { 3) }

4)public class InnerTest{

5) public static void main(string args[1]){ 6) EnclosingOne eo=new EnclosingOne (); 7) //在此处插入代码 8) } 9)}

该程序在第7行插入的正确的一行是( D )。 A. InsideOne ei=eo.new InsideOne(); B. eo.InsideOne ei=eo.new Insideone(): C. InsideOne ei=EnclosingOne.new InsideOne(); D. EnclosingOne.InsideOne ei=eo.new InsideOne(); 180.分析下列程序: 1)class A{

2)l public int getNumber(int a){ 3) return a+1; 4) } 5) } 6)

7}class B extends A{

8)public int getNumber(int a){ 9) return a+2; 10) } 11)

12) public static void main(String args[]) { 13) A a=new B();

14) System.out.println(a.getNumber(0)); 15) } 16)}

该程序的执行结果是( B)。

A. 编译成功并输出1 B. 编译成功并输出2 C. 在第8行出现编译错误 D. 在第13行出现编译错误 181.编译一个Java程序Hello.java的正确命令形式是( C )。

A. javac Hello B. Javac Hello C. javac Hello.Java D. javac hello 182.哪个关键字可以对对象加互斥锁?( B )

A. transient B. synchronized C. serialize D. static 183.下面关于Applet的说法正确的是( B )。

A. Applet也需要main方法 B. Applet必须继承java.awt.Applet C. Applet能访问本地文件 D. Applet程序不需要编译

185.若以下变量均已正确定义并赋值,下面符合java语言语法的表达式是( B) A. a=a<=7 B. a=7+b+c C. int 12.3%4 D. a=a+7=c+b 186.分析下列程序: 1)interface Foo{ 2) int k=0; 3)}

4)public class Test implements Foo{ 5)public static void main(String args[]){ 6) int i}

7)Test test=new Test(); 8) i=test.k; 9) i=Test.k; 10) i=Foo.kj 11)} 12)}

该程序的结果是( A )。

A. 编译成功 B.编译时在第2行出现错误 C.编译时在第8行出现错误 D.编译时在第9行出现错误 187.下列关于Application和Applet程序的说法中不正确的一项是(B)

A. Application使用解释器java.exe执行 B.Application不使用独立的解释器就可以执行 C. Applet在浏览器中运行 D.Applet程序必须继承Java的Applet类 188.java语言是__年由__公司第一次正式公布的,__被誉为Java之父. (D)

A.1996;IBM;Bill Joe B.1995;Sun;Bruce Eckel C.1996;Microsoft;Anders Hejlsberg D.1995;Sun;James Gosling

一、选择题(每小题1分,共 10 分,注:选择答案可能不止一个正确)

1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。A. .java B. .class C. .html D. .exe

2、设 x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x 的值是( )。 A. 3 B. 3. 5 C. 4 D. 5

3、在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( )方法来完成一些画图操作。 A. start( ) B. stop( ) C. init( ) D. paint( ) 4、不允许作为类及类成员的访问控制符的是( )。 A. public B. private C. static D. protected

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

A. static void method( ) B. public void method( ) C. final void method( ) D. abstract void method( ) 6、下面哪些是java语言中的关键字? A. sizeof B. abstract C. NULL D. Native 7、下面语句哪个是正确的?

A. char c ='abc'; B. long l=oxfff; C. float f=0.23; D. double d =0.7E-3; 8、以下程序测试String 类的各种构造方法,试选出其运行效果。 class STR{public static void main(String args[]){ String s1=new String();

String s2=new String(\ char chars[]={'a',' ','s','t','r','i','n','g'}; String s3=new String(chars); String s4=new String(chars,2,5);

byte[] bytes={72,101,108,108,79,33}; //A、a和“!”号的ASCII分别为65、97和33 StringBuffer sb=new StringBuffer(s3); sb.append(“!”);

String s5=new String(sb); String s6 = new String(bytes);

System.out.println(\ System.out.println(\ System.out.println(\ System.out.println(\ System.out.println(\ System.out.println(\

A . The String No.1 is B. The String No.1 is The String No.2 is String The String No.2 is String 2 The String No.3 is a string The String No.3 is a string The String No.4 is string The String No.4 is strin The String No.5 is a string The String No.5 is a string!

The String No.6 is HELLO! The String No.6 is Hello! C. The String No.1 is The String No.2 is String 2

The String No.3 is a string D 以上都不对 The String No.4 is strin The String No.5 is a string

The String No.6 is hello!

9、下面语句段的输出结果是( ) int i = 9;

switch (i) { default: System.out.println(\

case 0: System.out.println(\ case 1: System.out.println(\ case 2: System.out.println(\

A. default B. default, zero C. error default clause not defined D. no output displayed 10、下面哪些语句能够正确地生成5个空字符串?

A . String a[]=new String[5]; B. String a[]={\

for(int i=0;i<5;a[++]=\ D. String[5] a; C. String a[5]; E. String[] a=new String[5]; 11、下面哪些选项将是下述程序的输出? public class Outer{

public static void main(String args[]){

for(int i=0; i<3; i++) for(int j=0;j<3;j++){ if(j>1) break; System.out.println(j+\}} 0 and 0 B. 0 and 1C. 0 and 2 D. 0 and 3 E. 2 and 2 F. 2 and 1 G. 2 and 0

12、在编写Java Application程序时,若需要使用到文件输入输出语句,必须在程序的开头写上( )A、import java.awt.* ; B、import java.applet.Applet ; C、import java.io.* ; D、import java.awt.Graphics ; 13. 下列可作为正确的java标识符使用的是:

A、MyClass, $amount, _totalGrades B、$美元, instanceOf, TAX_RATE C、one, My Class, numberOf*s D、final, 1Way, new

14、下列程序的运行结果为:(A的ASCII为65, 1的ASCII为49, a的ASCII为97)

char c1='A', c2='1'; System.out.println(c1+3); //68

System.out.println((char)(c1+3)); //D System.out.println((char)(c1+c2)); //r A. D D r B. 68 D w C. D D r D. 68 D r 15、下列程序的运行结果为:

System.out.println(37D); //37.0 System.out.println(037); //31 System.out.println(037D); //37.0 System.out.println(0x37D); //893 A. 37.0 37 37 37 B. 37.0 31 37.0 37.0 C. 37.0 31 37.0 893 D. 37.0 37 31 893 16、下列程序的运行结果为:

Integer n1 = new Integer(47); Integer n2 = new Integer(47);

System.out.println(n1 = = n2); //false System.out.println(n1.equals(n2)); //true n1 = n2; System.out.println(n1 ! = n2); //false System.out.println(n1.equals(n2)); //true A. true true true true B. false false false true C. false true false true D. true true false true 17、下列程序中出错的语句为: class A { void f(int x,int y){} static void g(int a, int b){}

public static void main(String[] args){ A a1 = new A();

a1.f(2,3); (1) a1.g(2,5); (2) A.f(4,6); // error (3) A.g(8,9); (4) f(4,6); // error (5) g(8,9); } } (6)

A. 语句。

A. (2) (4) (6) B. (1) (3) (5) C. (3) (5) D. (4) (6) 18、下列说法正确的是: public class TestFinal {

Random rnd = new Random(); final int a = rnd.nextInt(); final static double pi = 3.1415926;

final Person teacher = new Person(\为Person类的构造器 static void f(final int i){ System.out.println(i+=100); }

public static void main(String[] args) { TestFinal test1 = new TestFinal(); TestFinal test2 = new TestFinal();}}

A、 test1.a 与 test2.a 的值相同;test1.pi 与 test2.pi 的值相同;test1与 test2的teacher属性是同一个

Person类型对象;方法f()存在错误,应将f(final int i)改为f(int i)

B、 test1.a 与test2.a的值可能相同,也可能不同;test1.pi 与 test2.pi 的值相同;test1与 test2的teacher

属性是不同的Person类型对象;方法f()存在错误,应将i+=100改为i+100

C、 test1.a 与test2.a的值一定不同;test1.pi 与 test2.pi 的值相同;test1与 test2的teacher属性是不同

的Person类型对象;方法f()存在错误,应将f(final int i)改为f(int i)

D、 test1.a 与test2.a的值不同;test1.pi 与 test2.pi 的值不同;test1与 test2的teacher属性是同一个

Person类型对象;方法f()存在错误,应将f(final int i)改为f(int i) 19. 下列哪些程序段是正确的?B、E、F

A. class IceCream { B.class IceCream { private void sd(String s){ void sd(String s){

System.out.println(s); } System.out.println(s); }

public IceCream(){ public IceCream(){

sd(“I am a IceCream!”); } } sd(“I am a IceCream!”); }} public Class Sundae extends IceCream{ public Class Sundae extends IceCream{ public static void main(){ public static void main(){ Sundae x = new Sundae(); Sundae x = new Sundae(); IceCream y = new IceCream(); IceCream y = new IceCream(); y.sd(“It is a Sundae!”); y.sd(“It is a Sundae!”);

x.sd(“I am in Sundae class”); } } x.sd(“I am in Sundae class”); }} C. D

package edu.zjut package edu.zjut public class IceCream { public class IceCream { void sd(String s){ protected void sd(String s){ System.out.println(s); } System.out.println(s); } public IceCream(){ public IceCream(){

sd(“I am a IceCream!”); } } …… sd(“I am a IceCream!”); } }……. package com.w3c package com.w3C

public Class Sundae extends IceCream{ public Class Sundae extends IceCream{ public static void main(){ public static void main(){

Sundae x = new Sundae(); Sundae x = new Sundae(); IceCream y = new IceCream(); IceCream y = new IceCream(); y.sd(“It is a Sundae!”); y.sd(“It is a Sundae!”);

x.sd(“I am in Sundae class”); } } x.sd(“I am in Sundae class”); } } E. F

package edu.zjut package edu.zjut public class IceCream { public class IceCream { public void sd(String s){ protected void sd(String s){ System.out.println(s); } System.out.println(s); } public IceCream(){ public IceCream(){

sd(“I am a IceCream!”); } } …… sd(“I am a IceCream!”); } }……. package com.w3c package edu.zjut

public Class Sundae extends IceCream{ public Class Sundae extends IceCream{ public static void main(){ public static void main(){ Sundae x = new Sundae(); Sundae x = new Sundae(); IceCream y = new IceCream(); x.sd(“I am in Sundae class”); }} y.sd(“It is a Sundae!”); x.sd(“I am in Sundae class”); }} 二、填空题(每空格1分,共 20 分)

1、开发与运行Java程序需要经过的三个主要步骤为 、 和 。 2、根据程序的构成和运行环境的不同,Java源程序分为两大类: 和 。

3、如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是 类的子类并且存储该源程序文件的文件名为 。

4、Java源程序是由类定义组成的,每个程序中可以定义若干个类,但是只有一个类是主类。在Java Application中,这个主类是指包含 方法的类;在Java Applet里,这个主类是一个系统类 的子类。

5、如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译器 编译该源程序文件将产生 个文件名与类名相同而扩展名为 的字节码文件。

6、Java采用 字符集,以此编码方案char型数据,一个英文字符占用 字节内存空间,一个中文字符占用 字节内存空间。

7、设 x = 2 ,则表达式 ( x + + )/3 的值是 。 8、若x = 5,y = 10,则x < y和x >= y的逻辑值分别为 和 。

9、 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。 方法是不能被当前类的子类重新定义的方法。

10、创建一个名为 MyPackage 的包的语句是 ,该语句应该放在程序的位置为: 。 11、设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70}; 则执行以下几个语句后的输出结果是 。

int s = 0 ; for ( int i = 0 ; i < MyIntArray.length ; i + + ) if ( i % 2 = = 1 ) s += MyIntArray[i] ; System.out.println( s );

12、在Java程序中,通过类与类之间只能实现 继承,即一个类只能有一个父类;而一个类可以实现多个 ,从而实现 继承关系。 13、字符串分为两大类,一类是 ,使用 类的对象表示;另一类是 ,使用 类的对象表示。

14、为了让关闭框架窗体jf时程序可以自动结束运行,需要使用的语句是 。 15、byte b1 = 4; byte b2 = -4;表达式b1>>2的值为 1 ;表达式b1<<2的值是 16 ;表达式b1>>>10与b2>>>=10的结果相同还是不同 不同 。 三、程序填空题。(每空格2分,共 30 分) 1、计算 1/1+1/2+1/3+...+1/100 的值。 public class Sum{

public static void main( String args[ ]){ double sum = 0.0 ;

for ( int i = 1 ; i <= 100 ; i + + ) System.out.println( \

2、从标准输入(即键盘)读入10个整数存入整型数组a中,然后逆序输出这10个整数。 import java.io.* ; public class Reverse {

public static void main(String args[ ]) {

int i , n =10 ;

int a[ ] = for ( i = 0 ; i < n ; i ++ ) try {

BufferedReader br =new //定义缓冲标准输入流

a[i] = // 输入一个整数 } catch ( IOException e ) { } ;

for //逆序输出数组a中的元素 System.out.print System.out.println( ); } }

3、创建一个标题为\按钮\的窗框,窗框中显示有\按下我\字样的按钮。 import java.swing.*; public class abc {

public static void main(String args[]){

JFrame frame = frame.show();}}

class FrameOut extends JFrame { JButton btn; FrameOut( ){

btn = new Container cp =

cp.setLayout( ); //采用流布局方式进行布局管理 setSize(300,200); } } 4、求两个数的最大值。 import java.io.*; public class abc {

public static void main(String args[]) {

int a = (JOptionPane.showInputDialog(\

int b = (JOptionPane.showInputDialog(\ System.out.println( ); } class MaxClass {

static int max(int x, iny y) { } }

5、找出下列程序中出错的语句并修改,给出修改后的程序运行结果 byte b = 200; // int b = 200; float f = 7.549f; int i; System.out.println(b);

System.out.println(i = f); // i = (int)f 200 7

出错语句为: 应修改为 应修改为 修改后程序输出结果为:

6、找出下列程序中出错的语句并修改,给出修改后的程序运行结果

public class Person { String name,id,sex;

final static String nationality; //static String nationality; int age; Person(String na, String i, String nation) { name = na; id = i;

nationality = nationality; //this. nationality = nationality; } public static void main(String[] args){

Person gj = new Person(\ Person hr = new Person();

System.out.println(\ hr.nationality=\

System.out.println(\出错语句为: 应修改为 应修改为 修改后程序输出结果为:

7. 为6题中的Person类增加一个带参数的构造器,用于对人的姓名、身份证号码、国籍以及性别、年龄进行初始化。

public Person(String name, String id, String nationality, String sex, int age) { this(name,id,nationality); this.sex = sex; this.age = age; } Chinese类是9题中Person类的子类 public class Chinese extends Person{ static String language = \ String folk;

public Chinese(String na, String i, String nation, String folk) { super(na, i, nation); this.folk = folk; }} 8. 将保存在本地机C盘java目录下的text1.txt文件, 另存为同目录下的text2.txt文件。利用字节流进行文件读写。

try {FileInputStream fin = new FileInputStream(“c:\\\\java\\\\text1.txt”);

FileOutputStream fout = new FileOutputStream(“c:\\\\java\\\\ text2.txt”); byte[] b= new byte[10]; //定义一个长度为10的数组 while((fin.read(b))!=-1)

fout.write(b); fin.close(); fout.close(); }catch(IOException e) { System.out.println(e); }

9. 一个加密过滤器对来自底层数据流中的数据进行加密处理,加密算法如下: 设c为输入的原始字符,加密后的字符为E(c),则

E(c) = c + c/10 + c 提示:A的ASCII为65

public class EncryptFilter extends FilterReader { EncryptFilter(Reader in){ super(in); } public int read() throws IOException{ int c = super.read(); if(c!=-1) c += (c % 10) + (c / 10); return c; }}

public static void main(String[] args) throws IOException{

String str=JOptionPane.showInputDialog(\ StringReader src = new StringReader(str); FilterReader f = new EncryptFilter(src);

int c; String encode=\

while ((c = f.read())!=-1) encode += (char)c;

JOptionPane.showMessageDialog(null,\ 若通过输入对话框输入ABCDE,则输出对话框中显示的加密后的消息为 LNPRT 10. int c;

while ((c = System.in.read()) != -1)

System.out.write(Character.isUpperCase(c) ? c : Character.toUpperCase(c)); 输入:Hello world 输出:HELLO WORLD 11. InputStream in = System.in; (1) int ch=0; int total=0; int spaces=0; while((ch=in.read())!=-1){ if(ch==10) break; total++; if(ch==32) spaces++;}

System.out.println(total+ \

输入:hello world china go go! 后按回车键,输出: 24,4 输入:加油 中国! 中国 加油!后按回车键,输出: 21,3 用语句Reader in = new InputStreamReader(System.in);代替语句1 输入:hello world china go go! 后按回车键,输出: 24,4 输入:加油 中国! 中国 加油!后按回车键,输出: 13,3 四、写出下面程序的运行结果(每小题10分,共 20 分)

1、 import java.io.*;

public class abc {

public static void main(String args[ ]) { AB s = new AB(\ System.out.println(s.toString( )); }} class AB {

String s1; String s2;

AB( String str1 , String str2 ) { s1 = str1; s2 = str2; } public String toString( ) { return s1+s2; }} 2、 public class abc {

public static void main(String args[ ]) {

int i , s = 0 ; int a[ ] = { 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(\

3、class Number { int n; }

Number n1 = new Number();Number n2 = new Number(); n1.n = 9; System.out.println(n1.n); //9 n2 = n1; System.out.println(n2.n); //9 n2.n = 27; System.out.println(n1.n); //27 4、char c = 0;

for( ; ; ){ if(c>127) break; if(Character.isLowerCase(c))

System.out.println(\ c++;} value: 97 character: a value: 98 character: b……. value: 120 character: x value: 121 character: y value: 122 character: z 5、 public class abc {

public static void main(String args[ ])

{ SubSubClass x = new SubSubClass(10 , 20 , 30); x.show(); } } class SuperClass {

int a,b;

SuperClass(int aa , int bb) { a=aa; b=bb; } void show( ) {

System.out.println(\ class SubClass extends SuperClass {

int c;

SubClass(int aa,int bb,int cc) {

super(aa,bb); c=cc; }}

class SubSubClass extends SubClass {

int a;

SubSubClass(int aa,int bb,int cc) {

super(aa,bb,cc); a=aa+bb+cc; }

void show() {

System.out.println(\6、import javax.swing.*; import java.awt.*; import java.awt.Graphics;

public class SimpleGUIFrame extends JFrame {

public SimpleGUIFrame(){

final int WIDTH = 400; final int HEIGHT = 300; setSize( WIDTH, HEIGHT );

setTitle( \Container contentPane = getContentPane(); MyPanel onePanel = new MyPanel();

contentPane.add(onePanel, BorderLayout.CENTER ); JPanel otherPanel = new JPanel();

JButton myButton = new JButton( \otherPanel.add(myButton);

contentPane.add(otherPanel, BorderLayout.SOUTH ); }

public static void main(String[] args){

JFrame appFrame = new SimpleGUIFrame();

appFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE ); appFrame.show();}} class MyPanel extends JPanel{

public void paintComponent(Graphics g){ super.paintComponent(g); g.setColor(new Color(255,0,0));

g.drawString(\7. class A_Class extends B_Class{ B_Class{

int x=98, y; int f(){int x;} int x=45; y = x; (1) }} A_Class a = new A_Class(); a.f();

System.out.println(a.y); }

程序运行结果为 45

如果语句1用y = this.x; 代替,程序运行结果为 98 如果语句1用y = super.x; 代替,程序运行结果为 0 8. class Art {

Art() { System.out.println(\class Drawing extends Art { Drawing(){

public static void main(String[] args){

System.out.println(\class Cartoon extends Drawing { public Cartoon(){

System.out.println(\ public static void main(String[] args) { Cartoon x = new Cartoon();}} 9. class Man{ void drink(){

System.out.println(\class OldMan extends Man{ void drink(){

System.out.println(\class YongMan extends Man{

void drink(){System.out.println(\

void dance(){System.out.println(\public static void main(String[] args) { Man tom = new Man(); Man yangguo = new YongMan(); Man hongqi = new OldMan();

tom.drink(); // I am drinking water! yangguo.drink(); // I am drinking beer! hongqi.drink(); // I am drinking tea! if(yangguo instanceof YongMan)

((YongMan)yangguo).dance();}}// I can dance! 10. public class TestRandomAccess { static String file = \ static void display() throws IOException {

RandomAccessFile rf = new RandomAccessFile(file, \ for(int i = 0; i < 7; i++)

System.out.println(\ System.out.println(rf.readUTF()); rf.close();}

public static void main(String[] args) throws IOException {

RandomAccessFile rf = new RandomAccessFile(\ for(int i = 0; i < 7; i++) rf.writeDouble(i*1.414); rf.writeUTF(\ rf.close(); display();

rf = new RandomAccessFile(file, \ rf.seek(5*8);

rf.writeDouble(47.0001); rf.skipBytes(8);

rf.writeUTF(\

rf.close(); display();}}

Value 0: 0.0 Value 1: 1.414 Value 2: 2.828 Value 3: 4.242 Value 4: 5.656 Value 5: 7.069999999999999 Value 6: 8.484 First writing ends!

Value 0: 0.0 Value 1: 1.414 Value 2: 2.828 Value 3: 4.242 Value 4: 5.656 Value 5: 47.0001 Value 6: 8.484 Second writing ends!

11、下面的程序将货品名称、数量以及货品单价写入目标文件goods.txt,试写出text.txt文件中数据的存储格式。public static void main(String[] arg)

try{ DataOutputStream out = new DataOutputStream(new FileOutputStream(\ double[] prices={6.55, 9.99, 1.8, 2.33, 0.90}; int[] units={12, 9, 5 ,6, 7};

String[] descs={\ for(int i=0; i

out.writeChar(' ');

out.writeInt(units[i]);

out.writeChar(' ');

out.writeChars(descs[i]);

out.writeChar('\\n'); }

out.close(); }catch(IOException e){} }

6.55 12 chicken 9.99 9 beef 1.8 5 lettuce 2.33 6 potato 0.90 7 tomato 五、使用Java语言编写程序。(每小题10分,共 20 分)

1、编写一个字符界面的Java Application 程序,接受用户输入的10个整数(要求:通过标准输入流接收数据),并输出这10个整数的最大值和最小值。

2、编写一个Vehicle类 1) 要求至少具有当前速度、当前方向(角度)、车主名、制造商、品牌以及排放量等几个域2) 给Vehicle类增加表示车辆绿色环保标识的静态域,保存每个车辆车牌号码的非静态域。3) 为Vehicle类编写两个changeSpeed方法,a)带一个浮点型参数,把车辆的当前速度改为输入值;b)带两个参数,分别表示汽车已经行驶的时间和历程,利用这两者的比值(平均行驶速度)设置车辆的当前速度。 4) 给Vehicle类增加两个构造器:无参数的构造器和带初始车主名的构造器,

3、将保存在本地机c盘java目录中的KY5_2.HTML 文本文件的内容在屏幕上显示出来,并将其另存为KY5_2.txt 文件。

4、编写一个SwitchNumber类,设计一个静态方法,实现两个整型数据的交换。 class Number{

int n; Number(int i){ n = i; }} public class SwitchNumber { static void doSwitch(int a,int b){ int tmp; tmp = a; a = b; b = tmp; } static void trySwitch(Number a, Number b){ int tmp; tmp = a.n; a.n =b.n; b.n = tmp; } public static void main(String[] args) { int n1 = 7; int n2 = 9;

System.out.println(\ doSwitch(n1,n2);

System.out.println(\ Number n3 = new Number(7); Number n4 = new Number(9);

System.out.println(\ trySwitch(n3,n4);

System.out.println(\

5. 设计一个Shape类,用于描述所用形状的共同特征,要求shape类为抽象类,至少包含形状的面积、周长、颜色等几个域;设计一个Test接口,用于封装形状的相关测量功能,如:计算图形的面积和周长等;设计一个Display接口,用于封装形状的相关显示功能,如:图形的绘制与擦除。由Shape类派生出一个Triangle类,实现Test和Display两个接口,用于描述三角形。要求:具有顶点坐标(可用x,y两个数组表示,分别保存三角形顶点的横坐标与纵坐标),三边的边长等几个域,设计一个构造器,以便在创建三角形对象时,指定顶点坐标给出相应接口中抽象方法的具体实现。

6、使用数据流将4-11中goods.txt文件中的数据读取出来,统计每类货品的价钱和总价。

double totals = 0; DataInputStream in=null;

try{ in = new DataInputStream(new FileInputStream(\ double price=0.0; double total=0.0; int unit; char ch; String desc; while(true){ price = in.readDouble(); in.readChar();unit = in.readInt(); in.readChar(); desc = in.readUTF(); total = price * unit;

System.out.println(\ totals +=total; }

}catch(EOFException e){//followed the front page System.out.println(\ try{ in.close();

}catch(IOException e1){ }} catch(IOException e){}

《JAVA语言程序设计》期末考试模拟试题

一、单选择题(每小题2分,共10分)

1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。

A. .java B. .class C. .html D. .exe

2、设 x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x 的值是( )。

A. 3 B. 3. 5 C. 4 D. 5

3、在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( )方法来完成一些画图操作。

A. start( ) B. stop( ) C. init( ) D. paint( ) 4、不允许作为类及类成员的访问控制符的是( )。 A. public B. private C. static D. protected

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

A. static void method( ) B. public void method( )

C. final void method( ) D. abstract void method( )

二、填空题(每空格1分,共20分) 1、开发与运行

Java

程序需要经过的三个主要步骤

为 、

和 。

2、如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是 类的子类并且存储该源程序文件的文件名为 。

3、如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译

器 编译该源程序文件将产生 个文件名与类名相同而扩展名为 的字节码文件。

4、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode

本文来源:https://www.bwwdw.com/article/ocu2.html

Top