《2022年Java考试题+答案.pdf》由会员分享,可在线阅读,更多相关《2022年Java考试题+答案.pdf(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、选择题(每题 3 分,共 45 分)1、下列程序编译或运行的结果是。 ()D public static void main(String args)int a = 10;int b,c;if(a50)b=9;c = b + a; B. 19 C. 9 D. 编译错误2、下列语句片段中, four 的值为 ( ) Dint three = 3;char one = 1;char four = (char)(three+one); 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 20 页 - -
2、 - - - - - - - - A. 3 B. 1 C. 31 D. 4 3、下列代码的运行结果是 ( ) Dpublic static void main(String args)int a = 7;A B2 C D14、以下程序的输出结果为( )。Dpublic static void main(String args) int x = 1, y = 1, z =1;if(x-=1&y-=1|z-=1) +x+”, y =” + y+”, z =” + z); A. x=0, y=1, z=1精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳
3、- - - - - - - - - -第 2 页,共 20 页 - - - - - - - - - - B. x=0, y=2, z=2 C. x=0, y=2, z=1 D. x=0, y=0, z=15、下列代码段编译和运行的结果是(). Cpublic static void main(String args)String str = “null ”;if(str=null)else if()=0) else A. null B. zero C. some D. 编译错误6、下列代码的运行结果是() :Dpublic class Animal精品资料 - - - 欢迎下载 - - - -
4、 - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 20 页 - - - - - - - - - - public String noise()return “peep”;public static void main(String args)Animal animal = new Dog();Cat cat = (Cat)animal;class Dog extends Animalpublic String noise()return “bark”;class Cat extends Animalpublic String noise()
5、精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 20 页 - - - - - - - - - - return “meow ”; A. peep B. bark C. meow D. 编译错误 E. 抛出运行时异常7、关于下列代码说法正确的是( ) Dpublic class Foopublic int add(int a,int b)return a+b;public static void main(String args)Foo foo = null; A. 编译错误 B. 正常运行,但
6、无结果输出 D.运行时抛出 NullPointerException精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 20 页 - - - - - - - - - - 8、程序的执行结果是 ( ) Bpublic class Testint x;public static void main(String args)Test t = new Test(); = 5;change(t);public static void change(Test t) = 3; A. 5 B. 3 C. 0 D.
7、 49、关于下列代码书法正确的是 ( ) B精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 20 页 - - - - - - - - - - public class Apublic void doit()public String doit() return “a”;public double doit(int x) return ; A. 无编译错误B. 代码 public String doit()行,出现编译错误C. 代码 public double doit(int x)行,出现编译
8、错误D. 代码 return “a”; 行处 出现编译错误10、下列代码的运行结果是()DString test = “This is a test”;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 20 页 - - - - - - - - - - String tokens = (“s ”); A. 0 B. 1 C. 3 D. 411、请看下列代码()A1 第 1 行抛出异常B. 第 3 行抛出异常C. 第 5 行抛出异常D. 第 3 行代码成功执行E. 第 5 行代码成功执行F. 不管如
9、何第 7 行都会运行12、Java 中单一文件里的关键字class import package 出现的顺序应为:()CA. class package importB. class import packageC. package import class精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 20 页 - - - - - - - - - - D. import package class13、给出以下代码,请问该程序的运行结果是什么Dclass Example public sta
10、tic void main(String args)String s = new String( Computer );if( s = Computer ) Equal A );if( ( Computer ) ) Equal B );A、代码编译失败B、打印输出空白行C、打印输出: Equal A;D、打印输出: Equal B精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 20 页 - - - - - - - - - - E、打印输出: Equal A 和 Equal B14、 Java
11、语言中 , 通常把可能发生异常的方法调用语句放到_ 、_块中,分别用来捕获和处理异常。 ()CA. try,finally;B. catch,try;C. try,catchD. finally,try15、下列哪个语句可以获取文件“”的父目录名称()DA.String name (“”);B.String name (new File(“”).getParent();C.String name (new File(“”).getParentName();D.String name (new File(“”).getParentFile();精品资料 - - - 欢迎下载 - - - - -
12、- - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 10 页,共 20 页 - - - - - - - - - - 填空题(每空 2 分,共 20 分)1、完成代码计算 10 的阶乘并输出,把下面代码补全:int result = 1;for(int i = 2; i = 10; i+) result);答案: result *= i 或 result = result * i2、 在 Java 的类中需要将一个成员变量设置成子类可访问并且包内可访问,则使用访问修饰符来访问。答案: protected3、Java 中所有类都是类 _的子类答案: 、 prinl
13、n(4/3)的输出结果为 _, prinln(4%3)的输出结果为_.答案: 1,1精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 11 页,共 20 页 - - - - - - - - - - 5、 Java 语言中我们可以继承类或实现接口实现多线程。答案: Thread Runnable6、方法重载的条件中,参数只要满足、中的任何一点即可。答案:顺序不同、个数不同、类型不同简答题(共 17 分)1、请您简述 Java 语言中的面向对象的特征都有哪些并逐个阐述。(8分)答案1. 抽象:抽象就是忽略一个主
14、题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题, 而只是选择其中的一部分,暂时不用部分细节。一是过程抽象,二是数据抽象。过程抽象是指任何一个明确定义功能的操作都可被使用者看作精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 12 页,共 20 页 - - - - - - - - - - 单个的实体看待, 尽管这个操作实际上可能由一系列更低级的操作来完成。数据抽象定义了数据类型和施加于该类型对象上的操作,并限定了对象的值只能通过使用这些操作修改和观察。2. 继承:
15、继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。 对象的一个新类可以从现有的类中派生,这个过程称为类继承。 新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类) 。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。3. 封装:封装是面向对象的特征之一, 是对象和类概念的主要特性。 封装是把过程和数据包围起来, 对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念, 即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。一旦定义了一个对
16、象的特性, 则有必要决定这些特性的可见性,即哪些特性对外部世界是可见的, 哪些特性用于表示内部状态。 在这个阶段定义对象的接口。通常, 应禁止直接访问一个对象的实际表示,而应通过操作接口访问对象,这称为信息隐藏。事实上,信息隐藏是用户对封装性的认识, 封装则为信息隐藏提供支持。 封装保证了模块具精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 13 页,共 20 页 - - - - - - - - - - 有较好的独立性, 使得程序维护修改较为容易。 对应用程序的修改仅限于类的内部,因而可以将应用程序修改带
17、来的影响减少到最低限度。4. 多态性:多态性是指允许不同类的对象对同一消息作出响应。比如同样的加法,把两个时间加在一起和把两个整数加在一起肯定完全不同。又比如,同样的选择编辑-粘贴操作,在字处理程序和绘图程序中有不同的效果。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。2、请说出 List ,Set 和 Map三个接口存储元素时各有什么特点(9分)答案:List与 Set 具有相似性,它们都是单列元素的集合,它们有一个共同的父接口,叫做Collection。Set 里面不允许有重复的元素,所谓重复,即不能有两个相等(不
18、仅仅是相同)的对象,即假设Set 集合中有了一个 A对象,现在我要向Set 集合再存入一个B 对象,但 B对象与 A 对象 equals 相等,则 B精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 14 页,共 20 页 - - - - - - - - - - 对象存储不进去。 Set 集合的 add方法有一个 boolean 的返回值,当集合中没有某个元素,此时add 方法可成功加入该元素时,则返回true ,当集合含有与某个元素equals 相等的元素时,此时add 方法无法加入该元素,返回结果为fa
19、lse 。List表示有先后顺序的集合 , 当我们多次调用 add(Obj e)方法时,每次加入的对象就像火车站买票有排队顺序一样,按先来后到的顺序排序。有时候,也可以插队,即调用add(int index,Obj e)方法,就可以指定当前对象在集合中的存放位置。一个对象可以被反复存储进List中,每调用一次add方法,这个对象就被插入进集合中一次, 其实,并不是把这个对象本身存储进了集合中, 而是在集合中用一个索引变量指向这个对象,当这个对象被 add多次时,即相当于集合中有多个索引指向了这个对象。Map与 List和 Set 不同,它是双列的集合,其中有put 方法,定义如下: put(o
20、bj key,objvalue), 每次存储时,要存储一对 key/value ,不能存储重复的 key,这个重复的规则也是按equals 比较相等。取则可以根据 key 获得相应的 value ,即 get(Object key) 返回值为key 所对应的 value 。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 15 页,共 20 页 - - - - - - - - - - 编程题(共 18 分)1、请阅读下列程序,并写出其运行结果:(6 分)public class Testpublic sta
21、tic void main(String args)Son s = new Son();class Parentstaticpublic Parent()精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 16 页,共 20 页 - - - - - - - - - - class Son extends Parentstaticpublic Son()答案:BEACDF精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 17
22、 页,共 20 页 - - - - - - - - - - 2、写出一种实现单例的方式(懒汉式,饿汉式任选一种)(6 分)答案:懒汉式:1.publicclassSingleton 2.privatestaticSingleton instance; 3.privateSingleton () 4.5.publicstaticSingleton getInstance() 6.if(instance = null ) 7.instance = newSingleton(); 8. 9.returninstance; 10. 11. 精品资料 - - - 欢迎下载 - - - - - - - -
23、 - - - 欢迎下载 名师归纳 - - - - - - - - - -第 18 页,共 20 页 - - - - - - - - - - 饿汉式:1.publicclassSingleton 2.privatestaticSingleton instance = newSingleton(); 3.privateSingleton () 4.publicstaticSingleton getInstance() 5.returninstance; 6. 7. 3、编写一个应用程序, 对程序中给定的四个double 型数据求其最大值和最小值。(6 分)答案:publicstaticvoid m
24、ain(String args) double a = , , , ;double max = 0, min = 0;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 19 页,共 20 页 - - - - - - - - - - 四个数分别为: );for ( inti = 0; i ; i +) + );for ( inti = 0; i a i + 1) max = a i ; elseif ( a i ai + 1) min = a i ;四个数中最大值为: + max );四个数中最小值为: + min);精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 20 页,共 20 页 - - - - - - - - - -