最新Java练习题.docx

上传人:b****4 文档编号:4882249 上传时间:2022-12-11 格式:DOCX 页数:19 大小:28.55KB
下载 相关 举报
最新Java练习题.docx_第1页
第1页 / 共19页
最新Java练习题.docx_第2页
第2页 / 共19页
最新Java练习题.docx_第3页
第3页 / 共19页
最新Java练习题.docx_第4页
第4页 / 共19页
最新Java练习题.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

最新Java练习题.docx

《最新Java练习题.docx》由会员分享,可在线阅读,更多相关《最新Java练习题.docx(19页珍藏版)》请在冰豆网上搜索。

最新Java练习题.docx

最新Java练习题

Java练习题

一、填空题

(1)Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?

(B)

A)安全性B)多线性C)跨平台D)可移植

(2)下列哪个类声明是正确的?

(  D  )。

A)abstractfinalclassHI{···}B)abstractprivatemove(){···}

C)protectedprivatenumber;D)publicabstractclassCar{···}

(3)下列关于for循环和while循环的说法中哪个是正确的?

( D   )。

A)while循环能实现的操作,for循环也都能实现

B)while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果

C)两种循环任何时候都可替换

D)两种循环结构中都必须有循环体,循环体不能为空

(4)异常包含下列那些内容?

(  C )。

A)程序中的语法错误B)程序的编译错误

C)程序执行过程中遇到的事先没有预料到的情况D)程序事先定义好的可能出现的意外情况

(5)Character流与Byte流的区别是(    )。

A)每次读入的字节数不同B)前者带有缓冲,后者没有

C)前者是块读写,后者是字节读写D)二者没有区别,可以互换使用

(6)监听事件和处理事件(    )。

A)都由Listener完成B)都由相应事件Listener处登记过的构件完成

C)由Listener和构件分别完成D)由Listener和窗口分别完成

(7)Applet可以做下列那些操作?

(    )。

A)读取客户端文件B)在客户端主机上创建新文件

C)在客户端装载程序库D)读取客户端部分系统变量

(8)下列哪个属于容器的构件?

(  AD  )。

A)JFrameB)JButtonC)JPnelD)JApplet

(9)如果希望所有的控件在界面上均匀排列,应使用下列那种布局管理器?

(B)

A)BoxLayoutB)GridLayoutC)BorderLayoutD)FlowLouLayout

(10)为实现多线程之间的通信,需要使用下列那种流才合适?

(    )。

A)FilterstreamB)FilestreamC)RandomaccessstreamD)Pipdestream

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

 

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

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

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

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

 A.start()       B.stop()   C.init()      D.paint()

(14)不允许作为类及类成员的访问控制符的是(  B  )。

 A.public    B. private   C.static     D. protected

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

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

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

(16)在Java中,所有类的根类是(    )。

A.java.lang.ObjectB.java.lang.ClassC.java.applet.AppletD.java.awt.Frame

(17)在Java中,用Package语句说明一个包时,该包的层次结构必须是(    )。

A.与文件的结构相同B.与文件目录的层次相同C.与文件类型相同D.与文件大小相同

(18)在读字符文件Employee.dat时,使用该文件作为参数的类是(    )。

A.BufferReaderB.DataInputStreamC.DataOutoutStreamD.FileInputStream

(19)下列构造方法的调用方式中,正确的是(    )。

A.按照一般方法调用B.由用户直接调用C.只能通过new自动调用D.被系统调用

(20)类Panel默认的布局管理器是(    )。

A.GridLayoutB.BorderLayoutC.FlowLayoutD.CardLayout

(21)在Java中,能实现多重继承效果的方式是(    )。

A.内部类B.适配器C.接口D.同步

(22)char类型的取值范围是(    )。

A.2-7~27-1B.0~216-1C.-215~215-1D.0~28-1

(23)能够支持javadoc命令的注释语句是(    )。

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

(24)十进制数16的16进制表示格式是(    )。

A.0x10B.0x16C.0xAD.16

(25)int型public成员变量MAX_LENGTH,该值保持为常数100,则定义这个变量的语句是(    )。

A.publicintMAX_LENGTH=100

B.finalintMAX_LENGTH=100

C.publicconstintMAX_LENGTH=100

D.publicfinalintMAX_LENGTH=100

(27)下列方法中可以用来创建一个新线程的是(    )。

A.实现java.lang.Runnable接口并重写start()方法

B.实现java.lang.Runnable接口并重写run()方法

C.实现java.lang.Thread类并重写run()方法

D.实现java.lang.Thread类并重写start()方法

