2022年《JAVA语言程序设计》期末考试试题题库 .pdf

上传人:C****o 文档编号:32545930 上传时间:2022-08-09 格式:PDF 页数:12 大小:149.48KB
返回 下载 相关 举报
2022年《JAVA语言程序设计》期末考试试题题库 .pdf_第1页
第1页 / 共12页
2022年《JAVA语言程序设计》期末考试试题题库 .pdf_第2页
第2页 / 共12页
点击查看更多>>
资源描述

《2022年《JAVA语言程序设计》期末考试试题题库 .pdf》由会员分享,可在线阅读,更多相关《2022年《JAVA语言程序设计》期末考试试题题库 .pdf(12页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、学习资料收集于网络,仅供参考学习资料一、单项选择题1、如下哪个是Java 中的标识符()A、public B、super C、3number D、width 2、如下哪个是Java中的标识符 ( ) A、 fieldname B、super C、3number D、#number 3、已知如下定义: String s = story; 下面哪个语句不是合法的 ( ) A、s += books; B、s = s + 100; C、int len = s.length; D、String t = s + “abc”; 4、如下哪个是Java中有效的关键字() A、name B、hello C、fa

2、lse D、good 5、定义一个类,必须使用的关键字是( ) A、public B、class C、interface D、static 6、定义一个接口必须使用的关键字是()A、public B、class C、interface D、static 7、下列哪一个import 命令可以使我们在程序中创建输入/输出流对象()A、import java.sql.*; B、import java.util.*; C、 import java.io.*; D、import .*; 8、关于对象成员占用内存的说法哪个正确?()A同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间B、同一个类

3、的对象共用同一段内存C对象的方法不占用内存D以上都不对9、下面关于子类和父类构造函数描述正确的是()A、 子类必须通过super 关键字调用父类无参的构造函数B、子类必须通过this 关键字调用父类无参的构造函数C、调用父类的构造函数语句必须出现在子类构造函数的第一行D、如果子类调用了自己有参的构造函数,就不能调用父类的构造函数10、抽象方法()A、可以有方法体B、是没有方法体的方法C、可以出现在非抽象类中D、抽象类中的方法都是抽象方法11、this 和 super() :A、都可以用在main()方法中 B、都是指一个内存地址C、意义相同D、不能用在main()方法中12、关于接口哪个正确?

4、()A、接口和抽象类是同一回事B一个类只能实现一个接口C接口间不能有继承关系D实现一个接口必须实现接口的所有方法13、关于静态成员下面说法错误的是()A、静态成员是最终成员变量B、静态成员属于类成员C、定义静态成员使用的关键字是static D、静态成员必须创建对象时才能使用14、以下关于继承的叙述正确的是() 。A、在 Java中一个类只能实现一个接口B、在 Java中类只允许单一继承C、在 Java中一个类不能同时继承一个类和实现一个接口D、在 Java中接口只允许单一继承15、要使某个类能被同一个包中的其他类访问,但不能被这个包以外的类访问,则()A让该类不使用任何关键字B使用 priv

5、ate关键字C使用 final关键字 D使用 protected关键字16、下列哪个代码替换程序中的【代码】不会导致编译错误 ? BCD(A)protected int getNumber()return 100; (B)int getNumber()return 100; (C)public int getNumber()return 100; (D)int getNumber()return a+b; interface c1ass AAA abstract int getNumber(); class BBB implements AAA 【代码】 名师资料总结 - - -精品资料欢迎下

6、载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 12 页 - - - - - - - - - 学习资料收集于网络,仅供参考学习资料17、void 的含义:()A没有意义B 方法体为空C方法没有返回值D. 定义方法时必须使用18、覆盖与重载的关系是()A、覆盖方法可以不同名,而重载方法必须同名B覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中Cfinal 修饰的方法可以被覆盖,但不能被重载D覆盖与重载是同一回事19、下列类声明错误的有? (A) final abstract class A(B)fina

7、l class A (C)protected class A (D)public class A 20、下列 E类的类体中哪个【代码】是错误的? class E float x; /【代码 1】long y=(int)x; /【代码 2】public void f(int n) double m; /【代码 3】double t=n; /【代码 4】 21、下列 A类的类体中哪些【代码】是错误的? class A int x=100; /【代码 1】static long y;/【代码 2】y=200; /【代码 3】public void f() y=300;/【代码 4】 public s

8、tatic void g() x=-23; /【代码 5】 22、下列 A类的类体中哪些【代码】是错误的? class Tom private int x=120; protected int y=20; int z=11; private void f() x=200; System.out.println(x); void g() x=200; System.out.println(x); public class A public static void main(String args) Tom tom=new Tom(); tom.x=22; /【代码 l 】tom.y=33; /【

9、代码 2】tom.z=55; /【代码 3】tom.f(); /【代码 4】tom.g(); /【代码 5】 23、下列叙述哪些是正确的? (A)final类不可以有子类。(B)abstract类中只可以有 abstract方法 。(C)abstract类中可以有非 abstract方法,但该方法不可以用 final修饰。(D) 不可以同时用 final和abstract修饰一个方法。24、下列哪个代码替换程序中的【代码】会导致编译错误? (A)protected int getNumber()return 100; (B) int getNumber()return 100; (C)publ

10、ic int getNumber()return 100; (D)public int getNumber()return a+b; abstract class AAA abstract protected int getNumber (); class BBB extends AAA 【代码】 25、下列哪个代码替换程序中的【代码】不会导致编译错误 ? (A) protected long getNumber()return 20L; (B)public byte getNurnber() return 10; (C)public int getNumber() return(byte)l

11、O; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 12 页 - - - - - - - - - 学习资料收集于网络,仅供参考学习资料(D)public char getNumber()return A ; abstract class AAA abstract protected int getNumber(); class BBB extends AAA 【代码】 二、填空题1、如果将类 MyClass 声明为 public,它的文件名称必须是(MyClass.ja

12、va)才能正常编译。2、Java程序中的单行注释符是(/ ) ,多行注释符是(/* */ ) 。3、Java中布尔类型的常量有两种,它们是(true)和( false) 。4、Java中用于定义小数的关键字有两个: (float) 和 (double) ,后者精度高于前者。5、Java中用于两个数相等比较的运算符是: (=) ,用于不相等比较的运算符是() 。6、在 Java中定义一个字符串类型的变量str 的语句是:(String str;) ,定义一个具有10 个元素的整型数组 a的语句是:(int arr = new int10;) 。7、导入 mypackage包中的所类的命令是(im

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

14、vac命令,其含义是(编译 java文件,得到字节码文件 ) 。13定义类的保留字是 ( class),定义接口的保留字是 ( interface )。14构造方法是一种特殊的成员方法,构造方法名与( 类名) 相同。15Java语言只允许单继承,指每个类只能有一个( 父类 )。16Java源程序的扩展名是 ( .java),经过编译后的程序的扩展名是(.class ) 。17、如果将类 MyClass 声明为 public,它的文件名称必须是(Myclass.java)才能正常编译。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - -

15、 名师精心整理 - - - - - - - 第 3 页,共 12 页 - - - - - - - - - 学习资料收集于网络,仅供参考学习资料三、程序阅读题1、以下程序的输出结果为_ Peter is 17 years old!_。publicclass Person String name ; intage ; public Person(String name, int age) this. name = name; this. age = age; publicstaticvoidmain(String args) Person c = new Person(Peter, 17); Sy

16、stem.out .println(c.name + is + c.age + years old!); 2、 以下程序的输出结果为_课程号 :101 课程名 :ASP 学分 :3_。publicclass Course private String cNumber ; private String cName; privateintcUnit; public Course(String number, String name, int unit) cNumber = number; cName = name; cUnit = unit; publicvoid printCourseInfo(

17、) System.out .println( 课程号 : + cNumber + 课程名 : + cName + 学分 : + cUnit); class CourseTest publicstaticvoidmain(String args) Course c; c = new Course(101, ASP , 3); c.printCourseInfo(); 3、以下程序的输出结果为_汤姆猫体重:20.0 斤_。publicclass Tom privatefloatweight; privatestatic String name; publicvoid setWeight(float

18、 weight) this. weight = weight; privatevoid out() System.out .println(name + 体重: + weight + 斤 ); publicstaticvoidmain(String args) Tom. name = 汤姆猫 ; Tom cat = new Tom(); cat.setWeight(20); cat.out(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 12 页 - - - - -

19、 - - - - 学习资料收集于网络,仅供参考学习资料4、以下程序的输出结果_姓名 :Tom 年龄 :15 家庭住址 :金水区电话 :66123456 学校:九中 _。publicclass Father String name , address, tel; intage ; public Father(String name, int age) this. name = name; this. age = age; void out() System.out .print( 姓名 : + name); System.out .print( 年龄: + age ); void outOthe

20、r() System.out .print( 家庭住址 : + address); System.out .print( 电话: + tel); class Son extends Father String school; public Son(String name, int age) super(name, age); void out() super.out(); super.outOther(); System.out .println( 学校: + school); publicstaticvoidmain(String args) Son son = new Son(Tom ,

21、15); son.address = 金水区 ; son.school = 九中 ; son.tel = 66123456; son.out(); 5、下列程序的运行结果是_12345_。publicclass MyClass inta = 1, 2, 3, 4, 5 ; void out() for ( int j = 0; j a. length; j+) System.out .print(aj + ); publicstaticvoidmain(String args) MyClass my = new MyClass(); my.out(); 6运行下面的程序,输出并记录结果。cla

22、ss Father private int f1,f2; public Father(int f1,int f2) this.f1=f1;this.f2=f2; public void print() System.out.println(f1=+f1+ f2=+f2); class Child extends Father private int c1,c2; public Child(int f1,int f2,int c1,int c2) super(f1,f2); this.c1=c1;this.c2=c2; public void print() super.print(); Sys

23、tem.out.println(c1=+c1+ c2=+c2); / 增加的测试代码public class XT003302 public static void main(String args) Child c = new Child(1,2,3,4); c.print(); 输出 : f1=1 f2=2 c1=3 c2=4 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 12 页 - - - - - - - - - 学习资料收集于网络,仅供参考学习资料7. 请说出

24、 A类中 System.out.println的输出结果。class B int x=100,y=200; public void setX(int x) x=x; public void setY(int y) this.y=y; public int getXYSum() return x+y; public class A public static void main(String args) B b=new B(); b.setX(-100); b.setY(-200); System.out.println(sum=+b.getXYSum(); sum=-100 8. 请说出 A类

25、中 System.out.println的输出结果。public class A public static void main(String args) B b=new B(20); add(b); System.out.println(b.intValue(); public static void add(B m) int t=777; m.setIntValue(t); class B int n; B(int n) this.n=n; public void setIntValue(int n) this.n=n; int intValue() return n; 777 9. 请说

26、出 A类中 System.out.println的输出结果。public class A public static void main(String args) Integer integer=new Integer(20); add(integer); System.out.println(integer.intValue(); public static void add(Integer m) int t=777; m=new Integer(t); 20 10. 请说出 A类中 System.out.println的输出结果。class B int n; static int sum=

27、0; void setN(int n) this.n=n; int getSum() for(int i=1;i=n;i+) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 12 页 - - - - - - - - - 学习资料收集于网络,仅供参考学习资料sum=sum+i; return sum; public class A public static void main(String args) B b1=new B(),b2=new B(); b1.setN(3)

28、; b2.setN(5); int s1=b1.getSum(); int s2=b2.getSum(); System.out.println(s1+s2); 21 11请说出 E类中 System.out.println的输出结果。class A double f(double x,float y) return x+y; double f(float x,float y) return x*y; public class E public static void main(String args) A a=new A(); System.out.println(*+a.f(10,10)

29、;System.out.println(#+a.f(10.0,10.0F) ; *100.0 #20.0 12请说出 E类中 System.out.println的输出结果。class A double f(double x,double y) return x+y; class B extends A/重载double f(int x,int y) return x*y; public class E public static void main(String args) B b=new B() ;System.out.println(b.f(3,5) ;System.out.printl

30、n(b.f(3.0,5.0); 15.0 8.0 13请说出 E类中 System.out.println的输出结果。c1ass A double f(double x,double y) return x+y; static int g(int n) return n*n; class B extends A double f(double x,double y)/重写double m=super.f(x,y) ;return m+x*y; static int g(int n) int m=A.g(n); return m+n ; public class E public static

31、void main(String args) B b=new B() ;System.out.println(b.f(10.0,8.0) ;System.out.println(b.g(3); 98.0 12 14. 请说出 E类中 System.out.printf的输出结果。interface Computer int computer(int x,int y); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 12 页 - - - - - - - - - 学习资料收

32、集于网络,仅供参考学习资料 abstract class AA int computer(int x,int y) return x-y; class B extends AA implements Computer public int computer(int x,int y) return x+y; public class E public static void main(String args) Computer com=new B(); AA a=new B(); System.out.printf(%dn,puter(12 ,10); System.out.printf(%dn

33、,puter(15,5); 22 20 四、简答题1 如 果 在D:MyJavaFile目 录 下 有 一 个 文 件FirstJavaProgram.Java ,写出在JDK 环境下,此程序的运行过程。答: 运行过程:先切换到D:MyJavaFile目录,然后依次执行:(1)javac FirstJavaProgram.Java (2)java FirstJavaProgram.class 2什么叫面向对象编程?什么是对象?什么是类?面向对象编程(Object-Oriented Programming ,OPP) 是一套概念和想法,它与面向过程的编程方法相对应,是一种利用计算机程序来描述实际

34、问题的思路 , 也是一种直观, 效率更高的解决问题的方法。面向对象的程序设计方法按照现实世界的特点来管理复杂的事物, 把它们抽象为对象, 具有自己的状态和行为, 通过对消息的反应来完成一定的任务。对象就是变量和相关的方法的集合, 其中变量表明对象的状态, 方法表明对象所具有的行为,一个对象的变量构成这个对象的核心,包围在它外面的方法使这个对象和其它对象分离开来。类是对一组具有相同特征的对象的抽象描述,所有这些对象都是这个类的实例。在程序设计语言中,类是一种数据类型,而对象是该类型的变量,变量名即是某个具体对象的标识名。3类的修饰符包括哪些?各起什么作用?包括访问控制符(表示被访问权限)、抽象类

35、说明符 abstract (说明是否是抽象类) 、最终类说明符final(表示是否是最终类) 。4什么是抽象类?什么是抽象方法?抽象方法与普通方法有什么不同?以 abstract作为关键字,如果有的话,应该放在访问控制符后面,表示这个类是个抽象类。抽象类中至少包含一个抽象方法,抽象方法是只声明了方法名和参数而没有定义方法体的特殊方法。抽象类不能直接产生实例化一个对象,它只能被继承。5父类与子类是怎样建立关联的?如果父类和子类中都有一个同名的方法,在程序中调用这个方法,应该用什么关键字来区分?父类与子类是通过继承和派生建立关联的,父类可以派生出子类,可以被子类继续,子类可以继续父类的属性和方法。

36、如果父类和子类中都有一个同名的方法,通过关键名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 12 页 - - - - - - - - - 学习资料收集于网络,仅供参考学习资料字 super 和 this区分,super 表示调用父类的方法,而this表示调用的是子类的方法。6普通数据类型参数和引用数据类型在方法中的传递有什么不同?普通数据类型参数的传递采用值传递,在方法中对变量的改变不会影响到主程序的同名变量,引用数据类型在方法中的传递采用地址传递,在方法中对变量的改变使

37、主程序的同名变量发生改变。7什么是构造方法?构造方法有什么特点?构造方法是一种特殊的方法,当用new命令每生成一个实例时,构造方法都会自动执行一次,而无须用户手工引用。构造方法的特征:具有与类相同的名称,不含返回类型,不能在方法中用return语句返回一个值。在类实例化时,它会由系统自动调用8接口与类有什么不同?与抽象方法存在什么样的关系?接口( interface)是一种特殊的类,接口是方法定义(即抽象方法)和常量值的集合,只包含常量和方法的定义,没有变量和方法的实现。使用接口的目的是解决 Java语言中不支持多重继承的缺陷。接口中包含若干抽象方法,没有具体的方法。9、什么是继承?答:通过必

38、要的说明能够实现某个类无需重新定义就拥有另一个类的某些属性和方法,并把这种关系称为继承,先定义的类称为父类,后定义的类称为子类,并且允许多层的继承关系。10、请简述重载和重写的区别?答: 方法的重写Overriding和重载 Overloading是 Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现, 重载 Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个

39、同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。五、程序设计题1、按以下要求编写程序(1) 创建一个Rectangle 类,添加 width 和 height 两个成员变量(2) 在 Rectangle 中添加两种方法分别计算矩形的周长和面积(3) 编程利用Rectangle 输出一个矩形的周长和面积解答:publicclass Rectangle floatwidth, height; public Rectangle(float width, floatheight) this. width

40、 = width; this. height = height; publicfloat getLength() return( this. width+ this. height) * 2; publicfloat getArea() returnthis. width * this. height; publicstaticvoidmain(String args) Rectangle rect = new Rectangle(10, 20); System.out .println( 周长是: + rect.getLength(); System.out .println( 面积是: +

41、 rect.getArea(); 2定义一个日期类,包括年、月、日三个属性和一个方法,用于判断是不是闰年。然后实例化两个对象,今年和明年,并分别给它们赋值。class DateClass 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 12 页 - - - - - - - - - 学习资料收集于网络,仅供参考学习资料 int year,month,day; boolean isLeapYear() if (year%4=0)|(year%100=0)&(year%400!

42、=0) return true; else return false; public class XT public static void main(String args) DateClass thisYear,nextYear; thisYear = new DateClass(); thisYear.year=2005; thisYear.month=4; thisYear.day=5; nextYear = new DateClass(); nextYear.year=2006; nextYear.month=10; nextYear.day=26; System.out.print

43、ln(thisYear.isLeapYear(); System.out.println(nextYear.isLeapYear(); 3编写一个程序实现方法的重载。class PassCheck String s,ok; PassCheck(String s) System.out.println(您设置的字符串是:+s); PassCheck(String s,String ok) if (!(s.equals(ok) System.out.println(您设置的字符串有错,正确的应该是: +ok); public class XT003202 public static void ma

44、in(String args) new PassCheck(Robit); new PassCheck(Mary,Susan); 4. 编写一个含有抽象方法和一个抽象类的程序。abstract class ObjectAccess /抽象类int num=0; Object access=new Object20; abstract void inputToArray(Object o); / 抽象方法1 abstract Object outputFromArray(); /抽象方法2 5、编写一个程序实现抽象类。interface Speed /定义接口public int Speed(i

45、nt x,int y);/定义抽象抽象方法 class Bus implements Speed /继承接口public int Speed(int x,int y) /实现抽象方法return x+y; public class XT004201 public static void main(String args) int a=10,b=20; Speed tool=new Bus(); /实例化System.out.println(汽 车 的 速 度是 :+tool.Speed(a,b); /调用方法 6、写出利用接口实现多重继承的示意性程序。interface interface1

46、void method1(); /定义抽象方法method1 interface interface2 void method2(); /定义抽象方法method2 interface interface3 extends interface1,interface2 void method3(); /定义抽象方法method3 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 12 页 - - - - - - - - - 学习资料收集于网络,仅供参考学习资料7、编写一个程

47、序,实现包的建立和包的引入。/建立包的程序:程序名Farmer.java package mypackage; public class Farmer public String name; public String sex; public int age; public Farmer(String xm,String xb,int nl) name=xm; sex=xb; age=nl; /调用包的程序:XT004203.java import mypackage.Farmer; public class XT004203 public static void main(String ar

48、gs) Farmer manager=new Farmer( 李 国 军 , 男,32); System.out.println( 姓名: +manager.name); System.out.println( 性别: +manager.sex); System.out.println( 年龄: +manager.age); 8、按以下要求编写程序(1) 编写 Animal 接口,接口中声明run() 方法(2) 定义 Bird 类和 Fish 类实现 Animal 接口(3) 编写 Bird 类和 Fish 类的测试程序, 并调用其中的 run()方法解答:publicinterface A

49、nimal void run(); class Bird implements Animal publicvoid run() System.out .println( 鸟儿在飞 .); class Fish implements Animal publicvoid run() System.out .println( 鱼儿在游 .); publicclass TestAnimal publicstaticvoidmain(String args) Bird bird = new Bird(); bird.run(); Fish fish = new Fish(); fish.run(); 9

50、编写一个Java Application 程序,输入姓名、性别、年龄后系统将用户输入的信息存入一个Vector 类对象,然后将这些信息显示出来。import java.util.*; import java.io.*; class People String name; String sex; int age; public class XT004302 public static void main(String args) throws java.io.IOException People p = new People(); Vector v = new Vector(); Buffere

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com