inttemp=a[i];
a[i]=a[k];
a[k]=temp;
}
for(i=0;i<;i++)
"");
);
}
}
4.阅读以下程序,写出输出结果。
classAnimal{
Animal(){
("Animal");}
}
public
classDogextendsAnimal{
Dog(){
("Dog");}
publicstaticvoidmain(String[]args){
Dogsnoppy=newDog();}
}
AnimalDog
填空题
1、如果将类MyClass声明为public,它的文件名称必须是()才能正常编译。
2、Java程序中的单行注释符是(;)。
8、当声明一个数组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)
"三角形");
else
"不是三角形");
12、下面程序段的执行结果是(65432)
inta[]={2,3,4,5,6};
for(inti=-1;i>=0;i--)
+"");
三、程序阅读题
1、以下程序的输出结果为_Peteris17yearsold!
__。
PublicclassPerson{
Stringname;
intage;
publicPerson(Stringname,intage){
=name;
=age;
}
Publicstaticvoidmain(String[]args){
Personc=newPerson("Peter",17);
+"is"++"yearsold!
");
}
}
2、以下程序的输出结果为_课程号:
101课程名:
ASP学分:
3__。
PublicclassCourse{
privateStringcNumber;
privateStringcName;
privateintcUnit;
publicCourse(Stringnumber,Stringname,intunit){
cNumber=number;
cName=name;
cUnit=unit;
}
PublicvoidprintCourseInfo(){
"课程号:
"+cNumber+"课程名:
"+cName+"学分:
"+cUnit);
}
}
classCourseTest{
publicstaticvoidmain(String[]args){
Coursec;
c=newCourse("101","ASP",3);
();
}
}
5、下列程序的运行结果是__12345____。
publicclassMyClass{
inta[]={1,2,3,4,5};
voidout(){
for(intj=0;j<;j++)
+"");
}
publicstaticvoidmain(String[]args){
MyClassmy=newMyClass();
();
}
}
四、简答题
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)。
子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。
如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。
Overloaded的方法是可以改变返回值的类型。
1.创建类的对象时,使用运算符______new_____给对象分配内存空间。
2.定义类的构造方法不能有返回值类型,其名称与___类__名相同。
3.Java语言中关键字__double___表示双精度类型。
4.若有定义:
floatb={,,};,则()的值是___3____。
5.若有如下类定义,则类B是类A的__子类____。
classBextendsA{
…
}
6.接口中的成员只有静态常量和__抽象方法____。
7.在子类中使用关键字__super_____做前缀可调用被子类覆盖的父类中的方法。
8.关键字__import____用于导入包中的类到程序中,供程序中使用。
9.Java语言中,通常把可能发生异常的方法调用语句放到try块中,并用紧跟其后的__catch___块来捕获和处理异常。
阅读程序,回答问题
1.
1:
publicclassOutput1{
2:
publicstaticvoidmain(Stringarge[]){
3:
inti=0;
4:
for(charch=97;ch<113;ch++,i++){
5:
if(i%8==0)
6:
"");
7:
"\t"+ch);
8:
}
9:
}
10:
}
(1)程序第5、6行的if语句的功能是什么
(2)程序输出的结果有几行
(2)
(1)每打印8个字符,则换行。
(2)输出的结果有2行
2.
1:
import
3:
publicclassSortArray{
4:
publicstaticvoidmain(Stringargs[]){
5:
String[]str={"size","abs","length","class"};
6:
(str);
7:
for(inti=0;i<;i++)
8:
"");
9:
}
10:
}
(1)写出程序运行后的结果。
(2)方法调用str[0].length()的返回结果是多少?
(1)absclasslengthsize
(2)4
1.定义类A和类B如下.
classA
{
inta=1;
doubled=;
voidshow()
{
"ClassA:
a="+a+"\td="+d);
}
}
classBextendsA
{
floata=;
Stringd="Javaprogram.";
voidshow()
{
();
"ClassB:
a="+a+"\td="+d);
}
}
(1)若在应用程序的main方法中有以下语句:
Aa=newA();
();
则输出的结果如何?
(2)若在应用程序的main方法中定义类B的对象b:
Ab=newB();
();
则输出的结果如何?
答:
输出结果为:
1)ClassA:
a=1d=
2)ClassA:
a=1d=
ClassB:
a=d=Javaprogram。
import.*;
publicclassW{
staticString[]s={"甲","乙","丙","丁"};
publicstaticvoidmain(String[]args){
Stackstk=newStack();
for(inti=0;i<;i++){
(s[i]+"");
}
intk=0;
while(k<3){
k++;
}
}
}
堆栈的操作规则如何?
写出程序运行后的结果。