Java面向对象程序设计试题一.docx

上传人:b****5 文档编号:7813230 上传时间:2023-01-26 格式:DOCX 页数:26 大小:26.05KB
下载 相关 举报
Java面向对象程序设计试题一.docx_第1页
第1页 / 共26页
Java面向对象程序设计试题一.docx_第2页
第2页 / 共26页
Java面向对象程序设计试题一.docx_第3页
第3页 / 共26页
Java面向对象程序设计试题一.docx_第4页
第4页 / 共26页
Java面向对象程序设计试题一.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

Java面向对象程序设计试题一.docx

《Java面向对象程序设计试题一.docx》由会员分享,可在线阅读,更多相关《Java面向对象程序设计试题一.docx(26页珍藏版)》请在冰豆网上搜索。

Java面向对象程序设计试题一.docx

Java面向对象程序设计试题一

Java面向对象程序设计试题一

一、单项选择题

D1、欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的?

()

AArrayListmyList=newObject();

BListmyList=newArrayList();

CArrayListmyList=newList();

DListmyList=newList();

C2、paint()方法使用哪种类型的参数?

AGraphics

BGraphics2D

CString

DColor

D3、指出正确的表达式()

Abyte=128;

BBoolean=null;

Clongl=0xfffL;

Ddouble=0.9239d;

4、指出下列程序运行的结果()。

publicclassExample{

  Stringstr=newString("good");

  char[]ch={'a','b','c'};

  publicstaticvoidmain(Stringargs[]){

    Exampleex=newExample();

    ex.change(ex.str,ex.ch);

    System.out.print(ex.str+"and");

    Sytem.out.print(ex.ch);

  }

  publicvoidchange(Stringstr,charch[]){

    str="testok";

    ch[0]='g';

  }

}

Agoodandabc

Bgoodandgbc

Ctestokandabc

Dtestokandgbc

A5、运行下列程序,会产生什么结果()

publicclassXextendsThreadimplementsRunable{

 publicvoidrun(){

  System.out.println("thisisrun()");

 }

 publicstaticvoidmain(Stringargs[])

 {

  Threadt=newThread(newX());

  t.start();

 }

}

A第一行会产生编译错误

B第六行会产生编译错误

C第六行会产生运行错误

D程序会运行和启动

A6、要从文件"file.dat"文件中读出第10个字节到变量C中,下列哪个方法适合?

()

AFileInputStreamin=newFileInputStream("file.dat");in.skip(9);intc=in.read();

BFileInputStreamin=newFileInputStream("file.dat");in.skip(10);intc=in.read();

CFileInputStreamin=newFileInputStream("file.dat");intc=in.read();

DRandomAccessFilein=newRandomAccessFile("file.dat");in.skip(9);intc=in.readByte();

7、容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变?

()

ACardLayout

BFlowLayout

CBorderLayout

DGridLayout

C8、给出下面代码:

publicclassPerson{

  staticintarr[]=newint[10];

  publicstaticvoidmain(Stringa[])

  {

   System.out.println(arr[1]);

  }

}

那个语句是正确的?

()

A编译时将产生错误;

B编译时正确,运行时将产生错误;

C输出零;

D输出空。

9、哪个关键字可以对对象加互斥锁?

()

Atransient

Bsynchronized

Cserialize

Dstatic

10、下列哪些语句关于内存回收的说明是正确的?

()

A程序员必须创建一个线程来释放内存;

B内存回收程序负责释放无用内存

C内存回收程序允许程序员直接释放内存

D内存回收程序可以在指定的时间释放内存对象

二、多项选择题

AB1、下面哪些标识符在Java语言中是合法的?

()

Apersons$

BTwoUsers

C*point

DinstanceofF.end-line

BD2、下面哪些代码片段会产生编译错误?

()

AStrings="Gonewiththewind";Stringt="good";Stringk=s+t;

BStrings="Gonewiththewind";Stringt;t=s[3]+"one";

CStrings="Gonewiththewind";Stringstandard=s.toUpperCase();

DStrings="homedirectory";Stringt=s-"directory".

AD3、下面哪些赋值语句是错误的?

()

Afloatf=11.1;

Bdoubled=5.3E12;

Ccharc='\r';

Dbytebb=433;

