if(i%2==1)s+=MylntArray[i];
System.out.println(s);
15.JVM是JavaVirtualMachine的缩写;AWT是abstracwindowtoolkit的缩写。
16.单重继承是指只有一个父类的继承;多重继承是指有一个以上父类的继承;Java语言岀于安全、可靠的考虑,仅支持单重继承;但Java语言可通过接口来实现多重继承。
17.Java中构成图形用户界面的元素和成分可分为一容器_、_控制组件一和—
用户自定义等三类。
18.一个线程的完整生命周期包括如下5种状态一新生_、—就绪_、—运行_、_阻塞_和_死亡
19.Java中实现多线程的图径有2种,一种是—继承thread类_,另一种是Runnable接口。
20.任何一个Java程序都默认引入了一个包,这个包的名字叫java.lang。
21.Java语言中,有一个类是所有类或接口的父类,这个类的名称是。
bjecto
22.下列程序的功能是创建了一个显示5个■■Hello!
"的线程并启动运行,请将程序补充完整。
publicclassThreadiestextendsThread{publicstaticvoidmain(Stringargs[]){
Threadiestt=newThreadTest();
t.start();}
publicvoidrun(){inti=0;
while(true){System.out.println(MHello!
”);
if(i++==4)break;
}
}
23.Java中访问限定符有public、private.、protected禾口default等。
24.事件处理机制中包含以下3个部分事件源、事件对象和事件监听器,
JAVA2的事件处理模型被称为委托事件处理模型。
25.JAVA线程在其生命周期中会处在不同的状态,包括运行、暂停、同步和挂起。
26.图形用户界面由容器和组件组成。
27.表示可直接对数据源进行读写操作的流称为节点流o
28.如果要将捕获到的异常在当前方法中处理,应该使用try・catch・final语句
来捕获一个或
多个异常。
29.抽象方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。
final方法是不能被当前类的子类重新定义的方法。
30.创建一个名为MyPackage的包的语句是packgeMyPackage,该语句应
该放在程序的位責
为:
源代码的第一行
二、简答与程序分析题
1.简述程序、进程与线程的差别。
2.简述方法重载与方法覆盖的区别
方法的覆盖和重载是Java多态性的不同表现。
覆盖是父类与子类之间多态性的一种表现,重载是一个类中多态性的一种表现。
如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被覆盖。
子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。
如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载。
重载的方法是可以改变返回值的类型。
3.阅读以下程序:
(本题3分)
classFatherClass{
publicFatherClass(){
System.out.println「FatherClassCreate");
}
}
publicclassChildClassextendsFatherClass{
publicChildClass(){
System.out.println(MChildClassCreate1);
}
publicstaticvoidmain(String[]args){
FatherClassfc=newFatherClass();
ChildClasscc=newChildClassf);
}
}
程序运行结果是
FatherClassCreate
FatherClassCreate
ChildClassCreate4・阅读以下程序:
classMyThreadextendsThread{
publicvoidrun(){
System.out.println("MyThread:
run(门;
}
publicvoidstart(){
System.out.println「MyThread:
start()M);}}
classMyRunnableimplementsRunnable{publicvoidrun(){
System.out.println(MMyRunnable:
run(门;
}
publicvoidstart(){
System.out.println「MyRunnable:
start()M);
}}
publicclassMylest{
publicstaticvoidmain(Stringargs[]){
MyThreadmyThread=newMyThread();
MyRunnablemyRunnable=newMyRunnable();Threadthread=newThread(myRunnable);myThread.start();
thread.start();
}}
此程序的运行结果是
MyThread:
start()
MyRunnable:
run()
5•阅读程序,写岀程序的运行结果
importjava.util.Scanner;
publicclassTestThrowException{
publicstaticvoidmain(String[]args){
TestThrowExceptiont=newTestThrowException();
System.out.print("iW输入您的年龄:
");
System.out.println(M您的年龄:
M+t.inputAge());
}publicintinputAge(){
intresult=-1;
Seannersean=newSeanner(System.in);
while(true){
try{
result=sean.nextlnt();
if(result<0||result>130)(
Exceptionme=newException「年龄超出合理围!
J;
throwme;
}
break;
}catch(Exceptione1){
System.out.print(e1continue;
}
}
returnresult;
}}
输入145时
程序运行结果
6・阅读以下程序:
importjava.io.*;
publicclassReadLineTest{
publicstaticvoidmain(Stri]args)throwslOException{
BufferedReaderb=newBufferedReader(newlnputStreamReader(System.in));
Strings;
System.out.flush();
s=b.readLine();
System,out.println(s);
}
}
运行以上程序,若从键盘输入:
Hellov回车〉
阅读以下程序,输出结果为Helloo
7•阅读以下程序
importjava.io.*;
publicclassATest{
publicstaticvoidmain(Stringargs[]){
SubClasssb=newSubClassf);
System.out.println(sb.funOfMod());}
}
classSuperClass{
inta=-10,b=-3;
}
classSubClassextendsSuperClass{
intfunOfMod(){returna%b;}
}
程序运行结果为-1
8.阅读以下程序:
classA
{publicstaticvoidmain(String[]args)
{Strings,s1=••••;
charc;
s=args[0];
for(inti=0;i{c=s.charAt(i);
if(c>='a'&&c<='z'){
s1=s1+Character.tollpperCase(c);
}else{s1=s1+Character.toLowerCase(c);}
}
System.out.println(s1);}
}
若在dos命令行输入:
javaAhELLO,
则输出为hELLOo
9.阅读以下程序:
(本题3分)
publicclassC{publicstaticvoidmain(Stringargs[]){inti,j;
inta[]={2,1,4,8,9,5,3};
for(i=0;iintk=i;
for(j=i;jif(a[j]va[k])k=j;
intternp=a[i];
a[i]=a[k];
a[k]=temp;}
for(i=0;iSystem.out.print(a[i]+"");
System.out.println();}
}
程序运行结果为123456789
10•阅读程序,写出程序的运行结果
publicclassPerson{
Stringname;
intage;
publicStringgetlnfo(){
return"Name:
*1+name+At"+nage:
M+age;
}}publicclassStudentextendsPerson{
Stringschool;
publicStringgetlnfo(){
returnMName:
M+name+AtAge:
'*+age+M\tSchool:
M+school;}}
publicclassTest{
publicstaticvoidmain(String[]args){
Personp=newPerson();
p.name=HbrrT;
p.age=
System.out.println(p.getlnfo());
Students=newStudent();s.name="Billy";
s.age=34;
s.school=THU”;
System.out.println(s.getlnfo());
}}
程序运
"•阅读程序,写出程序的运行结果
classAnimal{
protectedinti=1;
}
classPersonextendsAnimal{
protectedinti=2;〃用于测试同名属性,无现实含义
privateStringname=
privateintage=9;
publicStringgetlnfo(){
return"Name:
*'+name+,r\tAge:
M+age;
}
publicvoidtestl(){
System.out.println(super.i);
System.out.println(i);
}
}
classStudentextendsPerson{
privateinti=3;
privateStringschool="THU";
publicStringgetlnfo(){
returnsuper.getlnfo()+AtSchool:
'*+school;
}publicvoidtestl(){
System.out.println(super.i);
System.out.println(i);
}
}
publicclassTest{
publicstaticvoidmain(Stringargs[]){
Personp=newPerson();
System.out.println(p.getlnfo());
P-testl();
Students=newStudent();
System.out.println(s.getlnfo());s.testl();
}
}
12•阅读程序,写岀程序的运行结果
interfaceRunner{
publicvoidrun();
}interfaceSwimmer{
publicvoidswim();
}
abstractclassAnimal{
publicabstractvoideat();}
classPersonextendsAnimalimplementsRunner,Swimmer{publicvoidrun(){
System.out.println(MIamrunning,tothesea!
J;
}
publicvoidswim(){
System.out.println「lamswimming,totheisland!
M);
}
publicvoideat(){
System.out.println("Iameating!
");
}
}
publicclassTest{
publicstaticvoidmain(Stringargs[]){
Testt=newTest();
Personp=newPerson();
t.m1(p);
t.m2(p);
t.m3(p);
}publicvoidm1(Runnerf){f.run();
}publicvoidm2(Swimmers){s.swim();
}publicvoidm3(Animala){a.eat();
}}
程序运
13•阅读程序,写出程序的运行结果
publicclassPersonimplementsCioneable{
privateStringname;
privateintage;
publicPerson(Stringname,intage){
this.name=name;
this.age=age;
}publicvoidsetAge(intage){
this.age=age;
}publicvoidsetName(Stringname){
this.name=name;
}
publicvoiddisplay(){
System.out.println「Name:
**+name+M\tAge:
M+age);}publicObjectcione(){
Personp=null;
try{
p=(Person)super.clone();
}catch(CloneNotSupportedExceptione){
e.printStackTrace();
}
returnp;
}
}publicclassBookimplementsCioneable{
StringbookName;
doubleprice;
Personauthor;
publicBook(Stringbn,doubleprice,Personauthor){bookName=bn;
this.price=price;
this.author=author;
}
publicObjectcione(){
Bookb=null;
try{
b=(Book)super.clone();
}catch(CloneNotSupportedExceptione){e.printStackTrace();
}
b.author=(Person)author.clone();returnb;
}
publicvoiddisplay(){
System.out.print(bookName+,r\tM+price+M\tM);author.display();
}}
publicclass7estDeepCopy{
publicstaticvoidmain(Stringargs[]){
Bookb1=newBook(MJava编程",30.50,newPerson(M三”,34));
Bookb2=(Book)b1.clone();b2.price=44.0;b2.author.setAge(45);
b2.author.setName(M四J;
b2.bookName='Java开发:
b1.display!
);
b2.display!
);
}}
运行结
14•阅读程序,写岀程序的运行结果
importjava.awt.event.WindowEvent;
importjava.awt.event.WindowAdapter;
publicclassMyAdapterextendsWindowAdapter{publicvoidwindowClosing(WindowEvente){System.exit
(1);
}}importjava.awt.Frame;
publicclass7estAdapter{
publicstaticvoidmain(Stringargs[]){
Framef=newFrame(MJavaGuiJ;fMyAdapterm=newMyAdapter();
f.addWindowListener(m);
f.setVisible(true);
}
}
程序运行的用户界面如上图,
程序运行效果为
15•阅读程序,写出程序的运行结果
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
publicclassMyMonitorimplementsActionListener{
publicvoidactionPerformed(ActionEvente){
System.out.println「Abuttonhasbeenpressed!
M);
}
}importjava.awt.Frame;
importjava.awt.Button;
importjava.awt.BorderLayout;
publicclassTestActionEvent{
publicstaticvoidmain(Stringargs[]){
Framef=newFramef^lest*');
Buttonb=newButton("PressMe!
");
MyMonitormm=newMyMonitor();
b.addActionListener(mm);
f.add(b,BorderLayout.CENTER);
f・pack();
f.setVisible(true);
}
}
程序运行的用户界面如下图:
当用户鼠标单击”PressMe!
”时程序运行结果:
16•阅读程序,写出程序的运行结果
importjava.io.FileOutputStream;
importjava.io.DataOutputStream;
importjava.io」0Exception;
publicclassDataOutputDemo{
publicDataOutputDemo(){
}
publicstaticvoidmain(Stringargs[])throw