Java常见笔试题及答案.docx

上传人:b****3 文档编号:5209877 上传时间:2022-12-14 格式:DOCX 页数:12 大小:20.08KB
下载 相关 举报
Java常见笔试题及答案.docx_第1页
第1页 / 共12页
Java常见笔试题及答案.docx_第2页
第2页 / 共12页
Java常见笔试题及答案.docx_第3页
第3页 / 共12页
Java常见笔试题及答案.docx_第4页
第4页 / 共12页
Java常见笔试题及答案.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

Java常见笔试题及答案.docx

《Java常见笔试题及答案.docx》由会员分享,可在线阅读,更多相关《Java常见笔试题及答案.docx(12页珍藏版)》请在冰豆网上搜索。

Java常见笔试题及答案.docx

Java常见笔试题及答案

Java常见笔试题及答案

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

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

A..javaB..class

C..htmlD..exe

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

A.3B.3.5

C.4D.5

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

A.start()B.stop()

C.init()D.paint()

4、不允许作为类及类成员的访问控制符的是(C)。

A.publicB.private

C.staticD.protected

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

A.staticvoidmethod()B.publicvoidmethod()

C.finalvoidmethod()D.abstractvoidmethod()

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

1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、编译生成字节码、和解释运行字节码。

2、如果一个JavaApplet源程序文件只定义有一个类,该类

的类名为MyApplet,则类MyApplet必须是Applet、类的子类

并且存储该源程序文件的文件名为MyApplet。

3、如果一个JavaApplet程序文件中定义有3个类,则使用

Sun公司的JDK编译器javac.exe编译该源程序文件将产生3个文件名与类名相同而扩展名为.class的字节码文件。

4、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用2字节内存空间,这样,无论是中文字符还是英文字符,都是占用2字节内存空间。

5、设x=2,则表达式(x++)/3的值是0。

6、若x=5,y=10,则x=y的逻辑值分别为true和false。

7、抽象(abstract)方法方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。

最终(final)方法方法是不能被当前类的子类重新定义的方法。

8、创建一个名为MyPackage的包的语句packageMyPackage;,

该语句应该放在程序的位置为:

应该在程序第一句。

9、设有数组定义:

intMyIntArray[]={10,20,30,40,50,60,70};则执行以下几个语句后的输出结果是120。

ints=0;

for(inti=0;i

if(i%2==1)s+=MyIntArray[i];

System.out.println(s);

10、在Java程序中,通过类的定义只能实现单重继承,但通过接口的定义可以实现多重继承关系。

三、写出下列程序完成的功能。

(每小题5分,共20分)

1、publicclassSum

{publicstaticvoidmain(Stringargs[])

{doublesum=0.0;

for(inti=1;i<=100;i++)

sum+=1.0/(double)i;

System.out.println("sum="+sum);

}

}

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

2、importjava.io.*;

publicclassReverse

{publicstaticvoidmain(Stringargs[])

{inti,n=10;

inta[]=newint[10];

for(i=0;i

try{

BufferedReaderbr=newBufferedReader(

newInputStreamReader(System.in));

a[i]=Integer.parseInt(br.readLine());//输入一个

整数

}catch(IOExceptione){};

for(i=n-1;i>=0;i――)

System.out.print(a[i]+"");

System.out.println();

}

}

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

3、importjava.awt.*;

publicclassabc

{publicstaticvoidmain(Stringargs[])

{newFrameOut();}

}

classFrameOutextendsFrame//Frame为系统定

{Buttonbtn;//义的窗框类

FrameOut()

{super("按钮");

btn=newButton("按下我");

setLayout(newFlowLayout());

add(btn);

setSize(300,200);

show();

}

}

3、创建一个标题为"按钮"的窗框,窗框中显示有"按下我"字样的按钮。

4、importjava.io.*;

publicclassabc

{publicstaticvoidmain(Stringargs[])

{SubClasssb=newSubClass();

System.out.println(sb.max());

}

}

classSuperClass

{inta=10,b=20;}

classSubClassextendsSuperClass

{intmax(){return((a>b)?

a:

b);}}

4、求两个数的最大值。

四、写出下面程序的运行结果(每小题10分,共30分)

1、importjava.io.*;

publicclassabc

{publicstaticvoidmain(Stringargs[])

{ABs=newAB("Hello!

","IloveJAVA.");

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

}

}

classAB{

Strings1;

Strings2;

AB(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

if(a[i]%3==0)s+=a[i];

System.out.println("s="+s);

}

}s=180

五、使用Java语言编写程序。

(每小题10分,共20分)

1、编写一个字符界面的JavaApplication程序,接受用户

输入的10个整数,并输出这10个整数的最大值和最小值。

importjava.io.*;

publicclassabc

{

publicstaticvoidmain(Stringargs[])

{inti,n=10,max=0,min=0,temp=0;

try{

BufferedReaderbr=newBufferedReader(

newInputStreamReader(System.in));

max=min=Integer.parseInt(br.readLine());

}catch(IOExceptione){};

for(i=2;i<=n;i++){

try{

BufferedReaderbr=newBufferedReader(

newInputStreamReader(System.in));

temp=Integer.parseInt(br.readLine());

if(temp>max)max=temp;

if(temp

}catch(IOExceptione){};

}

System.out.println("max="+max+"\nmin="+min);

}

}

1.给定下面的代码片段:

  1)Stringstr=null;

  2)if((str!

=null)&&(str.length()>10)){

  3)System.out.println("morethan10");

  4)}

  5)elseif((str!

=null)&(str.length()<5)){

  6)System.out.println("lessthan5");

  7)}

  8)else{System.out.println("end");}

哪些行会导致错误?

Aline1Bline2Cline5Dline8

2.下面哪种注释方法能够支持javadoc命令:

