《2022年JAVA语言程序设计期末考试试题及答案.pdf》由会员分享,可在线阅读,更多相关《2022年JAVA语言程序设计期末考试试题及答案.pdf(31页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1234124JAVA语言程序设计考试试题及部分答案一、单选题:(每题1 分)下列各题 A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项的标记写在题干后的括号内。1下列语句序列执行后,k 的值是 ( B )。int m=3, n=6, k=0; while( (m+) ( - n) ) +k; A) 0 B) 1 C) 2 D) 32设 i 、j 为 int型变量名, a 为 int型数组名,以下选项中,正确的赋值语句是( B ) 。A) i = i + 2 B) a0 = 7; C) i+ - -j; D) a(0) = 66;3Java 语言的类间的继承关系是( B )
2、 。A) 多重的 B) 单重的 C) 线程的 D) 不能继承4设有定义 int i = 6 ;,则执行以下语句后, i 的值为 ( C ) 。i += i - 1; A) 10 B) 121 C) 11 D) 1005下列选项中,用于在定义子类时声明父类名的关键字是( C ) 。A)interface B) package C) extends D) class6若已定义 byte x= 11,22,33,-66 ; 其中 0k3,则对 x 数组元素错误的引用是 ( C ) 。A) x5-3 B) xk C) xk+5 D) x07下列语句序列执行后,ch1 的值是( B )。char ch1
3、=A,ch2=W; if(ch1 + 2 j ) i-; else j-; A) 15 B) 16 C) 7 D) 89下列语句序列执行后,k 的值是 ( C ) 。int i=10, j=18, k=30; switch( j - i ) case 8 : k+; case 9 : k+=2; case 10: k+=3; default : k/=j; A) 31 B) 32 C) 2 D) 3310下面语句执行后, i 的值是( B ) 。for( int i=0, j=1; j y | x z B) x != y C) z ( y + x ) D) x y & ! ( x 3 ); A
4、) 16 B) 8 C) 4 D) 213以下由 for 语句构成的循环执行的次数是( B ) 。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 31 页 - - - - - - - - - - for ( int i = 0; true ; i+) ; A) 有语法错,不能执行 B) 无限次C) 执行 1 次 D) 一次也不执行14定义类头时能使用的修饰符是(C )。A) private B) static C) abstract D) protected15设 int 型变量 a 、b,f
5、loat 型变量 x 、y,char 型变量 ch 均已正确定义并赋值,正确的 switch 语句是 D ) 。A) switch (x + y) B) switch ( ch + 1 ) . . C) switch ch D) switch ( a + b ); . . 16. 下列最终属性 i 的定义中,正确的是 ( )。A) static final int i=100; B) final int i=; C) final i=w; D) final char i;17. 下列类定义中,不正确的是(C )。A) class x . B) class x extends y . C) st
6、atic class x implements y1,y2 . D) public class x extends Applet . 18. 设 x 、 y 为已定义的类名,下列声明x 类的对象 x1 的语句中正确的是 ( )。A) static x x1; B) public x x1=new x(int 123); C) y x1; D) x x1=x( );19. 设 i 、 j 、 k 为类 x 中定义的 int 型变量名,下列类 x 的构造函数中不正确的是(B )。A) x( int m) . B) void x( int m) . 精品资料 - - - 欢迎下载 - - - - -
7、 - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 31 页 - - - - - - - - - - C) x( int m, int n) . D) x( int h,int m,int n) . 20. 下列方法定义中,正确的是( A ) 。A) int x( ) char ch=a; return (int)ch; B) void x( ) .return true; C) int x( ) .return true; D) int x( int a, b) return a+b; 21. 用于定义类成员的访问控制权的一组关键字是( D )
8、 。A) class, float, double, public B) float, boolean, int, long C) char, extends, float, double D) public, private, protected 22. 不能构成循环的语句是 ( C ) 。A) for 语句 B) while 语句 C) switch 语句 D) do_while 语句23. 下列程序段执行后 b3 的结果是 ( D ) 。boolean b1=true, b2, b3; 24= b1 b1 : b2; A) 0 B) 1 C) true D) false25 下面数据结构
9、中,属于非线性的是( B )。A) 线性表 B) 树 C) 队列 D) 堆栈11. 设有定义 int i=123; long j=456; 下面赋值不正确的语句是 ( D ) 。A) j=i; B) j=(long)i; C) i=(int)j; D) i=j;二、填空题:(每空 1 分)1. 构造函数 _没_有返回值。2. Java 语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为float和 _ 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 31 页 - - - - - -
10、 - - - - double _ 两种具体类型。3. 创建类对象的运算符是_ new。4. 当 整 型 变 量 n 的 值 不 能 被13 除 尽 时 , 其 值 为false 的 Java 语 言 表 达 式是_n%13=0_ 。5. 在 Java 语言中,所有的数组都有一个lenght 属性,这个属性存储了该数组的_元素个数。6. 定义类就是定义一种抽象的_父类_,它是所有具有一定共性的对象的抽象描述。7. 在 Java 语言中,使用 _平台无关 _、_java 虚拟机 _等技术,实现软件重用。8. 表达式 3/6 * 5的计算结果是 _0_ 。9. 下面是一个类的定义 : public
11、 class _int Myclass_ int x, y; Myclass ( int i, _=0_) 面是一个 Java Application 的主类的定义,其功能是输出所有命令行参数。import .*; public class MyClass public static void main(String args ) if( !=_0_) for(int i=0; i 0;x+); Cwhile (x5); Dfor(; ;); 6、关于类和对象的叙述正确的是: ( A ) AJava 的类分为两大部分:系统定义的类和用户自定义的类精品资料 - - - 欢迎下载 - - - -
12、- - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 31 页 - - - - - - - - - - B类的静态属性和全局变量的概念完全一样,只是表达形式不同 C类的成员至少有一个属性和一个方法 D类是对象的实例化7、以下有关构造方法的说法,正确的是:( A ) A一个类的构造方法可以有多个 B构造方法在类定义时被调用 C构造方法只能由对象中的其它方法调用 D构造方法可以和类同名,也可以和类名不同8、以下有关类的继承的叙述中,正确的是:( D ) A子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性 B子类只能继承父类的方法,不
13、能继承父类的属性 C子类只能继承父类的非私有属性,不能继承父类的方法 D子类不能继承父类的私有属性9、下列属于容器的组件有: ( B ) AJButton BJPane CCanvas DJTextArea 10、void 的含义: ( C ) A方法体为空 B定义的方法没有形参 C定义的方法没有返回值 D方法的返回值不能参加算术运算11、关于 Java 中异常的叙述正确的是: ( D )精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 31 页 - - - - - - - - - - A异常是
14、程序编写过程中代码的语法错误 B异常是程序编写过程中代码的逻辑错误 C异常出现后程序的运行马上中止 D异常是可以捕获和处理的12、所有的异常类皆继承哪一个类( C ) A B C D13、下面哪个不是 java 语言中的关键字( B ) Along Bsizeof Cinstanceof Dconst 14、为实现进程之间的通信,需要使用下列那种流才合适(D) AData stream BFile stream CBuffered stream DPiped stream 15、在复选框中移动鼠标,然后单击一选项,要捕获所选项必需实现哪个接口(D ) AActionListener BMous
15、eListener CMouseMotionListern DItemListener 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 10 页,共 31 页 - - - - - - - - - - 二、填空题(每空1 分,共 20 分)1、面向对象程序设计所具有的基本特征是:_抽象性 _,_封装性 _,_继承性 _,_多态性_ 2、数组 x 定义如下 int x =new int32 则 x.length 的值为_3_ , x0.length 的值为 _2_ 。3、Java 中实现多线程一般使用两种方法
16、,一是_继承 Thread 类_,二是_实现Runnable 方法_ 4、Java 的图形用户界面设计中,有很多布局管理器用来摆放组件的位置,一般用到的布局管理器有(列出四种即可)_FlowLayout_,_GridLayout_ ,_BorderLayout_ ,_CardLayout_ 5、Applet 常用的方法是: _init()_、_run()_、_stop()_ 和 destroy()。三、阅读程序,写出程序的输出结果(每题5 分,共 20分)1、class A private int privateVar; A(int _privateVar) privateVar=_priva
17、teVar; boolean isEqualTo(A anotherA) if = return true; else return false; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 11 页,共 31 页 - - - - - - - - - - public class B public static void main(String args) A a = new A(1); A b = new A(2); 程序的输出结果为: _false_ 2 、class A double f(dou
18、ble x, double y) return x * y; class B extends A double f(double x, double y) return x + y; public class Test public static void main(String args) B obj = new B(); The program output is + (4, 6); 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 12 页,共 31 页 - - - - - - - - - - 程序的
19、输出结果为: _ The program output is 10_ 3、public class Unchecked public static void main(String args) try method(); catch (Exception e) A); finally B); static void method() try wrench(); C); catch (ArithmeticException e) D); finally E); F); static void wrench() 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载
20、名师归纳 - - - - - - - - - -第 13 页,共 31 页 - - - - - - - - - - throw new NullPointerException(); 程序的输出结果为:E A B 4、public class Test public static void main(String args) int x; int a = 0, 0, 0, 0, 0, 0 ; calculate(a, a5); the value of a0 is + a0); the value is a5 is + a5); static int calculate(int x, int
21、y) for (int i = 1; i ; i+) if (y yy:x B) xy(x+y):(x-y) D) x=yy:x; 【答案】 B3. 以下是应用程序中定义的静态方法printBinary,若在其main 方法中有方法调用语句printBinary(2),则输出的结果是 ( )。static void printBinary(int i) + 的 2 进制数表示为: t); for(int j = 31; j =0; j-) if(1 j) & i) != 0) 1); else 0);换行 A) 00000000000000000000000000000001 B) 00000
22、000000000000000000000000010 C) 00000000000000000000000000001111 D) 00000000000000000000000000000000 【答案】 B4. 应用程序的 main 方法中有以下语句,则输出的结果是 ( )。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 21 页,共 31 页 - - - - - - - - - - String s1=,s2=12; double x=(s1); int y=(s2); B) C) 12 D) “
23、”【答案】 A5. 应用程序的 main 方法中有以下语句,则输出的结果是 ( )。double x=; DecimalFormat form1 = new DecimalFormat(); PI=+(x); A) PI= B) PI=1234C) PI= D) PI= 【答案】 A6. 下列程序段执行后的结果是( )。String s=new String(abcdefg);for(int i=0;i();i+=2)A) aceg B) ACEG C) abcdefg D) abcd 【答案】 A7. 应用程序的 main 方法中有以下语句,则输出的结果是 ( )。int x=122,33,
24、55,678,-987; int max=x0; for(int i=1;imax) max=xi; 678 B) 122 C) -987 D) 33 【答案】 A精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 22 页,共 31 页 - - - - - - - - - - 8. 下列语句序列执行后, k 的值是 ( )。 int x=2, y=5, k=0; switch( x%y ) case 0: k=x+y; break; case 1: k=x-y; break; case 2: k=x*y;
25、break; default: k=x/y; break; 2 B) 5 C) 10 D) 0 【答案】 C9. 下面的程序输出的结果是()public class A implements B public static void main(String args) int i; A c1 = new A(); i= ; i=+i); interface B int k = 10; A) i=0 B) i=10 C) 程序有编译错误 D) i=true 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2
26、3 页,共 31 页 - - - - - - - - - - 【答案】 B10应用程序的 main 方法中有以下语句,则输出的结果是 ( )。int b=1, 2, 3, 4,5, 6,7; int sum=0; for(int i=0;i;i+) for(int j=0;jbi.length;j+) sum+=bij; sum=+sum);A) 28 B)6 C) 9 D) 13 【答案】 A11. 有整型数组: int x=12,35,8,7,2;,则调用方法 (x) 后,数组x 中的元素值依次是( ).A) 2 7 8 12 35 B) 12 35 8 7 2 C) 35 12 8 7
27、2 D) 8 7 12 35 2【答案】 A12. 编译和运行下面的应用程序,并在命令行界面输入12345,则回车后屏幕输出的结果是( ).public class A public static void main(String args) throws IOException BufferedReader buf=new BufferedReader( new InputStreamReader); String str=();精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 24 页,共 31 页 -
28、 - - - - - - - - - int x=(str); A) 45 B)5 C) 123 D) 12345 【答案】 C13.下面的程序段执行后输出的结果是( )。 StringBuffer buf=new StringBuffer(Beijing2008); (7,); Beijing2008 B) Beijing2008 C) Beijing2008 D) Beijing#2008 【答案】 A14. 下面的程序编译运行后输出的结果是( )。public class A implements Runnable public static void main(String argv)
29、 A a = new A(); Thread t = new Thread(a); (); public void run() while(true) try ().sleep(1000); catch(InterruptedException e) looping while);精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 25 页,共 31 页 - - - - - - - - - - A) 在屏幕上重复输出 looping while。 B) 在屏幕上输出一次 looping while。C) 没
30、有 结 果 输 出 。D) 以 上 说 法 都 错 误 。【答案】 A15.下面的程序段创建了BufferedReader 类的对象 in , 以便读取本机 d 盘 my文件夹下的文件。File 构造函数中正确的路径和文件名的表示是( )。File f=new File(填代码处 );file=new FileReader(f);in=new BufferedReader(file);A) B) d:my1 C) d:my D) d: my 【答案】 C二、多选题(本大题10 小题,每小题 2 分,共 20 分)1. 下面的说法正确的是 ( )。A) Java 语言是面向对象的、解释执行的网络
31、编程语言。B) Java 语言具有可移植性,是与平台无关的编程语言。C) Java 语言可对内存垃圾自动收集。D) Java 语言编写的程序虽然是“一次编译,到处运行” ,但必须要java 的运行环境。【答案】 ABCD2. 下面 main() 方法的定义哪些是正确的 ( )A)public static void main(String args) B)public static void main(String) 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 26 页,共 31 页 - - - -
32、- - - - - - C)public static void main(String args) D)public static void main(String x) 【答案】 ACD3. 定义变量如下 : char c=w; int i=8; long L=15; float f=;以下赋值语句正确的是 ( )。 A) i=c+i; B) c=c+i; C) L=f+L; D) f=i+L+f; 【答案】 AD4. 下面哪些关键字能用来控制对类成员的访问( )A)public B)protected C)private D)default 【答案】 ABC5. 面向对象程序设计的基本特
33、征是( )。A) 抽 象B) 封 装C) 继承D) 多 态【答案】 ABCD6. 下面关于类的说法正确的是( )。A)类是 Java 语言中的一种复合数据类型。 B) 类中包含数据变量和方法。C) 类 是 对 所 有 具 有 一 定 共 性 的 对 象 的 抽 象 。D) Java 语 言 的 类 只 支 持 单 继 承 。【答案】 ABCD三、填空题(本大题10 小题,每小题 1 分,共 10 分)1. 创建类的对象时,使用运算符_ 给对象分配内存空间。2. 定义类的构造方法不能有返回值类型,其名称与_名相同。3. Java语言中关键字 _表示双精度类型。4. 若有定义: float b=,
34、 , ;,则() 的值是 _。5若有类定义:精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 27 页,共 31 页 - - - - - - - - - - class B extends A 则类 B是类 A的_。6接口中的成员只有静态常量和_。7. 在子类中使用关键字 _做前缀可调用被子类覆盖的父类中的方法。8. 关键字 _用于导入包中的类到程序中,供程序中使用。9. Java语言中, 通常把可能发生异常的方法调用语句放到try块中,并用紧跟其后的 _块来捕获和处理异常。10. 程序中实现多线程的方法有
35、两种:继承_类和实现 Runnable 接口。【答案】 2.类 4. 3 5.子类 6. 抽象方法 8. import 9. catch 10. Thread四、阅读程序,回答问题(本大题5 小题,每小题 5 分,共 25 分)1. (5分)1: public class Output1 2: public static void main(String arge) 3: int i=0;4: for ( char ch = 97; ch113; ch+,i+) 5: if( i % 8 = 0 )6: );7: t +ch); 精品资料 - - - 欢迎下载 - - - - - - - -
36、- - - 欢迎下载 名师归纳 - - - - - - - - - -第 28 页,共 31 页 - - - - - - - - - - 8: 9: 10: (1) 程序第 5、6 行的 if语句的功能是什么 (2 分) (2)程序输出的结果有几行 (3 分)【答案】 (1)每打印 8 个字符,则换行。 (2) 输出的结果有 2 行。2. (5分)1: import 3: public class SortArray 4: public static void main(String args) 5: String str = size, abs,length,class;6: (str);7
37、: for (int i=0; i; i+)8: );9: 10: (1) 写出程序运行后的结果。(2 分)(2) 方法调用 str0.length()的返回结果是多少 (3 分)【答案】 (1) abs class length size (2) 44. 定义类 A和类 B如下. (5分)class A int a=1; double d=; void show( )精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 29 页,共 31 页 - - - - - - - - - - Class A: a=+a
38、 +td=+d); class B extends A float a=; String d=Java program.; void show( ) ( ); Class B: a=+a +td=+d); (1) 若在应用程序的 main 方法中有以下语句:A a=new A();();则输出的结果如何 (2 分)(2) 若在应用程序的 main 方法中定义类 B的对象 b:A b=new B();();则输出的结果如何 (3 分)【答案】(1) Class A: a=1 d=精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - -
39、 - - - -第 30 页,共 31 页 - - - - - - - - - - (2) Class A: a=1 d=Class B: a= d=Java program.5. (5分)import .*;public class W static String s=甲, 乙, 丙, 丁; public static void main(String args) Stack stk=new Stack(); for(int i=0;i;i+) (si+ ); int k=0; while(k3) k+; (1) 堆栈的操作规则如何 (2 分) (2)写出程序运行后的结果。 (3 分)【答案】 (1) 先进后出 (2) 丁 丙 乙精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 31 页,共 31 页 - - - - - - - - - -