System.out.print(a[i]+"");
System.out.println();
}
}
3.写出以下程序的功能。
importjava.io.*;
publicclassTestFile
{
publicstaticvoidmain(Stringargs[])throwsException
{
BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));
BufferedWriterbw=newBufferedWriter(newFileWriter(
Strings;
while(true)
{
System.out.print("请输入一个字符串:
");
System.out.flush();
s=br.readLine();
if(s.length()==0)break;
bw.write(s);
bw.newLine();
}
bw.close();
}
}
功能:
从键盘逐一输入字符串,逐一输出至input.txt文件中,
4.阅读以下程序,写出输出结果。
classAnimal{
input.txt"));
直至输入空行。
Animal(){
System.out.print("Animal");}
}
publicclassDogextendsAnimal{
Dog(){
System.out.print("Dog");}
publicstaticvoidmain(String[]args){
Dogsnoppy=newDog();}
}
输出结果:
AnimalDog
、单项选择题
8、如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是()
Ap.add(b);B、p.add(b,"North");
Cp.add(b,"South");D、b.add(p,"North");
9、声明并创建一个按钮对象b,应该使用的语句是(
AButtonb=newButton();B、buttonb=newbutton();
CButtonb=newb();D、b.setLabel("确定”);
10、Frame对象默认的布局管理器是()
AFlowLayoutBBorderLayout
CCardLayoutDnull
11、下列哪一个import命令可以使我们在程序中创建输入/输出流对象()
Aimportjava.sql.*;B、importjava.util.*;
Cimportjava.io.*;D、import.*;
12、下面哪一个import命令可以为我们提供编写网络应用程序的类()
13、如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象()
二、填空题
1、如果将类MyClass声明为public,它的文件名称必须是丄MyClass.java)才能正常编译。
2、Java程序中的单行注释符是(II),多行注释符是(/**/)。
3、Java中布尔类型的常量有两种,它们是(true)和(false)。
4、Java中用于定义小数的关键字有两个:
(float)和(double),后者精度高于前者。
5、Java中用于两个数相等比较的运算符是:
(==),用于不相等比较的运算符是(<>)。
6、在Java中定义一个字符串类型的变量str的语句是:
(Stringstr;)_,定义一个具有
10个元素的整型数组a的语句是:
丄int[]arr=newint[10];)_。
7、导入mypackage包中的所类的命令是(importmypackage.*;」。
&当声明一个数组intarr[]=newint[5];时,这代表这个数组所保存的变量类型是
(int),数组名是(arr),数组的大小为(5),数组元素下标的使用范围是(0到4)。
9、假设x=13,y=4,则表达式x%y!
=0的值是(true),其数据类型是(boolean)。
10、异常处理是由(try)、(catch。
和finally块三个关键所组成的程序块。
11、以下程序段的输出结果是(三角形)
intx=5,y=6,z=4;
if(x+y>z&&x+z>y&&z+y>x)
System,out.println(”三角形”);else
System.out.println(”不是三角形”);
12、下面程序段的执行结果是(_65432)
inta[]={2,3,4,5,6};
for(inti=a.length-1;i>=0;i--)
System.out.print(a[i]+"");
三、程序阅读题
1、以下程序的输出结果为_Peteris17yearsold!
publicclassPerson{
Stringname
intage;
publicPerson(Stringname,intage){
this.name=name;
this.age=age;
}
publicstaticvoidmain(String[]args){
Personc=newPerson("Peter",17);
System.out.println(c.name+"is"+c.age+"yearsold!
");
}
}
2、以下程序的输出结果为—课程号:
101课程名:
ASP学分:
3
publicclassCourse{
private
StringcNumber;
private
StringcName
private
intcUnit;
public
Course(Stringnumber,Stringname,
intunit){
cNumber=number;cName=name;cUnit=unit;
}
publicvoidprintCourselnfo(){
System.out.println(”课程号:
"+cNumber+"课程名:
"+cName+"学分:
"+
cUnit);
}
classCourseTest{
publicstaticvoidmain(String[]args){
Coursec;
c=newCourse("101","ASP",3);c.printCourseInfo();
}
3、以下程序的输出结果为—汤姆猫体重:
20.0斤
publicclassTom{
privatefloatweight;
privatestaticStringname
publicvoidsetWeight(floatweight){this.weight=weight;
}
privatevoidout(){
System.out.println(name+"体重:
”+weight+"斤");
}
publicstaticvoidmain(String[]args){
Tom.name="汤姆猫"
Tomcat=newTom();
cat.setWeight(20);cat.out();
}
4、以下程序的输出结果—姓名:
Tom年龄:
15家庭住址:
金水区电话:
66123456学校:
九中
publicclassFather{
intage){
Stringnameaddress,telintage;
publicFather(Stringname,this.name=name;this.age=age;
}
voidout(){
voidoutOther(){
System.out.print(
System.out.print(}
}
"家庭住址:
"+address);
"电话:
"+tel);
classSonextendsFather{Stringschool;
publicSon(Stringname,intage){super(name,age);
}
voidout(){
super.out();
super.outOther();
System.out.println("学校:
"+school);}
publicstaticvoidmain(Stringargs[]){Sonson=newSon("Tom",15);son.address="金水区";son.school="九中";son.tel="66123456";son.out();
}
5、下列程序的运行结果是__12345publicclassMyClass{
inta[]={1,2,3,4,5};
voidout(){
for(intj=0;jpublicstaticvoidmain(String[]args){MyClassmy=newMyClass();
my.out();
}
四、简答题
1、简述Java中异常处理的机制?
答:
首先Java的异常是面向对象的。
一个Java的Exception是一个描述异常情况的对象.当出现异常情况时,一个Exception对象就产生了,并放到异常的成员函数里。
Java的异常处理是通过5个关键词来实现的:
try,catch,throw,throws和finally。
1.异常处理:
在Java语言的错误处理结构由try,catch,finally三个块组成。
其中try块存放将可能发生异常的Java语言,并管理相关的异常指针;catch块紧跟在try块后面,用来激发被捕获的异常;finally块包含清除程序没有释放的资源,句柄等。
不管try块中的代码如何退出,都将执行finally块。
2.抛出异常:
Java语言可以不在方法中直接捕获,而用throw语句将异常抛给上层的调用者。
Throw语句就是来明确地抛出一个异常;首先你必需得到一个Throwable的实例句
柄,通过参数传到catch中,或者采用new操作符来创建一个。
2、什么是继承?
答:
通过必要的说明能够实现某个类无需重新定义就拥有另一个类的某些属性和方法,并把这种关系称为继承,先定义的类称为父类,后定义的类称为子类,并且允许多层的继承关系。
3、请简述重载和重写的区别?
答:
方法的重写Overriding和重载Overloading是Java多态性的不同表现。
重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。
如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写(Overriding)。
子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。
如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载