A/**...**/B/*...*/C//D/**...*/

3. 欲编写如下图的一个界面,用于显示用户指定的图像:

如果在区域A中只能放置一个AWT组件,从各组件的本来功能角度考虑,最好使用哪种组件:

ATextAreaBPanelCAppletDCanvas

4. 界面如上题所示。

若"Button1"的功能是:

点击后弹出一个用于输入的界面,获取用户想要显示的图像文件名,则该界面最好是(从编程简单和程序不易出错的角度考虑):

A模式(Modal)Dialog

B非模式(None-modal)Dialog

CFileDialog

DFrame

5. 界面如上题所示。

如果在A区域使用某种AWT组件(java.awt.Component的子类)来负责绘制图像,则绘图的语句最好应放在该组件的哪个方法中(考虑到应用程序和Java虚拟机的AWT线程都会要求重画该组件)?

A构造方法

Bpaint(Graphicsg)

Cupdate(Graphicsg)

Drepaint()

6.下面关于Applet的说法正确的是

AApplet也需要main方法

BApplet必须继承自java.awt.Applet

CApplet能访问本地文件

DApplet程序不需要编译

7.看下面一段程序:

  classAclass{

   voidgo(){

    System.out.println("Aclass");

   }

  }

  publicclassBclassextendsAclass{

   voidgo{

    System.out.println("Bclass");

   }

  publicstaticvoidmain(Stringargs[]){

   Aclassa=newAclass();

   Aclassa1=newBclass();

  a.go();

  a1.go();

  }

以上程序运行结果是:

AAclass   AclassBBclass   Bclass

CAclass   BclassDBclass   Aclass

8.下列关于Java线程的说法那些是正确的()

A每一个Java线程可以看成由代码、一个真实的CPU以及数据三部份组成。

B创建线程的两种方法中,从Thread类中继承的创建方式可以防止出现多父类问题。

CThread类属于java.util程序包。

D以上说法无一正确。

9.看以下程序:

  booleana=false;

  booleanb=true;

  booleanc=(a&&b)&&(!

b);

  intresult=c==false?

1:

2;

这段程序执行完后,c与result的值是:

Ac=false;result=1;

Bc=true;result=2;

Cc=true;result=1;

Dc=false;result=2;

10.运行下列程序,会产生什么结果

  publicclassXextendsThreadimplementsRunable{

  publicvoidrun(){

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

  }

  publicstaticvoidmain(Stringargs[])

  {

   Threadt=new Thread(newX());

   t.start();

   }

  }

A第一行会产生编译错误

B第六行会产生编译错误

C第六行会产生运行错误

D程序会运行和启动

11.指出下列程序的运行结果

  inti=9;

  switch(i){

  default:

  System.out.println("default");

  case0:

  System.out.println("zero");

  break;

  case1:

  System.out.println("one");

  case2:

  System.out.println("two");

  }

Adefault

Bdefault,zero

Cerrordefaultclausenotdefined

Dnooutputdisplayed那个

12.运行下列程序,会产生什么结果:

  classOuter1{

   privateinta;

   voidfoo(doubled,finalfloatf){

    Strings;

    finalbooleanb;

    classInner{

     voidmethodInner(){

      System.out.println("intheInner");

     }

    }

   }

   publicstaticvoidmain(Stringargs[])

  {

  Outer1me=newOuter1();

  me.foo(123,123);

  System.out.println("outer");

  }

 }

AintheInnerouter

Bouter

CintheInner

D编译不通过

1. 编写一个程序用选择法对数组a[]={20,10,50,40,30,70,60,80,90,100}进行由大到小的排序。

  importjava.io.*;

  publicclassSelectSort

  {

   publicstaticvoidmain(Stringargs[])

   {

    inta[]={20,10,50,40,30,70,60,80,90,100};

    inttemp;

    for(inti=0;i

     for(intj=i+1;j

     {

      if(a[i]

       temp=a[i];

       a[i]=a[j];

       a[j]=temp;

      }

     }

    for(intk=0;k

    {

     System.out.println("a["+k+"]:

"+a[k]);

    } 

   } 

  }

2. 使用socket编写一个服务器端程序,服务器端程序在端口8888监听,如果它接到客户端发来的"hello"请求时会回应一个"hello",对客户端的其他请求不响应。

importjava.io.*;

  import.*;

  publicclassHelloServer

  {

   publicstaticvoidmain(Stringargs[])throwsIOException

   {

    ServerSocketserver=null;

    server=newServerSocket(8888);

    SocketClientSocket=null;

    ClientSocket=server.accept();

    Stringline;

BufferedReaderis=newBufferedReader(newInputStreamReader(ClientSocket.getInputStream()));

PrintWriteros=newPrintWriter(ClientSocket.getOutputStream());

    while(true)

    {

    line=is.readLine();

    if(line.equals("hello")){

      os.println("hello");

      os.flush();

     } 

    }

   }

  }

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

 importjava.util.*;

  importjava.text.*;

  classThreeTimeThreadextendsThread

  {

   publicThreeTimeThread(Stringstr)

   {

    super(str);

   }

   publicvoidrun()

   {

    while(true){

     SimpleDateFormatformatter=newSimpleDateFormat("yyyy.MM.ddG'at'hh:

mm:

ssz");

     DatecurrentTime=newDate();

     try{

     sleep(1000);

     }catch(Exceptione){}

     StringdateString=formatter.format(currentTime);

     System.out.println(getName()+":

"+dateString);

     }

    }

    publicstaticvoidmain(Stringargs[])throwsException

    {

     newThreeTimeThread("first").start();

     newThreeTimeThread("second").start();

     newThreeTimeThread("third").start();

    } 

  }

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

当前位置:首页 > 工程科技 > 材料科学

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

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