(28)下列关于JavaApplication与Applet的说法中,正确的是(    )。

A.都包含main()方法

B.都通过“appletviewer”命令执行

C.都通过“javac”命令编译

D.都嵌入在HTML文件中执行

(29)当启动Applet程序时,首先调用的方法是(    )。

A.stop()B.init()C.start()D.destroy()

(30)下列关于线程优先级的说法中,正确的是(    )。

A.线程的优先级是不能改变的

B.线程的优先级是在创建线程时设置的

C.在创建线程后的任何时候都可以设置

D.B和C

(31)当浏览器重新返回Applet所在页面时,将调用Applet类的方法是 (    )。

A.start() B.init() C.stop() D.destroy() 

(32)按照Java的标识符命名规范,下列表示一个类的标识符正确的是 (    )。

A.Helloworld B.HelloWorld C.helloworld D.helloWorld 

(33)下列代码中,将引起一个编译错误的行是 (    )。

1)public class Test{ 

2) int m,n; 

3) public Test() {} 

4) public Test(int a) {m=a;} 

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

6) Test t1,t2; 

7) int j,k; 

8) j=0;k=0; 

9) t1=new Test(); 

10) t2=new Test(j,k); 

11) } 

12)} 

A.第3行 

B.第5行 

C.第6行 

D.第10行 

(34)下列程序的功能是在监控台上每隔一秒钟显示一个字符串“Hello”,能够填写在程序中下划线位置,使程序完整并能正确运行的语句是 (    )。

