Java基础、面向对象测试安工大 - 答案
- 格式:doc
- 大小:36.00 KB
- 文档页数:3
java程序设计知到章节测试答案智慧树2023年最新安徽工业大学第一章测试1.JDK是Java平台的核心,Java运行环境、Java工具、Java基础类库(rt.jar)。
JDK是Java应用程序开发的基础,所有的Java应用程序都必须构造在JDK之上,如果没有安装JDK,所有Java程序都不能运行。
JRE是Java运行所有必须的环境的集合,包含JVM、Java核心类。
JRE是Java程序可以运行、测试的平台。
( )参考答案:对2.编写和运行Java应用程序的步骤有哪些?要选择一个文本编辑器,如Notepad、EditPlus、UltraEdit等,这里我们用记事本(Notepad)编写一个Java程序文件;2)编译:输入“javacfilename.java”命令,在当前目录下生成一个字节码文件;3)执行:输入“java filename”命令,执行filename.class字节码文件。
( )参考答案:对3.阅读下面程序,找出错误,并改正。
Hello.javapublic class hello {public static void Main(String[] args){System.out.println(“我是一个工人!”+”工人是一个光荣的职业!”)}}【参考答案】Hello.javapublic class Hello {public static void main(String[] args){System.out.println(“我是一个工人!”+”工人是一个光荣的职业!”);}}( )参考答案:对第二章测试1.下列运算结果为float类型值的是( )。
参考答案:100.0+102.语句byte b=011;System.out.println(b);的输出结果为( )。
参考答案:93.下面哪个是对字符串s1的不正确定义?( )参考答案:String s1=”\abcd”;4.100/10运算结果为float类型值()参考答案:错5.String s1=”abcd”; String s1; String s1=”abcd\0”; 是对字符串s1的正确定义()参考答案:对第三章测试1.以下Java语句中,String str = “123456789”;str =str.subString(1,3);执行后str中的值为( )。
面向对象测试题及答案一、选择题(每题2分,共20分)1. 面向对象编程(OOP)的核心概念不包括以下哪一项?A. 类B. 继承C. 多态D. 过程2. 在Java中,以下哪个关键字用于定义类?A. classB. typeC. structD. interface3. 下列哪个选项不是Java中访问控制的关键字?A. publicB. privateC. protectedD. global4. 封装是面向对象编程的一个重要特性,它主要指的是:A. 将数据和操作数据的方法组合在一起B. 将所有数据都设为公开访问C. 只允许通过特定的方法访问数据D. 将数据和方法分离5. 在Java中,以下哪个不是构造方法的特点?A. 与类名相同B. 没有返回类型C. 可以重载D. 可以被继承6. 继承在面向对象编程中允许:A. 一个类只能继承一个类B. 一个类可以继承多个类C. 一个类可以继承多个接口D. 一个类可以同时继承多个类和接口7. 接口在Java中的主要作用是:A. 定义类B. 实现多继承C. 定义方法的实现D. 定义方法的签名8. 以下哪个是Java中实现多态的方式?A. 继承B. 接口C. 重载D. 重写9. 抽象类在Java中不能:A. 被实例化B. 包含抽象方法C. 包含具体方法D. 被继承10. 下列哪个不是Java集合框架中接口?A. ListB. SetC. MapD. Array二、简答题(每题5分,共30分)1. 简述面向对象编程的三大特性。
2. 解释什么是多态,并给出一个Java中多态的例子。
3. 什么是封装?封装在Java中是如何实现的?4. 什么是接口?接口和抽象类有什么区别?5. 什么是构造方法?构造方法的作用是什么?6. 什么是继承?继承在Java中是如何实现的?三、编程题(每题25分,共50分)1. 编写一个Java程序,定义一个名为`Car`的类,包含以下属性和方法:- 属性:品牌(String类型),颜色(String类型),速度(int 类型)- 方法:启动汽车(startCar),加速(accelerate),减速(decelerate)2. 在上述`Car`类的基础上,创建一个名为`ElectricCar`的子类,继承`Car`类,并添加一个额外的属性:电池电量(int类型),并重写`startCar`方法以显示电动汽车启动的信息。
java面向对象考试题及答案一、选择题(每题2分,共10分)1. 在Java中,以下哪个关键字用于定义一个类?A. classB. structC. interfaceD. enum答案:A2. 以下哪个选项是Java中类的成员变量?A. 方法B. 构造函数C. 属性D. 包答案:C3. 在Java中,哪个关键字用于实现类的继承?A. extendsB. implementsC. importD. package答案:A4. 在Java中,以下哪个关键字用于定义一个接口?A. classB. structC. interfaceD. enum答案:C5. 在Java中,以下哪个关键字用于定义一个枚举类型?A. classB. structC. enumD. interface答案:C二、填空题(每题2分,共10分)1. 在Java中,一个类可以继承另一个类的______方法。
答案:public2. 当一个类实现了一个接口,它必须提供接口中所有方法的______实现。
答案:具体3. Java中的______关键字用于定义一个包。
答案:package4. 在Java中,______关键字用于声明一个方法,该方法没有返回值。
答案:void5. 在Java中,______关键字用于声明一个方法,该方法返回一个布尔值。
答案:boolean三、简答题(每题5分,共20分)1. 简述Java中构造函数的作用。
答案:构造函数是类的特殊方法,用于在创建对象时初始化对象的状态。
它具有与类同名的名称,并且没有返回类型。
2. 描述Java中接口和抽象类的区别。
答案:接口是完全抽象的,不能包含任何实现细节,而抽象类可以包含实现细节。
接口中的方法默认是public和abstract的,而抽象类可以有非抽象方法。
一个类可以实现多个接口,但只能继承一个抽象类。
3. 什么是Java中的多态性?请举例说明。
答案:多态性是指允许不同类的对象对同一消息做出响应的能力。
java面向对象程序设计期末考试题及答案一、单项选择题(每题2分,共20分)1. 在Java中,哪个关键字用于声明一个类?A. classB. structC. interfaceD. enum答案:A2. 下列哪个是Java中的访问修饰符?A. publicB. privateC. protectedD. All of the above答案:D3. 在Java中,哪个关键字用于创建对象?A. newB. createC. makeD. instantiate答案:A4. Java中的继承是通过哪个关键字实现的?A. extendsB. inheritC. deriveD. superclass答案:A5. 在Java中,哪个关键字用于实现接口?A. implementsB. extendsC. interfaceD. abstract答案:A6. 下列哪个不是Java中的方法重载的条件?A. 方法名相同B. 参数列表不同C. 返回值类型不同D. 访问修饰符不同答案:C7. 在Java中,哪个关键字用于声明一个抽象方法?A. abstractB. virtualC. overrideD. final答案:A8. Java中的多态性可以通过哪种方式实现?A. 方法重载B. 方法覆盖C. 接口实现D. 继承答案:B9. 在Java中,哪个关键字用于声明一个内部类?A. innerB. nestedC. staticD. inner class答案:B10. Java中的垃圾回收机制是自动的吗?A. YesB. NoC. SometimesD. Depends on the JVM答案:A二、填空题(每题2分,共20分)1. Java中,一个类可以继承另一个类的______方法和属性。
答案:非私有2. Java中的______关键字用于声明一个类是不可被继承的。
答案:final3. 在Java中,______关键字用于声明一个类是抽象的。
单选题:(每道题目2分)1:下列有关类、对象和实例的叙述,正确的是哪一项?()A.类就是对象,对象就是类,实例是对象的另一个名称,三者没有差别B.对象是类的抽象,类是对象的具体化,实例是对象的另一个名称C.类是对象的抽象,对象是类的具体化,实例是类的另一个名称D.类是对象的抽象,对象是类的具体化,实例是对象的另一个名称2:类Student中成员变量声明正确的是哪一项? ()A.class Student{name;age;}B.class Student{String name = 1.0;int age = “26”;}C.class Student{String name;int age;}D.class Student{String name,int age;}3:类Student中成员方法声明正确是哪一项?()A:class Student{public show(){}}B:class Student{public void show();}C:class Student{public void show(){}}D:class Student{show(){}}4:类Student中构造方法声明正确的是哪一项? () A:class Student{public Student()}B:class Student{public Student(){}}C:class Student{public void Student(){}}D:class Student{new Student(){}}5:下列哪一项不是面向对象的三大特征之一? ()A:封装B:抽象C:继承D:多态6:下列关于封装说法不正确的是?()A:封装可以提高代码的安全性。
B:封装是指隐藏实现细节,提高公共的访问方式。
C:类或者方法也是封装的一种体现。
D:仅仅private修饰的内容才是封装的体现。
7:下列哪个方法和int sum(int a,int b)是重写方法?() A:public void sum(int a,int b)B:public int sum(int a,int b)C:int sum(int a,int b,int c)D:void sum(int c,int b)8:下列程序的运行结果是:()class Test{private static int x = 10;public void show(int x){x++;System.out.println(x);}public static void main(String[] args){int x = 20; //局部变量覆盖成员变量Test t = new Test();t.show(x);}}A:10B:21C:11D:209:在子类中调用父类中被重写的方法时需要使用哪个关键字?() A.thisB.newC.superD.以上都不是10:如果想一个类不能被子类继承的话,用下列哪个修饰符? () A:staticB:abstractC:privateD:final11:有如下两个类,在main方法中下面哪个做法是错误的?() class Animal{}class Dog extends Animal{}A:Animal a = new Animal();B:Dog d = new Dog();C: Animal a = new Dog();D:Dog d = new Animal();12:下列有关抽象类的叙述正确的是哪项?() A:抽象类中一定含有抽象方法B:抽象类既能被实例化也能被继承C:抽象类的声明必须包含abstract关键字D:抽象类中不能有构造方法13:下列有关接口的叙述错误的是哪项?() A:接口中只能包含抽象方法和常量B:一个类可以实现多个接口C:具体类实现接口时必须实现其中的方法D:接口不能被继承14:下列程序的运行结果是:()class Fu{public int num = 10;}class Zi extends Fu{public int num = 20;}class Testpublic static void main(String[] args) {Fu f = new Zi();System.out.println(f.num);Zi z = (Zi)f;System.out.println(z.num);}}A:10,10B:20,20C:10,20D:20,1015:下列程序的运行结果是:()class Fu{public void show(){System.out.println("fu show");}}class Zi extends Fu{public void show(){System.out.println("zi show");}public void method(){System.out.println("zi method");}}class Test{public static void main(String[] args){Fu f = new Zi();f.method();}}A:fu showB:zi showC:编译报错D:zi method16:关于代码块说法错误的是?()A:静态代码块在类加载的时候执行一次,在创建对象的时候不在执行了。
java面向对象编程练习题答案一、选择题1. 以下哪个是Java面向对象编程的三个基本特征?A. 封装、继承、多态B. 抽象、封装、继承C. 继承、多态、抽象D. 封装、继承、抽象答案:A2. 在Java中,哪个关键字用于定义类?A. classB. interfaceC. abstractD. final答案:A3. 以下哪个是Java中的访问修饰符?A. publicB. staticC. voidD. main答案:A4. 以下哪个是Java中创建对象的语法?A. new Object();B. new ClassName();C. new ClassName().method();D. ClassName();答案:B5. 在Java中,哪个关键字用于实现多态?A. extendsB. implementsB. overrideD. abstract答案:A二、简答题1. 简述Java面向对象编程中的封装性。
答案:封装性是面向对象编程的一个基本概念,它指的是将对象的实现细节隐藏起来,只暴露出一个可以被外界访问的接口。
封装性有助于提高代码的安全性和可维护性。
2. 什么是继承?继承在Java中是如何实现的?答案:继承是一种机制,允许一个类(称为子类或派生类)继承另一个类(称为父类或基类)的属性和方法。
在Java中,继承是通过关键字`extends`来实现的。
3. 什么是多态?Java中如何实现多态?答案:多态是指允许不同类的对象对同一消息做出响应的能力,即同一个接口可以被不同的实例以不同的方式实现。
在Java中,多态主要通过方法重载和方法重写来实现。
三、编程题1. 创建一个名为`Animal`的抽象类,它包含一个抽象方法`makeSound()`。
然后创建两个类`Dog`和`Cat`,它们继承自`Animal`类,并分别实现`makeSound()`方法。
答案:```javaabstract class Animal {abstract void makeSound();}class Dog extends Animal {public void makeSound() {System.out.println("Woof!");}}class Cat extends Animal {public void makeSound() {System.out.println("Meow!");}}```2. 编写一个Java程序,使用封装性来创建一个名为`Student`的类,该类包含私有属性`name`和`age`,以及相应的公共方法来设置和获取这些属性。
java面向对象试题及答案1. 试题一题目:什么是面向对象编程?请简要描述面向对象编程的优势和特点。
答案:面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,将程序中的数据和操作数据的方法进行了封装,使得程序更加模块化和易于理解。
面向对象编程的主要特点包括封装、继承和多态。
封装使得数据和对数据的操作集中在一个对象中,可以隐藏内部实现细节,提供公共的接口进行访问,增加了程序的安全性和灵活性。
继承允许新建的类继承已有类的属性和方法,通过扩展和重写已有类的功能,减少了代码的重复性,提高了代码的复用和可维护性。
多态允许不同的对象对相同的消息作出不同的响应,通过接口和抽象类的使用,实现了更加灵活和可扩展的程序设计。
面向对象编程的优势包括了代码的重用性、可维护性、可扩展性和灵活性。
通过封装和继承的应用,可以减少代码重复,提高开发效率,并且通过多态的应用,可以实现程序的灵活性,方便后续的扩展和修改。
2. 试题二题目:什么是类?请简要描述类的特点和组成部分。
答案:类是面向对象编程中的核心概念,是对一类具有相同属性和行为的对象进行抽象和封装的模板。
类是用来创建对象的蓝图,可以通过实例化类来创建对象。
类的特点包括了封装、继承和多态。
类通过封装将属性和方法进行了封装,提供了公共的接口与外部进行交互,隐藏了内部实现细节。
继承允许新建的类继承已有类的属性和方法,在原有基础上进行修改和扩展。
多态允许不同的对象对相同的消息作出不同的响应,实现了程序的灵活性和可扩展性。
类的组成部分包括了属性(Field)和方法(Method)。
属性(也称为成员变量)用于描述对象的状态,可以是基本类型或其他类的对象。
方法用于描述对象的行为,可以是处理属性的操作,也可以是其他业务逻辑的实现。
3. 试题三题目:请简要解释传值和传引用的区别,并用代码示例说明。
答案:传值和传引用是在方法调用时,参数传递的两种方式。
v()承c 继态盖载M 多多覆ffi山PLA B c DJews 测验(基础编程和面向对象)姓名:分数1、 从下面列表中选取3个合法的标识符 A. IDoLikeTheLongNameCldss B ・$byte ($,字母和下划线”头) C ・ const (goto, const nf 以) D ・ _okE. 3_case (不能是数字开头)2、 如何对一个对象进行强制垃圾回收? A. 不能强制进行垃圾回收 B ・调用System, gc ()・C ・传递要进行垃圾回收的对彖的引用作为参数, 调用 System, gc ()D ・调用 Runtime, gc ().E ・设置所有对该对象的引用到一个新值(如 null)・3、 考虑下面的类 clciss Test { void test(int i) {System ・()ut ・println("I tun tin int."); }void test (String s) {System .out ・ prin tin ("I tun a string ・"); }public stcitic void iikiin( String args I ]) { Test t 二new Test (); chtir ch 二'y'; t. test (ch); } }4、 下面哪一句说法是正确的(选择一个)A. 笫5行不能通过编译,因为void 方法不能被 重写©出 初12行不能通过编译,因为没有任何一个test 方法接收一个字符参数。
C. 代码可以通过编译但会在第12行抛出一个异 常。
D. °代码可以通过编译且运行时诃输出:'1 am an int.' oE ・ 代码可以通过编译且运行时可输III : lamaString. ' o5、 数组numArray 的第9个元素可以表示为 _____ . A. numArray 18 ]; B ・ numArray[9];C ・ numArray 丨]二 9;D ・ numArrayI 71 +二 2;6、 下面的哪个语句声明了一个有10个元素的数组?A int numbers 丨]二 new int[10 ];B int numbersl10]; 0 int numbers!]二 10;D new int numbers!]二 int[10]; 7、 jtivu 编译器的名称是? A ・ javac B ・ JVMC ・ System ・ out ・ println ()D ・ java8、 下面的代码段说明了面向对象的哪一特性_•public void overload(String s) {・・・} overload(int i) {・・・} overload(int i, float f) {・・・ }9、 当子类的一个方法和父类的一个方法命名相同时,叫做 _________ ■ A overloading 重载 B instance 实例 C overridi 覆盖D local scope 局域变量10、 访问开放程度正确的是:A friendly 变量川以被包外子类访问B protected 变量对以被包外类访问C public 类可以被包外子类访问 0都不对11、 下面关于抽象类的说法那些是正确的? A 不能从它继承一个子类 B 该类不能实例化C 所有的方法必须都是抽象方法D 抽象类的定义屮必须包含abstract 关键字 12、 关键字 ________ 表示一个对象或变星一旦赋值就不能修改A staticB finalC con stcint13、 问:哪段无错? (A), int i 二0;if(i){ ” ”System ・ out ・ println(〃lli 〃); }⑻・boolean b 二true;boolean b2二true; if(b==b2) {System ・ out ・ printin ("So true z ,);}(0. int i=l;int j 二2; if(i==l, j==2)System ・ out ・ println(〃()K 〃); (D). int i=l;int j 二2;if(i 二二1& j 二二2)System ・ out ・ println(〃()K 〃); 14、 如下代码class Test{ private int m;public static void fun() { // some code.・・} }15、 如何才能载方法lunO 'I 1直接访问变星in? A ・ 改变 private int m 为 protected int m B ・ 改变 private int m 为 public int mC ・ 改变 private int in 为 static int mD ・改变 private int m to int m16、下面方法哪个是方法public void example () {...}的正确重籤?A.public void example( int m) {・・・ }B.public int excimple(){・・・}A B C D E floatflOcltfloatflOcltfloatf[](二new IIfI J = newf[][] = new[][If 二new[][]f 二newC・ public void excimple2() {・・・}D・ public int example ( int m, float f) {・・・}17、J va中mainO方法的返回值类型为?A.Str ingB.intC・ charD. void18、下面那些是Java的合法描述符?A.fieldnameB・ superC・ 3numberD・ uinberE・ $number19、哪些是java合法的关键字A.constB.NULLC・ falseD. thisE・ native20、哪些是Java中正确的整数表达式?A.22B.0x22C.022D.221121、下面的代码段执行后1和j的值为int i 二1;int j;j 二i++;A.1, 1B.1, 2C.2, 1D.2, 222.为了编译和运行java程序,下面那句话是正确的?A.程序起始点必须在main, class文件中B.所有的类必须包含名为的方法C.程疗:中的一个类必须包含名为觸in的方法D.程用中必须包含名为mairi的类23、哪些赋值是正确的A. 1 lotit ti 二2. 0B.double b = 2. 0C.ir)t c = 2D.long d 二224、m ainO方法中的参数的正确描述是A.char args I ]B・ char tirgs III]C・ String argl1D・ String args 25、下面哪些对正确的创建一个数组ri«)cil|6] |6]; float[6]I 6 I;float!][61; float!6 I I 6];float!611]; 26、对于给定的表达式:int m[]二{0, 1, 2, 3,1, 5, 6},下面哪些计算结果等于数组的长度A.m. length()B・ m. lengthC.m. length()+1D.m. length+1 27、用这样的命令行执行正确的类:java MyTest a b c,下面哪些是正确的?A.args [01 = "MyTest a b c〃B.args[0| 二"MyTest"C.args [01 二z,a,zD・args[l]= ' b‘28、给定代码:public class Test{ long a[]二new long 1.101;public static void main ( String arg[J ) {System・out. println ( a|6]);}}哪句是正确的?A.无输出B.输出是0C・出现编译时错误D.出现运行时错误29、给定下面的代码:public class Test{public static void main(String arg[]){ int i 二5;do {System・ out・ println(i);} while (--i>5);System・out. println( "finished");}}执行时输出:A. 5B. 4C. 6D.FinishedE.None30、如下代码:switch (m){case 0: System.oul.princase 1: System・()ul・ println("l");case 2: System.out・println("2"); case 3: System・()ul・ println("3");bretik; default: System, out.printin("Other"); }m的值是多少可以输出來〃2〃?A.0B. 1C. 2D. 3E. 4F.None31、J ava 哪些是合法的修饰府?A.privateB.publicC.protectedD.protectE.friend32、如果一个类变量只能在同一包内被访问可用那个修饰符?A.privateB・ publicC・ protected0.不用修饰E・ final33、下面哪种对类变量的修饰可以定义常量A. staticB. final C ・ abstractD ・ No modifier ctin be used31、卜•面哪些是对native 方法的正确声明? A. public native void test(): B ・ public native void test() {) C ・ public void ntitive test(); D ・ public native test() {}35、 给定类的定义 public class Test { private float f二 1.0;int m 二 12; static int n 二1;public static void mtiin(String arg[J) { Test t 二 new Test();// some code ・・・ } } 36、 在注釋处哪种用法是合法的? A. t. fB ・this ・nC ・ Test ・ in D. Test, n37、 以下代码: 1 class Example{ 2 String str;3 public ExtimpleO {4 str 二"example";5 }6 public Excimple(String s) {7 str 二s;8 }9 }10) class Demo ext ends Extunplef 11 }12 public class Test{ 13 public void f () {14 Excimple ex 二 new Excimple (,z Good ,z ); 15 Demo d 二 new Demo("Good"); 16 }}哪行会引起错误?A line3 B . line 6 C . line 10 D . line 14E line 138、 给定源文件中的类定义: class Btise {public Base (){//・・・}public Base ( int m ){ //•・・} protected void fun( int n ) { //・・・} }public class Child extends Base{ // member methods }39、 下面哪种可以恰当的加到Child 类中? A. private void fun( int n ) { //•・・} B. void fun ( int n ) {//・・・}C. protected void fun ( int n ) { □… }D. public void fun ( int n ) { //・・・} 40、 下面哪些说法是正确的?A •在Javaip 允许单继承,这使得代码史对靠B. 子类诃以继承父类的所有方法(包括构造方法)C. 一个类对以实现任总多的接口0.当一个类实现一个接口时,它可以定义接口的 一部务方法41、 在源文件Test, java哪些类的声明是正确的?A.public class test { public int x 二 0; public test(int x) { this ・ x 二 x;B.public class Test{ public int x 二0;public Test(int x) { this, x = x;C.public class Test extends Tl, T2 { public int x 二 0; public Test (int x) { this ・ x 二 x;0.public class Test extends T1{ public int x 二0; public Test(int x){ this, x = x;E.protected class Test extends T2{ public int x 二0; public Test(int x){ this ・ x 二x;42、如下代码:public class Test{public static void main(String args[]){ String str 二new String(z ,World z ,); char ch[] = {‘ 11’ J ' 1’ J 1’,' o' }; change(str, ch);System .out.println(str + "and" + new String(ch)); }public static void chtrnge(String str, chtir ch[]){str=,,Changed /,; ch|01=,C ;执行的结果是?A. World and HelloB. World and CelloC. Changed and HelloD. Chcinged and Cello13.下面语句行哪些编译时没有警告或错误 A float f 二1.3; B char c 二"a"; C byte b 二257; D boolean b 二null; E int i 二10;44、编译运行下面的代码时会打印public class MyCltiss {public sialic void mdin(String argumentsl]){ tunethod(arguments);}public void tunethod(String,丨arguments) { System・out・ println("rguinents);System ・ out ・ print In (tirguine nt si 1 ]);}} 、,A error Can't make static reference to void time thod ・B error method mtiin not correctC error tirrtiy must include parcimeterD tunethod must be decltired with String15下面哪些没有编译错误?Aimport java・awt・*;package Myptickage; class Myclass {}Bpacktige MyPackcige;import java・awt・*; class MyClass{}C/♦This is a comment */packtige MvPackage;import java・“wt・*; class MyCltiss{}46、一个字节(byte)的范围是A -128 to 127B (一2 power 8 )-1 to 2 power 8C 一255 to 256D依赖于特定的虚拟机的实现17、运行下面的命令行时会打印java myprog good morning public class myprog{ public static voidiikiin(String argvl ]) { System・ out・println(argv[21);}}A myprogB goodC morningD都不对48、哪些是jdvd的关键字或保留字?A ifB thenC gotoD whileE case 49、哪些是合法的描述符?A 2vctriableB variable2C _whatavaricibleD _3_E Sanothervar1; ttmyvar50、编译运行下面的代码时会打印public class MyClass{static int i;publie static void main(String argv[]){System・ out・ println(i);}}、A Error Variable i may not have been initializedB nullC 1D 051、编译运行下面的代码时会打印public class Q { publie static void main(String argv[]){ int anar[]=new int [] {1, 2, 3};System・ out・ println(undr[11);A 1B Error tmar is referenced before it is initializedC 2D Error: size of array must be defined52、编译运行下面的代码时会打印public class Q {public static void main(String argv[]){ int anar[]二new int15];System・ out・ println(urRir[01);A Error: anar is refereneed before it is initializedB nullC 0D 553、编译运行下面的代码时会打印abstract class MineBase { abstract void cimethod();static int i;}public class Mine extends MineBase { publie static void main(String argv[]){ int[] ar二new int[5];for(i=0;i < ar. length;i++)System・ out・ print1n(ar[i]);}}A会打印5个0的序列B Error: ar is used before it is initializedC Error Mine must be declared abstractD IndexOutOfBoundes Error54、编译运行下面的代码时会打印int i二1;switch (i) {case 0: System.out.println(z,zer()z,);break;case 1:System・ out・ println(〃()ne〃);case 2: System.out.println(z,tw()z,); default: System ・ out・ prinlln(〃default〃);A oneB one, defaultC one, two, defauItD default55、编译运行下面的代码时会打印int i二9;switch (i) {default: System・ out・ printin("default"); case 0: System・ out・ println(〃zer()"); bretik;case 1: System・ out. println("()ne");case 2: System・ out・ printin(^two^);}A defaultB default, zeroC default子句是错误的D没有输出56、下面得代码行哪个没有编译错误Aint i二0;if (i) { System .out ・ pri ntln("llell()"); }Bboolean b二true;boolean b2二true;if(b二二b2) {System・ out. printin("So true");)Cint i二1;int j二2;if (i~l | | j 二二2) System, out. print In ("OK");Dint i二1;int j二2;if (i=l &| j二二2) System, out. printin(^OK^): 57、下面那些说法是正确的?A方法不能被巫药得封装得更隐秘B不能重载静态方法C不能重载private方法58、当编译运行下面代码时会class Btise {}class Sub extends Base {}class Sub2 extends Base {}public class CEx{public static void iikiin(String argvl ]) {Btise b二new Bcise ();Sub s二(Sub) b;}}A编译运行都没有错B编译时出错C运行时异常父类转子类59、为什么编译后的java文件既可以在windows下运行,也可以在linux下运行?A.因为所有计算机上的java虚拟机(JVM)都使用相同的class文件B.因为linux和windows都是运行在Intel的计算机卜C.因为linux和windows使用相同的操作系统图形库D.因为linux和windows都是微软生产的60、E面哪个文件是由java编译器对名为ptircel 的类的源代码编译后而产生的?A.SimpleReaderB.mainC.parce 1. classD・ puree 1. java61、如果要编写一个名为BouncingBctll的类,那么它的源代码文件应该名为?A.Document・ txtB.main・ javaC.BoundngBal 1. classD.BouncingBal 1. java 62、如下声明:String si 二new Str in gC,llello z,);String s2二new String(/Z there z,);String s3二new StringO ;下面哪个语句是正确的?A s3二si + s2;B s3二sl-s2;C s3二si & s2;D s3二si && s263、下面语句的计算结果是什么?System・ out・ println(4 3);A 6B 0C 1D 764、p ublic class MyClassl{public static void main(String argv[]){ } /♦Modifier at XX */class MyInner {}}What modifiers would be legal at XX in the above code?A publicB privateC staticD friendly62.下面哪个不是有效的变量名?A.finishedB.inputC・ userName3D・ Smile66、当试图编译和运行下面的代码时会出现什么恬况?public class Corw{public static void main(String argv[]){Conv c二new Conv();String s 二new Str in g(z,ell()zz);c. amethod(s);}public void amethod(String s) {char c=,If ;c+二s;System・ out・ println(c);}}A编译成功并输出Ulel"B编译成功并输HTelkfC编译成功并输tB"elloll"D编译时错误c+二s类型有问题67、下面的代码会输出?public class Pass{static int j二20;public static void imiin(String argvl]){ int i二10; Pass p 二new Pass ();p. cimethod(i);System・ out・ println(i);System・ out・ println( j);}public void tunethod(int x) {x二x*2;j二j*2;A Error: aine thod ptiraineter does not match VciriableB 20 and 40C 10 and 40D 10, and 2068、下面的代码会打印出?public class Oct{public static void iikiin(String argvl ]) {Oct o 二new Oct ();o. ainethod ();}public void tunethod() {int oi= 012;System・ out・ println(oi);A 12B 012C 10D 10.069当试图编译和运行下面的代码时,会出现什么情况?public class Ref{public static void iikiin(String tirgvl I) {Ref r 二new Ref ();r. tune thod (r);}public void tunethod(Ref r) {int i二99;multi (r);System・ out・ println(i);}public void multi(Ref r) {r. i = r. i*2;}}A在编译时出错B输出99C输出198D注运行时出错70、当试图编译和运行下面的代码时,会出现什么情况?public class Scope{private int i;public static void iikiin(String tirgvl I) {Scope s 二new Scope();s. cimethod ();}//End of mainpublic static void tunethod() {System・ out・ println(i);}//end of cimethod}//End of classA打印0B什么都不打印C编译错误0编译错误指出i的作用域不对71.通常一个类的命名惯例是(即如何为类命名)?A.类名称开始必须是test•然后Z后的单词必须以大宫字母开始(例如class TestBouncingBall)B.所有类的名称都必须以.java结束(例如class Ball.java)C.所有的单词必须以大写字母开始(例如class Bouncin^Ball)D.所有字母必须大写,单词之间以下划线分割开(例如class BOUNCING.BALL)72.下面那个是java中有效的注释?A.*/ load data from the file */B.// load data from the filement - load data from the fileD.1 load data from the file73.请问可以在类的外面定义方法吗?A.必须在另一个不同的文件屮编写所有类中的方法B.对以,但是这个方法必须是static的C.可以,因为java和C++屮的做法是一样的D.不可以,所有的方法必须在类的内部编写74.请看如下的声明:int x=6;请问哪个是上面那个变呈的数据类型?A.objectB.6C.xD.int75.通常方法的命名惯例是(即如何为方法命名)?A.名称中的所有单词必须是java中的关键词B.笫一个单词必须全部小写,然后其他的单词以大写字母开头(例如showPicture())C.所有单词必须以大写字母开头(例如ShowPictureO)D.所有单词必须大写,并以下划线分割开(例如SHOW_PICTURE())76.下面哪个不是有效的名称?A.print()B.readFile()C.class()D.isVisible()77.下面哪个声明是无效的?A.boolean finished二true;B.boolean finished=7.0;C.boolean finished = !true;D.boolean finished=(7.0>4.3);78.在java中char类里的数据用两个字节保存,这和C++中用一个字节保存相比,有什么好处?A.一个字符类型能够容下不同语言的字符例如屮文」I文,韩文或者越南语B.惫噪着我们对以使用String类来代替char数组C.字符类型对以用来代替整型D.字符在存储器中占据更多的空间79.在java我们如何定义一个名为COUNTRY.CODE 的常量?A.String COUNTRY_CODE=new String(H zh H);B.static String COUNTRY_CODE=n ZH H);C.#define COUNTRY.CODE H ZH HD.final String COUNTRY-CODE=,,ZH H;80.下面的代码有什么问题?double x=3.4;int y=6;y二x;A.double变呈:不能转换成int变星B.第1行,如果x的值改成3.0,那么代码就是正确的C.M 1行,java将3.4当成是float类型而不是double 类型D•第3行,x必须从double转换为int81 •婆声明一个名为message的字符串变鼠下面哪种方式是无效的?A.String message;B.String message二"Java is cool!"C.String message二'java is cool!1;D.String message=new String(n java is cool!");82.下面哪两纽数据类型在java中可用?A.public 和privateB.简单数据类型(比如int和double)和类类型(比如parcel 类)C.true 和falseD.变量和方法83.下面的代码中:parcel a,b;a=new parcel();b=a;结果是pA.该代码不能编译B.a和b指向相同的对象C.b为空D.b是存储在a中的对象的拷贝84 •下面哪个声明是正确的?A.对象是类的实例B.对象继承自类C.对象总是包含一个int,double或者float类型D.采用delete。
面向对象部分测试题考试宣言:同学们, 考试考多少分不是我们的目的! 排在班级多少的名次也不是我们的初衷!我们考试的目的是要通过考试中的题目,检查大家在这段时间的学习中,是否已经把需要掌握的知识掌握住了,如果哪道题目你不会做,又或者做错了, 那么不用怕, 考完试后, 导师讲解的时候你要注意听! 那时候学会了, 记住了, 也一样不影响你高薪就业!本套题共40道不定项选择题,其中单选30道,多选10道。
单选2分/题,多选4分/题。
多选题不全对半分,全对满分。
1.下面描述函数重写错误的是(c)A. 要有子类继承或实现B. 子类方法的权限必须大于等于父类的权限C. 父类中被private权限修饰的方法可以被子类重写D. 子类重写接口中的抽象方法,子类的方法权限必须是public的2.下列说法哪个正确?(a b c)A. 一个程序可以包含多个源文件B. 一个源文件中只能有一个公共类C. 一个源文件中可以有多个类D. 一个源文件只能供一个程序使用3.下面关于类的设计思路描述错误的是 ( b c )A. 根据需求写出类所包含的字段(成员变量)B. 根据面向对象的思想要求,所有的字段都必须私有化C. 封装之后的字段在本类内也必须使用get/set方法D. 按需求可添加若干构造方法4.关于封装下面介绍错误的是(d )。
A. 封装将变化隔离B. 封装提高重用性。
C. 封装提高安全性D. 只有被private修饰才叫做封装5.试图编译运行下面的代码会发生什么情况 (d)public class MyClass{static int i;public static void main(String[] args){ System.out.println(i);}}A. 错误,变量i没有被初始化B. 输出nullC. 输出1D. 输出06.下面对static的描述错误的是 bA. 静态修饰的成员变量和成员方法随着类的加载而加载B. 静态修饰的成员方法可以访问非静态成员变量C. 静态修饰的成员可以被整个类对象所共享D. 静态修饰的成员变量和成员方法随着类的消失而消失7.在Java中,下面对于构造函数的描述正确的是(d )。
Java基础、面向对象测试
姓名___________ 成绩_______________
一、填空题(2'*5=10')
1、定义的方法没有返回值。
2、 0 。
3、 5 , 4 。
4、 120 。
5、abstract。
final。
二、不定项选择题(3'*10=30')
1、(AB)
2、(BC)
3、(D)
4、(ACD)
5、( D)
6、(D)
7、(A)
8、(D)
9、(C)
10、(B)
三、简答题(3'*5=15')
1、How do you know if an explicit object casting is needed?
什么时候需要强制类型转换?
答:当声明一个超类的引用,指向其子类类型的变量的时候,需要进行强制类型转换。
2、是否可以继承String类。
答:不可以,String类是一个final的类。
3、String与StringBuffer的区别。
答:String的长度是不可变的,StringBuffer的长度是可变的。
如果你对字符串中的内容经常进行操作,特别是内容要修改时,那么使用StringBuffer,如果最后需要String,那么使用StringBuffer的toString()方法。
4、抽象类和接口的区别:
答:1、抽象类是类,它的子类不能再继承其它类了,但可以实现一个和多个接口。
接口不是类,它的子接口可以继承多个接口。
2、抽象类中是可以有不用abstract修饰的方法,而接口中只能有抽象方法,即方法都要用abstract修饰。
3、抽象类可以实现接口,而接口是不能继承或实现抽象类的。
5、面向对象的特征有哪些方面。
答:主要有以下四方面:
1.抽象:
抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。
抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。
抽象包括两个方面,一是过程抽象,二是数据抽象。
2.继承:
继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。
对象的一个新类可以从现有的类中派生,这个过程称为类继承。
新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。
派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。
3.封装:
封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。
面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。
4. 多态性:
多态性是指允许不同类的对象对同一消息作出响应。
多态性包括参数化多态性和包含多态性。
多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。
四、编程、逻辑推理题(15'*2=30')
1、一个n位数,判断它是不是回文数。
即12321是回文数,个位与万位相同,十位与千位相同。
import java.util.*;
public class lianxi25a {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
boolean is =true;
System.out.print("请输入一个正整数:");
long a = s.nextLong();
String ss = Long.toString(a);
char[] ch = ss.toCharArray();
int j=ch.length;
for(int i=0; i<j/2; i++) {
if(ch[i]!=ch[j-i-1]){is=false;}
}
if(is==true){System.out.println("这是一个回文数");}
else {System.out.println("这不是一个回文数");}
}
}
2、
(1). (C)
(2). (B)
(3).(D)
(4). (A)
(5). (D)
3、不同国家人的交流
联合国召开会议,在会议厅里,4位代表围桌而坐。
他们用了中,英,法,日4种语言。
现在已知:
(1)甲,乙,丙各会两种语言,丁只会一种语言;
(2)有一种语言4人中有3人都会;
(3)甲会日语,丁不会日语,乙不会英语;
(4)甲与丙,丙与丁不能直接交谈,已与丙可以直接交谈;
(5)没有人即会日语,又会法语。
请问:甲,乙,丙,丁各会什么语言?
======================================
甲乙丙丁
中会会-会
英--会-
法-会会-
日会---。