《JAVA语言程序设计》期末考试试题题库2014(整理版)_第1页
《JAVA语言程序设计》期末考试试题题库2014(整理版)_第2页
《JAVA语言程序设计》期末考试试题题库2014(整理版)_第3页
《JAVA语言程序设计》期末考试试题题库2014(整理版)_第4页
《JAVA语言程序设计》期末考试试题题库2014(整理版)_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、单项选择题1、如下哪个是Java中的标识符()A、PublicB、super C、3number D、width2、如下哪个是Java中的标识符()A、field name B、super C、3number D、#number3、已知如下定义:String s = "story"下面哪个语句不是合法的()11、this 和 super ():A、都可以用在 main()方法中B、都是指一个内存地址C、意义相同D、不能用在main()方法中12、关于接口哪个正确?()A、接口和抽象类是同一回事B .一个类只能实现一个接口A、s += "books"B

2、、s = s + 100;C.接口间不能有继承关系C、int len = s.length;D、String t = s + “ abc ”D .实现一个接口必须实现接口的所有方法4、如下哪个是Java中有效的关键字()A、nameB、hello C、false D、good13、关于静态成员下面说法错误的是(A、静态成员是最终成员变量5、定义一个类,必须使用的关键字是B、静态成员属于类成员A、PublicB、class C、in terfaceD、staticC、 定义静态成员使用的关键字是staticD、静态成员必须创建对象时才能使用6、定义一个接口必须使用的关键字是(A、publicB、

3、class C、in terfaceD、static14、以下关于继承的叙述正确的是(A、在Java中一个类只能实现一个接口7、下列哪一个import命令可以使我们在程序中创建输 入/输出流对象()B、在Java中类只允许单一继承A、import java.sql.*;B、import java.util.*;C、在Java中一个类不能同时继承一个类和实现一个 接口C、import java.io.*;D、import .*;8关于对象成员占用内存的说法哪个正确?(A 同一个类的对象使用不同的内存段,但静态成员 共享相同的内存空间D、在Java中接口只允许单一继承15、要使某个类能被同一个包中

4、的其他类访问,但不能 被这个包以外的类访问,则()让该类不使用任何关键字A.B、同一个类的对象共用同一段内存C.对象的方法不占用内存B.C.使用private 关键字使用final关键字使用Protected 关键字D 以上都不对9、下面关于子类和父类构造函数描述正确的是(A、子类必须通过super关键字调用父类无参的构造函 数B、子类必须通过this关键字调用父类无参的构造函数C、调用父类的构造函数语句必须出现在子类构造函 数的第一行D、如果子类调用了自己有参的构造函数,就不能调 用父类的构造函数D16、下列哪个代码替换程序中的【代码】不会导致编译 错误? BCD(A) protected

5、in t getNumber()return 100(B) int getNumber()return 100; (C) public in t getNumber()return 100(D) intgetNumber()return ' a' +' bin terface c1ass AAAabstract int getNumber();class BBB imp leme nts AAA 【代码】10、抽象方法( )A、可以有方法体B、是没有方法体的方法C、可以出现在非抽象类中17、void 的含义:()A.没有意义B .方法体为空D、抽象类中的方法都是抽象方法

6、C.方法没有返回值D.定义方法时必须使用18、覆盖与重载的关系是( )而重载方法必须同名A、覆盖方法可以不同名,B .覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中19、20、11【代码21【代码31【代码4121、22、【代码I 1【代码21【代码31【代码41【代码51abstract 方法。abstract方法,但该方法不;()return 10; ()return(byte)IO ; ()return 'A ' C .final修饰的方法可以被覆盖,但不能被重载D .覆盖与重载是同一回事下列类声明错误的有?(A) final abstract class A(

7、B) fi nal class A(C) p rotected class A(D) p ublic class A下列E类的类体中哪个【代码1是错误的 class Efloat x; / 【代码 long y=(i nt)x; / p ublic void f(int n) double m; / double t=n; /下列A类的类体中哪些【代码1是错误的 class Aint x=100; / 【代码 11 static long y;/ 【代码 21 y=200; / 【代码 31 p ublic void f()y=300;/ 【代码 41p ublic static void g

8、()x=-23; / 【代码 51下列A类的类体中哪些【代码1是错误的class Tom p rivate int x=120;p rotected int y=20;int z=11;P rivate void f() x=200; System.out .prin tl n( x);void g() x=200; System.out .prin tl n( x);p ublic class Ap ublic static void main( Stri ng args) Tom tom=new Tom(); tom.x=22; / tom.y=33; / tom.z=55; / tom.

9、f(); / tom.g(); /23、下列叙述哪些是正确的(A) fi nal类不可以有子类。(B) abstract类中只可以有(C) abstract 类中可以有非 可以用final修饰。(D) 不可以同时用final和abstract修饰一个方法。24、下列哪个代码替换程序中的【代码1会导致编译错 误?(A) protected in t getNumber()return 100(B) int getNumber()return 100; (C) public in t getNumber()return 100(D) public in t getNumber()return &#

10、39;a'+'b'abstract class AAAabstract p rotected int getNumber ();class BBB exte nds AAA【代码1 25、下列哪个代码替换程序中的【代码1不会导致编译 错误?(A) Protected long getNumber()return 20L(B) p ublic byte getN urn ber(C) p ublic int getNumber(D) p ublic char getNumberabstract class AAAabstract p rotected int getNum

11、ber()class BBB exte nds AAA 【代码】二、填空题1、 如果将类MyClass声明为public,它的文件名称必须是(MyClass.java)才能正常编译。2、 Java程序中的单行注释符是(/),多行注释符是(/* */ )03、Java中布尔类型的常量有两种,它们是(true)和(false)。4、 Java中用于定义小数的关键字有两个:(float)和(double),后者精度高于前者。5、 Java中用于两个数相等比较的运算符是:(=),用于不相等比较的运算符是()o6在Java中定义一个字符串类型的变量 str的语句是:(String str:),定义一个具

12、有10个元素的整型数组a的语句是:(int arr = new int10;) o7、 导入 mypackage包中的所类的命令是( import mvpackage.*; ) o8、 当声明一个数组int arr = new int5;时,这代表这个数组所保存的变量类型是(int),数组名是 (arr),数组的大小为(5),数组元素下标的使用范围是(0到4)。9、假设x=13, y=4,则表达式x%y != 0的值是(true),其数据类型是(boolean)o10、异常处理是由(try )、( catch和fin ally块三个关键所组成的程序块。)。11、导入 mypackage包中的类

13、 myclass 的命令是(import mypackage.myclass;12、使用命令行敲入javac命令,其含义是(编译java文件,得到字节码文件)。13、定义类的保留字是(class),定义接口的保留字是(in terface )o14、 构造方法是一种特殊的成员方法,构造方法名与(类名)相同。15、 Java语言只允许单继承,指每个类只能有一个(父类)。16、 Java源程序的扩展名是(.java),经过编译后的程序的扩展名是(.class。17、如果将类MyClass声明为public,它的文件名称必须是(Myclass.java)才能正常编译。三、程序阅读题1、以下程序的输出

14、结果为Peter isp ublicclass Person String name ;int age ;17 years old!。class+ c.CourseTest p ublicstatic voidmain( Stri ngargs)publicthisthispublicPerson( Stri ng n ame,.name = name;.age = age;static voidmain( Stri ngPerson c = new Person( System. out .println(c.age +" years old!");intage) arg

15、s)"P eter"name17);is "2、以下程序的输出结果为课程号:101课程名:ASP学分:3。publicp rivatep rivatep rivateclass Course Stri ngStri ngintcNumber ; cName;cUnit ;p ublic n ame,intCourse(Stri ng nu mber, String un it) cNumber = nu mber;cName = n ame;cUn it = un it;p ublicvoidprin tCourse lnfo() System. out .pri

16、ntln( ” 课程号:"+ cNumber +"课程名:"+ cName +"学分:"cUnit );Course c;c = new Course(c.prin tCourse In fo();"101" , "ASP" , 3);以下程序的输出结果为P ublicclass Tom 汤姆猫体重:20.0斤 。privatefloatweightJprivatestaticStri ngn ame;publicvoid setWeight(floatweight) this.weight = weig

17、ht;privatevoid out() System. out weight +"斤");p ublic static.println(n ame + "体重:"+voidmain( Stri ngargs)"汤姆猫”; new Tom();cat.setWeight(20);cat.out();Tom. name =Tom cat =4、以下程序的输出结果_姓名:Tom年龄:15家庭住址:金水区电话:66123456p ublicclass Father Stringname, address , tel ;学校:九中_。int age ;

18、publicthisthisFather(Stri ng n ame,.name = name;intage) .age = age;System.p ublic staticout .print( aj +voidmain( Stri ng"");args)voidout() System. out .pnnt(System. out .pnnt("姓名:"+"年龄:"+n ame);age );voidaddressoutOther() System. out .pnnt();System. out .pnnt("家庭住

19、址:"+"电话:"+ tel );class SonStri ngpublicexte ndsFather school ;Son( Stri ng n ame,int age) MyClass my = my.out();new MyClass();super (name, age); void out() super .out(); super .outOther(); System. out school );p ublic static.println("学校:” +voidmain( Stri ngargs)new Son( "Tom

20、" , 15); son. address ="金水区"son. school ="九中”;son. tel ="66123456"Son son =son.o ut();5、下列程序的运行结果是 12345。publicintvoidclass MyClass a = 1,2, 3, 4, 5 ;out() for (int j = 0; j <a. length; j+)6 .运行下面的程序,输出并记录结果。class Fatherprivate int f1,f2;p ublic Father(i nt f1,i nt f

21、2) this.f1=f1;this.f2=f2;p ublic void prin t() System.out. println( "f1="+f1+" f2="+f2);class Child exte nds Father p rivate int c1,c2;p ublic Child(i nt f1,i nt f2,i nt c1,i nt c2) sup er(f1,f2);this.c仁c1;this.c2=c2;p ublic void prin t() super.prin t();System.out .prin tl n( &qu

22、ot;c仁"+c1+" c2="+c2); /增加的测试代码public class XT003302 p ublic static void main( Stri ng args) Child c = new Child(1,2,3,4);c.prin t();输出:f1=1 f2=2c1=3 c2=47.请说出A类中System.out.printin的输出结果。class Bint x=100,y=200;p ublic void setX(i nt x)x=x;p ublic void setY(i nt y)this.y=y;int in tValue(

23、)return n;p ublic in t getXYSum()retur n x+y;p ublic class A7779.请说出A类中System.out.println的输出结果。p ublic static void main( Stri ng args)p ublic class AB b=new B();p ublic static void main( Stri ng args)b.setX(-100);In teger in teger= new In teger(20);b.setY(-200);add(i nteger);System.out. prin tl n( &

24、quot;sum="+b.getXYSuSystem.out .printin (i nteger.i ntValuem();();p ublic static void add(I nteger m)int t=777;sum=-100m=new In teger(t);208.请说出A类中System.out.println的输出结果。p ublic class Ap ublic static void main( Stri ng args)B b=new B(20);10.请说出A类中System.out.printin的输出结果。add(b);class BSystem.ou

25、t .pnntln( b.i ntValue();int n;static int sum=0;p ublic static void add(B m)void setN(i nt n)int t=777;this. n=n;m.setI ntValue(t);in t getSum()for(i nt i=1;i<=n ;i+)class B sum=sum+i;int n;return sum;B(i nt n)this. n=n;p ublic class Ap ublic void set In tValue(i nt n)p ublic static void main( St

26、ri ng args)this. n=n;B b1= new B(),b2=new B();b1.setN(3);B b=new B();b2.setN(5);System.out.printin(b.f(3, 5);int s1=b1.getSum();System.out.printin(b.f(3.0, 5.0);int s2=b2.getSum();System.out. prin tl n(s1+s2); 15.08.013.请说出E类中System.out.printin的输出结果。21c1ass Adouble f(double x, double y)retur n x+y;1

27、1.请说出E类中System.out.printin的输出结果。class A static int g(i nt n)double f(double x, float y)return n*n;retur n x+y;double f(float x, float y)class B exte nds Areturn x*y;double f(double x, double y)/ 重写double m=super.f(x, y);return m+x*y ;p ublic class Ep ublic static void main( Stri ng args)static int g

28、(i nt n)A a=new A();int m=A.g( n);System.out. prin tl n( "*"+a.f(10,return m+n ;10);System.out. printin ("#"+a.f(10.0,10.0F);p ublic class Ep ublic static void main( Stri ng args)B b=new B();*100.0System.out.println(b.f(10.0, 8.0);#20.0System.out .printin (b.g(3);12 .请说出E类中System

29、.out.printin的输出结果。class A98.0 12double f(double x,double y)retur n x+y;14.请说出E类中System.out.printf的输出结果。in terface Compu terint computer(int x, int y);class B exte nds A/重载double f(int x, int y)abstract class AAreturn x*y ;int computer(int x, int y)p ublic class Ereturn x-y;p ublic static void main(

30、Stri ng args)class B exte nds AA imp leme nts Compu terp ublic int compu ter(i nt x retur n x+y;p ublic class Ep ublic static void main( Stri ng args) Compu ter com=new B();AA a=new B();System.out. prin tf("%dn",puter(12 , 10);System.out. prin tf("%dn",puter(15 , 5);,int y)(2) ja

31、va FirstJavaProgram.class2 什么叫面向对象编程?什么是对象?什么是类?面 向 对 象编程(Object-Orie ntedProgrammi ng, OPP)是一套概念和想法,它与面向过程的 编程方法相对应,是一种利用计算机程序来描述实际问 题的思路,也是一种直观,效率更高的解决问题的方法。 面向对象的程序设计方法按照现实世界的特点来管理 复杂的事物,把它们抽象为对象,具有自己的状态和行 为,通过对消息的反应来完成一定的任务。对象就是变量和相关的方法的集合,其中变量表明对象的状态,方法表明对象所具有的行为,一个对象 的变量构成这个对象的核心,包围在它外面的方法使这 个

32、对象和其它对象分离开来。类是对一组具有相同特征的对象的抽象描述,所有这些22 20对象都是这个类的实例。在程序设计语言中,类是一种数据类型,而对象是该类型的变量,变量名即是某个具 体对象的标识名。3 类的修饰符包括哪些?各起什么作用?包括访问控制符(表示被访问权限)、抽象类说明符abstract (说明是否是抽象类)、最终类说明符final (表示是否是最终类)。4 .什么是抽象类?什么是抽象方法?抽象方法与普通 方法有什么不同?以abstract作为关键字,如果有的话,应该放在 访问控制符后面,表示这个类是个抽象类。抽象类中至 少包含一个抽象方法,抽象方法是只声明了方法名和参 数而没有定义方

33、法体的特殊方法。抽象类不能直接产生 实例化一个对象,它只能被继承。四、简答题1 .如果在 D:MyJavaFile 目录下有一个文件 FirstJavaProgram.Java,写出在 JDK环境下,此程序 的运行过程。答:运行过程:先切换到D:MyJavaFile目录,然后依次执行:(1) javac FirstJavaProgram.Java5.父类与子类是怎样建立关联的?如果父类和子类中 都有一个同名的方法,在程序中调用这个方法,应该用 什么关键字来区分?父类与子类是通过继承和派生建立关联的,父类可 以派生出子类,可以被子类继续,子类可以继续父类的 属性和方法。如果父类和子类中都有一个同

34、名的方法,通过关键字super和this区分,super表示调用父类的方法,而this表示调用的是子类的方法。6 .普通数据类型参数和引用数据类型在方法中的传递 有什么不同?普通数据类型参数的传递采用值传递,在方法中对 变量的改变不会影响到主程序的同名变量,引用数据类型在方法中的传递采用地址传递,在方法中对变量的改 变使主程序的同名变量发生改变。7.什么是构造方法?构造方法有什么特点?构造方法是一种特殊的方法,当用new命令每生成一个实例时,构造方法都会自动执行一次,而无须用户 手工引用。构造方法的特征:具有与类相同的名称,不含返回 类型,不能在方法中用 return语句返回一个值。在类实例化

35、时,它会由系统自动调用8 .接口与类有什么不同?与抽象方法存在什么样的关 系?接口( in terface )是一种特殊的类,接口是方法定 义(即抽象方法)和常量值的集合,只包含常量和方法 的定义,没有变量和方法的实现。使用接口的目的是解 决Java语言中不支持多重继承的缺陷。接口中包含若干抽象方法,没有具体的方法。9、什么是继承?答:通过必要的说明能够实现某个类无需重新定义就拥有另一个类的某些属性和方法,并把这种关系称为继承,先定义的类称为父类,后定义的类称为子类,并且(1) 创建一个 Rectangle 类,添加 width 和 height 两 个成员变量(2) 在Rectangle中添

36、加两种方法分别计算矩形的 周长和面积(3) 编程利用 Rectangle输出一个矩形的周长和面 积 解答:class Recta ngle width , height ;Recta ngle(float width,public float p ublic height) thisthis.width = width;.height = height;publicreturnfloat getLe ngth()(this . width + thisfloat.height ) *2;p ublic float getArea()return this . width * this.heig

37、ht ;P ublic staticvoid main( Stri ngargs)允许多层的继承关系。Recta nglerect = new Rectangle(10.println("周长是:.println("面积是:10、请简述重载和重写的区别?答:方法的重写Overriding 和重载Overloading是Java 多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称 和参数,我们说该方法被重写(Overridi ng)。子类的对象使用这个方法

38、时,将调用子类中的定义,对它而言, 父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有 不同的参数个数或有不同的参数类型,则称为方法的重 载(Overloading)。 Overloaded的方法是可以改变返回值的类型。五、程序设计题1、按以下要求编写程序20);System. out rect.getLe ngth();System. out rect.getArea(); 2 .定义一个日期类,包括年、月、日三个属性和一个 方法,用于判断是不是闰年。然后实例化两个对象,今 年和明年,并分别给它们赋值。class DateClass int year,m on th,

39、day;boolea n isLea pY ear()if(year%4=0)|(year%100=0)&&(year%400!=0) return true;elsereturn false;p ublic class XT p ublic static void main( Stri ng args) DateClass thisYear, nextYear;thisYear = new DateClass(); thisYear.year=2005; thisYear.m on th=4; thisYear.day=5;编写一个程序实现抽象类。in terface Sp

40、eed / 定义接口public int Speed(int x,int y);/ 定义抽象抽象方法 class Bus imp leme nts Sp eed 继承接口public int Speed(int x,int y) /实现抽象方retur n x+y;n extYear = new DateClass(); nextYear.year=2006;n extYear.m on th=10;n extYear.day=26;您设置的字符串是:"+s);您设置的字符串有错,正确p ublic class XT004201p ublic static void main( St

41、ri ng args) int a=10,b=20;Speed tool=new Bus();/ 实例化System.out.printin(” 汽车的速度是: "+tool.S peed(a,b);/ 调用方法6、写出利用接口实现多重继承的示意性程序。in terface in terfacelvoid method1();/ 定义抽象方法 methodi7、编写一个程序,实现包的建立和包的引入。System.out. printin (thisYear.isLea pY ear();System.out. prin tl n(n extYear.isLea pY ear(); 3

42、.编写一个程序实现方法的重载。class PassCheck String s,ok;P assCheck(Stri ng s) System.out. prin tl n("PassCheck(Stri ng s,Stri ng ok)if (!(s.equals(ok)System.out. prin tl n("的应该是:"+ok); public class XT003202 p ublic static void main( Stri ng args)new P assCheck("Robit");new P assCheck(&qu

43、ot;Mary","Susa n");4.编写一个含有抽象方法和一个抽象类的程序。abstract class ObjectAccess /扌由象类int num=0;Object access=new Object20; abstract void inpu tToArrayQbject o);/抽象方法1abstract Object outputFromArray(); /抽象方法2in terface in terface2 void method2();/ 定义抽象方法 method2in terface in terface3 exte nds in

44、terface1,i nterface2void method3();/ 定义抽象方法 method3建立包的程序:程序名 Farmer.javapackage mypackage;p ublic class Farmer p ublic String n ame;p ublic String sex;p ublic int age;p ublic Farmer(Stri ng xm,Stri ng xb,i nt n l)n ame=xm; sex=xb;bird.r un();Fish fish =new Fish();fish.r un();age=nl;/调用包的程序:XT004203

45、.javaimport myp ackage.Farmer; p ublic class XT004203 p ublic static void main( Stri ng args)9 .编写一个 Java Application程序,输入姓名、性别、Farmer manager =new Farmer(” 李国军","男年龄后系统将用户输入的信息存入一个Vector类对象,",32);然后将这些信息显示出来。System.out.println(” 姓名:"+);import java.util.*;System.out.printin(” 性另U: "+manager.sex);import java.io.*;System.out.println(” 年龄:"+manager.age);class People String n ame;8、按以下要求编写程序String sex; int age;(1)编与Animal接口,接口中声明 run()方法(2)定义Bird类和Fish类实现 Animal接口p ubl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论