最新Java练习题Word格式.docx
- 文档编号:17835178
- 上传时间:2022-12-11
- 格式:DOCX
- 页数:19
- 大小:28.55KB
最新Java练习题Word格式.docx
《最新Java练习题Word格式.docx》由会员分享,可在线阅读,更多相关《最新Java练习题Word格式.docx(19页珍藏版)》请在冰豆网上搜索。
(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子类中,一般需要重载父类的(
)方法来完成一些画图操作。
A.start()
B.stop()
C.init()
D.paint()
(14)不允许作为类及类成员的访问控制符的是(
B
A.public
private
C.static
protected
(15)为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(
A.
static
void
method()
B.public
C.final
D.abstract
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)
Test(int
a)
{m=a;
}
5)
static
void
main(String
args[]){
6)
Test
t1,t2;
7)
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”,能够填写在程序中下划线位置,使程序完整并能正确运行的语句是
implements
Runnable{
t=new
Thread
tt=new
Thread(t);
tt.start();
run(){
for(;
;
){
try{
}catch(
e){}
System.put.println("
Hello"
);
A.
sleep(1000)
InterruptedException
B.
C.
Thread.sleep(1000)
RuntimeException
D.
(35)阅读下列代码后
Person{
arr[]=new
int[10];
System.out.println(arr[1]);
正确的说法是(
编译时将产生错误
编译时正确,运行时将产生错误
输出零
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
年不是闰年.."
(4)下面程序对数组中每个元素赋值,然后按逆序输出.请在横线处填入适当内容,使程序能正常运行.
publicclassArrayTest{
publicstaticvoidmain(Stringargs[]){
inti;
inta[]=newint[5];
for(i=0;
i<
5;
i++)
a[i]=i;
for((
);
i>
=0;
i--)
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!
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和x>
=y的逻辑值分别为(
)和
(12)(
)方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。
)方法是不能被当前类的子类重新定义的方法。
(13)创建一个名为MyPackage的包的语句是(
),该语句应该放在程序的位置为:
(14)设有数组定义:
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);
(15)在Java程序中,通过类的定义只能实现(
)重继承,但通过接口的定义可以实现(
)重继承关系。
(16)Java源文件中最多只能有一个(
)类,其它类的个数不限。
(17)在Java中所实现的多维数组,实际上是由一维数组构成的(
(18)StringBuffer类提供(
)字符串对象的表示。
(19)每个Applet程序必须有一个类是
)类的子类。
(20)线程在生命期中要经历5种状态,分别是新建状态、可运行状态、运行状态、(
)状态和终止状态。
(21)FileInputStream是字节流;
BufferedWriter是字符流;
ObjectOutputStream是(
(22)break语句最常见的用法是在switch语句中,通过break语句退出switch语句,使程序从整个switch语句后面的
开始执行。
(23)请阅读下列程序代码,然后将程序的执行结果补充完整。
throwsException
{
Proc(int
sel)
throws
ArithmeticException,ArrayIndexOutOfBoundsException{
In
Situation"
+sel);
if(sel==0){
no
Exception
caught"
return;
}else
if(sel==1){
iArray[]=new
int[4];
iArray[1]=3;
Proc(0);
Proc
(1);
}catch(ArrayIndexOutOfBoundsException
e){
Catch"
+e);
}finally{
in
Proc
finally"
执行结果:
InSituation0
caught
)
finally
答案:
Situation
1
(24)当使用Thread
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 Java 练习题
![提示](https://static.bdocx.com/images/bang_tan.gif)