public class Test implements Runnable{ 

public static void main(String args[]){ 

Test t=new Test(); 

Thread tt=new Thread(t); 

tt.start(); 

public void run(){ 

for(;;){ 

try{ 

}catch( e){} 

System.put.println("Hello"); 

A. sleep(1000) 

InterruptedException 

B. sleep(1000) 

InterruptedException 

C. Thread.sleep(1000) 

RuntimeException 

D. Thread.sleep(1000) 

InterruptedException 

(35)阅读下列代码后 

public class Person{ 

int arr[]=new int[10]; 

public static void main(String args[]){ 

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

正确的说法是(    )。

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

C. 输出零 D. 输出空 

(36)在Java中,负责对字节代码解释执行的是( )。

A.垃圾回收器B.虚拟机C.编译器D.多线程机制

(37)下列叙述中,正确的是(    )。

A.Java语言的标识符是区分大小写的

B.源文件名与public类名可以不相同

C.源文件扩展名为.jar

D.源文件中public类的数目不限

(38)下列属于合法的Java标识符是(    )。

A._catB.5booksC.+staticD.-3.14159

(14)在Java中,表示换行符的转义字符是(    )。

A.\nB.\fC.'n'D.\dd

(39)在Java中,由Java编译器自动导入,而无需在程序中用import导入的包是(    )。

A.java.appletB.java.awtC.java.utilD.java.lang

二、填空题

(1)对象串行化可以很容易地扩展成支持Java对象的(    ),它提供了对象从流中重建的补充方式.

(2)Vector类的对象是通过capacity和capacityIncrement两个值来改变集合的容量,其中capacity表示集合最多能容纳的(    ),capacityIncrement表示每次增加多少容量,不是一个一个增加.

(3)下列程序的功能是判断某一年是否为闰年.请在横线处填入适当内容,使程序能够正确运行.

importjava.io.*;

publicclassLeapYear{

publicstaticvoidmain(Stringarge[])throwsIOException{

InputStreamReaderir;

BufferdeReadwein;

ir=newInputStreamReader(System.in);

in=newBufferedReader(ir);

System.out.println(“输入年份是:

”);

Strings=(    );

intyear=Integer.parseInt(s);

if(year%4==0&&year%100!

=0//year%400==

0)

{

System.out.println(""+year+"年是闰年.");

}

else

{

System.out.println(""+year+"年不是闰年..");

}

}

}

(4)下面程序对数组中每个元素赋值,然后按逆序输出.请在横线处填入适当内容,使程序能正常运行.

importjava.io.*;

publicclassArrayTest{

publicstaticvoidmain(Stringargs[]){

inti;

inta[]=newint[5];

for(i=0;i<5;i++)

a[i]=i;

for((    );i>=0;i--)

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

}

}

(5)下列程序的功能是:

输入一个姓名,程序运行后,输出“姓名Welcomeyou!

”.例如,输入“张三Welcomeyou!

”.请在下面横线处填入正确的方法名,使程序可以正确运行.

importjava,awt,*;

importjava.awt.event.*;

publicclasswelcomenYou{

publicstaticvoidmain(Stringargs[])

{

newFrameInOut();

}

}

classFrameInOutextendsFrameimplementsActionListener

{

Labelprompt;

TextFieldinput,output;

Buttonbtnn;

voidFramInOut()

{

prompt=newLabel("Pleaseinputyourname");

input=newTextField(10);

output=newTextField(25);

btnn=newButton("Class");

(    )(newFlowLayout());

add(prompt);

add(input);

add(output);

add(btnn);

input.addActionListener(this);

btnn.addActionListener(this);

setSize(300.200);

show();

}

publicvoidactionperformed(ActionEvente)

{

if(e.getSource()==input)

output.setText(input.getText()+"Welcomeyou!

");

else

{

dispose();

system.exit(0);

}

}

}

(6)开发与运行Java程序需要经过的三个主要步骤为(    )、(    ) 和(    )。

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

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

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

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

(11)若x=5,y=10,则x=y的逻辑值分别为(    )和 (    )。

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

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

(13)创建一个名为MyPackage的包的语句是(    ),该语句应该放在程序的位置为:

(    )。

(14)设有数组定义:

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

    int s=0;

   for (int i=0;i

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

  System.out.println(s);

(15)在Java程序中,通过类的定义只能实现(    )重继承,但通过接口的定义可以实现(    )重继承关系。

(16)Java源文件中最多只能有一个(    )类,其它类的个数不限。

 

(17)在Java中所实现的多维数组,实际上是由一维数组构成的(    )。

 

(18)StringBuffer类提供(    )字符串对象的表示。

  

(19)每个Applet程序必须有一个类是 (    )类的子类。

(20)线程在生命期中要经历5种状态,分别是新建状态、可运行状态、运行状态、(    )状态和终止状态。

(21)FileInputStream是字节流;BufferedWriter是字符流;ObjectOutputStream是(    )。

  

(22)break语句最常见的用法是在switch语句中,通过break语句退出switch语句,使程序从整个switch语句后面的 (    ) 开始执行。

(23)请阅读下列程序代码,然后将程序的执行结果补充完整。

 

public class throwsException { 

static void Proc(int sel) 

throws ArithmeticException,ArrayIndexOutOfBoundsException{ 

System.out.println("In Situation"+sel); 

if(sel==0){ 

System.out.println("no Exception caught"); 

return; 

}else if(sel==1){ 

int iArray[]=new int[4]; 

iArray[1]=3; 

public static void main(String args[]){ 

try{ 

Proc(0); 

Proc

(1); 

}catch(ArrayIndexOutOfBoundsException e){ 

System.out.println("Catch"+e); 

}finally{ 

System.out.println("in Proc finally"); 

执行结果:

 

InSituation0 

no Exception caught 

(    )

in Proc finally 

答案:

In Situation 1 

(24)当使用Thread t=new Thread(r)创建一个线程时,表达式:

r instanceof Thread的值为(    ) 。

 

银杏树

苏州美肤

苏州祛斑

苏州除皱

苏州脱毛

苏州人才网

南京调查公司

南京调查公司

三、简答题

1、String是最基本的数据类型吗?

答:

基本数据类型包括byte、int、char、long、float、double、boolean和short。

java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。

为了提高效率节省空间,我们应该用StringBuffer类。

2、面向对象的特征有哪些方面?

简述每个特征。

3、int和Integer有什么区别?

答:

Java提供两种不同的类型:

引用类型和原始类型(或内置类型)。

Int是java的原始数据类型,Integer是java为int提供的封装类。

Java为每个原始类型提供了封装类。

引用类型和原始类型的行为完全不同,并且它们具有不同的语义。

引用类型和原始类型具有不同的特征和用法,它们包括:

大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。

对象引用实例变量的缺省值为null,而原始类型实例变量的缺省值与它们的类型有关。

4、String和StringBuffer的区别?

答:

JAVA平台提供了两个类:

String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。

这个String类提供了数值不可改变的字符串。

而这个StringBuffer类提供的字符串进行修改。

当你知道字符数据要改变的时候你就可以使用StringBuffer。

典型地,你可以使用StringBuffers来动态构造字符数据。

5、运行时异常与一般异常有何异同?

答:

异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。

java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。

6、final,finally,finalize的区别?

答:

final用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。

finally是异常处理语句结构的一部分,表示总是执行。

finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。

7、sleep()和wait()有什么区别?

答:

sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。

调用sleep不会释放对象锁。

wait是Ob

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

当前位置:首页 > 工作范文 > 演讲主持

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

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