4、给定下面的代码片段:

  publicvoidTest(){

   try{

      method();

      System.out.println("HelloWorld");

     }

   catch(ArrayIndexOutOfBoundsExceptione)

   {

    System.out.println("Exception?

");

   }

   catch(Exceptione)

   {

    System.out.println("Exception1");

   }

   finally{

    System.out.println("Thankyou!

");

    }

   }

如果函数method正常运行并返回,会显示下面的哪些信息?

()

AHelloWorld

BException

CException1

DThankyou!

ACD5、下列哪些语句是正确的?

()

Ainta[][]=newint[][3];

Binta[][]={{1,3},{2,3,4},{1,2}};

CStrings[][]=newString[2][];

DStrings[][]={{"can","I"},{"help","you"}}

BC6、下面哪些语句能够正确地生成5个空字符串?

()

AStringa[]=newString[5];for(inti=0;i<5;a[i++]="");

BStringa[]={"","","","",""};

CStringa[5];

DString[5]a;

BC7、下面关于Java代码安全的说法哪些是正确的?

()

A程序执行过程中需要的所有类都是通过字节码校验程序装入的。

B代码的运行是由Java运行环境中的解释器完成的。

C在运行时,字节码要经过装入,校验之后,才能在解释器中执行。

D在缺省的安全配置条件下,JavaApplet不能访问任何本地资源。

AC8、下列方法属于java.lang.Math类的有(方法名相同即可):

()

Arandom()

Babs()

Csqrt()

Dsin()

CD9、下列表达式哪些是正确的:

()

Abyte=340;

BBoolean=1;

Clongl=-2;

Ddouble=0.9239d;

BC10、下面的说法正确的是:

()

AJava语言里的线程不是对象

BApplet不需要main方法

CJava语言的对象都是java.lang.Object的子类

Ddouble是Java语言的合法标识符

三、填空题

1、执行下列代码后的结果是什么?

intx,a=2,b=3,c=4;x=++a+b+++c++;

2、包包含了Collection的接口和类的API。

3、main方法的声明格式包括

4、下列程序中构造了一个SET并且调用其方法add(),输出结果是。

publicclassA{

publicinthashCode(){return1;}

publicBooleanequals(Objectb){returntrue}

publicstaticvoidmain(Stringargs[]){Setset=newHashSet();

set.add(newA());

set.add(newA());

set.add(newA());

System.out.println(set.size());

}

}

5、下列程序的运行结果是。

classA{

classDog{

  privateStringname;

  privateintage;

  publicintstep;

  Dog(Strings,inta)

  {

   name=s;

   age=a;

   step=0;

   }

  publicvoidrun(Dogfast)

  {

   fast.step++;

  }

}

  publicstaticvoidmain(Stringargs[])

  {

  Aa=newA();

  Dogd=a.newDog("Tom",3);

  d.step=25;

  d.run(d);

  System.out.println(d.step);

  }

}

四、编程题

1、编写一个输出"HelloWorld!

"的程序,用两种方式实现(Application、Applet)。

2、打印输出10行杨晖三角形

3、有下面一段Server段程序,目的是能够同时服务多个客户,客户的请求是一句话(一个String)。

如果这个请求的内容是字符串"plain"的话,服务器仅将"hello"字符串返回给用户。

否则将用户的话追加到当前目录的文本文件Memo.txt中(路径为"Memo.txt"),并向用户返回"OK"。

注意Server并发的处理多用户,Memo.txt被共享,要求不能出现数据不一致。

Server的程序如下文件Server.java:

   publicclassServer{

    publicstaticvoidmain(Stringargs[]){

     MemoControllermemoController=newMemoController();

     try{

       ServerSocketss=newServerSocket(1999);

        while(true){

         Sockets=ss.accept();

         try{

           UserThreadt=newUserThread(s,memoController);

           t.start();

           }catch(Exceptione){

            e.printStackTrace();

           }

         }

        }catch(Exceptione){

         e.printStackTrace();

        }finally{

         memoController.close();

        }

      }

    }

 类UserThread程序如下:

  文件UserThread.java:

   publicclassUserThreadextendsThread{

    Sockets;

    MemoControllermemo;

    publicUserThread(Sockets,MemoControllermemo){

     this.s=s;

     this.memo=memo;

    }

    publicvoidrun(){

     try{

       BufferedReaderbr=newBufferedReader(newInputStreamReader(s.getInputStream()));

       PrintWriterpw=newPrintWriter(newOutputStreamWriter(s.getOutputStream()));

       Stringreq=br.readLine();

       if(req.equals("plain")){

        pw.println("hello");

       }else{

        memo.append(req);

        pw.println("OK");

       }

       pw.flush();

       pw.close();

       br.close();

       s.close();

     }catch(Exceptione){

      e.printStackTrace();

     }

    }

   }

请根据题目的要求和现有的Server.java,UserThread.java的程序完成类MemoController.java的程序。

 

4、用输入/输出写一个程序,让用户输入一些姓名和电话号码。

每一个姓名和号码将加在文件里。

用户通过点"Done"按钮来告诉系统整个列表已输入完毕。

如果用户输入完整个列表,程序将创建一个输出文件并显示或打印出来。

格式如:

555-1212,Tom123-456-7890,PeggyL.234-5678,Marc234-5678,Ron876-4321,Beth&Brian33.1.42.45.70,Jean-Marc

 

5、编写一个应用程序,创建三个线程分别显示各自的时间。

 

第一题:

publicstaticvoidmain(String[]args){

String[]fileNames={"abc.txt","bcd.exe","cde.exe","def.dat","efg.exe"};

for(StringfileName:

fileNames){

if(fileName.endsWith(".exe")){

System.out.print(fileName.substring(0,fileName.lastIndexOf(".exe"))+"");

}

}

}

fileName.endsWith(".exe")判断是否已".exe"结尾

substring(0,4)截取0-3的字符串,不包含4

lastIndexOf(".exe")获取".exe"最后一次出现的位置

答案:

bcdcdeefg

第二题:

publicstaticvoidgo(Longn){

System.out.println("Long");

}

publicstaticvoidgo(Shortn){

System.out.println("Short");

}

publicstaticvoidgo(intn){

System.out.println("int");

}

publicstaticvoidmain(String[]args){

shorty=6;

longz=7;

go(y);

go(z);

}

虽然y是short型的,但是编译器把它转换为int型

答案:

intLong

 

第三题:

publicstaticvoidmain(String[]args){

Stringtest="TestA.TestB.TestC.";

Stringregex="\\.\\s*";

String[]result=test.split(regex);

for(Strings:

result)

System.out.print(s+"");

}

答案:

TestATestBTestC

第四题:

publicclassAA{

privateLonguserId;

privateStringnickName;

publicLonggetUserId(){

returnuserId;

}

publicvoidsetUserId(LonguserId){

this.userId=userId;

}

publicStringgetNickName(){

returnnickName;

}

publicvoidsetNickName(StringnickName){

this.nickName=nickName;

}

publicstaticvoidmain(String[]args){

AAm1=newAA();

m1.setUserId(newLong(100001));

m1.setNickName("mick");

AAm2=newAA();

m2.setUserId(newLong(100001));

m2.setNickName("mick");

System.out.println(m1==m2);

System.out.println(m1.equals(m2));

}

equals方法返回值也是returnm1==m2

答案:

falsefalse

 

第五题

运行下列代码,输出为false的是:

()。

A.Stringst1="abc";System.out.println("abc"==st1);

st2=

"abc"System.out.println(st2.equals(newString("abc")));

C.Integeri=100;System.out.println(100==i);

D.ArrayListlist=newArrayList();

System.out.println(list.contains(null));

答案:

D

第六题

publicinterfaceCookie{

Cookiecookie=newCart("小面包","盼盼");

}

publicclassCartimplementsCookie{

privateStringname;

privateStringproduction;

publicCart(Stringname,Stringproduction){

this.name=name;

this.production=production;

}

publicvoidsmell(){

cookie=newCart("蛋黄派","达利园");

}

}

final要求属性不可更改cookie=newCart("蛋黄派","达利园");这个修改了cookie的地址,所以报错

第七题

(多选)请看下列代码:

publicabstractclassShape{

intx;

inty;

publicabstractvoiddraw();

publicvoidsetAnchor(intx,inty){

this.x=x;this.y=y;

}

}

下列选项中能正确使用Shape类的是:

A.publicclassCircleimplementsShape{privateintradius;}

B.publicabstractclassCircleextendsShape{privateintradius;}

C.publicclassCircleextendsShape{privateintradius;publicvoiddraw();}

D.publicclassCircleextendsShape{

privateintradius;

publicvoiddraw(){

}

}

抽象类不可以实例化,如果一个类继承了抽象类,必须重新其抽象方法

答案:

BD

第八题

(多选)请看下列代码:

packagecom.tarena;

publicclassGeodetics{

publicstaticfinaldoubleDIAMETER=12756.32;

}

访问静态常量DIAMETER的方式正确的是:

A.importcom.tarena.Geodetics;

publicclassTerraCarta{

publicdoublehalfway(){

returnGeodetics.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1