JAVA面向对象程序设计练习题目题目
《JAVA面向对象程序设计》练习题库
1. 下面( )是JDK中的Java运行工具.(选择二项)A. javacB. javamC. javaD. javar【解析】A C2. 选出在Java中有效的注释声明(选择二项)A.//This is a commentB.*/This is a commentC./This is a commentD./*This is a comment*/【解析】AD3. 下面( )命令可用于编译Java程序.(选择一项)A. javaB. javacC. appletviewerD. javadoc【解析】B4. 下面( )数据类型可用于main()方法中传递的参数. (选择一项)A. StringB. IntegerC. BooleanD. Variant【解析】A5. 在屏幕上显示的消息正确的语句是(选择一项)A. System.out.println(“I am Java Expert”);B. system.out.println(“I am Java Expert”);C. System.Out.Println(“I am Java Expert”);D. System.out.println(‘I am Java Expert’);【解析】A6. Java编译器会将Java程序转换为(选择一项)A. 字节码B. 可执行代码C. 机器代码D. 以上所有选项都不正确【解析】A7. Java源代码文件的扩展名为(选择一项)A. .classB. .javaC. .comD. 以上所有选项都不正确【解析】B1. 在Java中,byte数据类型的范围是(选择一项)A. -32767~32768B. -32768~32767C. -127~128D. -128~127【解析】D2. 以下( )是合法的标识符(选择二项)A. Te1_numB. emp1C. 8678D.batch.no【解析】AB3. 下列代码的输出结果是(选择一项)A. 2150B. 1250C. 5210D. 2510【解析】A4. 以下关键字(选择一项)用于终止循环语句A. breakB. exitC. endD. terminate【解析】A5. 不论测试条件是什么,下列(选择一项)循环将至少执行一次.A. whileB. do-whileC. forD. for-each【解析】B6. 下列代码的输出结果是 (选择一项 )A.6A.6B.3C.1D.0【解析】A7. 编译运行下面的代码时会打印(选择一项)A.1B.初始化错误C. 2D.数组超界【解析】C1. ( )是拥有属性和行为或方法的实体. (选择一项)A. 对象B. 类C. 方法D. 构造方法【解析】A2. 对象的特性在类中表示为变量,成为类的(选择一项)A. 对象B. 属性C. 方法D. 数据类型【解析】B3. ( )就是检验有关某个实体的所有可用信息的过程,以便标识与应用程序相关的信息. (选择一项)A. 抽象B. 封装C. 方法D. 构造方法【解析】A4. 如果类的方法没有返回值,该方法的返回类型应当是(选择一项)A. nullB. voidC. staticD. public【解析】B5. ( )关键字表示它是一种类方法,且无需创建对象即可访问. (选择一项)A. voidB. staticC. returnD. public【解析】B6. 每个类都定义有( ) ,以便初始化其成员变量(选择一项)A. 方法B. main() 方法C. 构造方法D. 对象【解析】C2、关键字( )用来调用父类构造方法。
java面向对象编程练习题及答案
java面向对象编程练习题及答案一、选择题1. 在Java中,以下哪个关键字用于定义类?A. structB. classC. interfaceD. enum2. Java中的继承是:A. 多重继承B. 单一继承C. 无继承D. 可选继承3. 以下哪个是Java中的访问修饰符?A. publicB. privateC. protectedD. 所有选项都是4. 以下哪个不是Java对象的三个基本特征?A. 封装B. 继承C. 多态D. 线程5. 以下哪个方法用于获取对象的内存地址?A. hashCode()B. equals()C. getClass()D. toString()二、简答题1. 解释Java中的封装是什么,并给出一个封装的例子。
2. 描述Java中的继承是如何工作的,并给出一个继承的例子。
3. 解释Java中的多态性,并给出一个多态性的例子。
三、编程题1. 创建一个名为`Car`的类,它具有以下属性:- 品牌(String)- 型号(String)- 年份(int)并为这些属性提供getter和setter方法。
2. 创建一个名为`ElectricCar`的类,它继承自`Car`类,并添加以下属性:- 电池电量(int)实现`ElectricCar`类,并重写`toString()`方法,以显示电动汽车的详细信息。
3. 创建一个名为`VehicleTest`的类,它包含`main`方法。
在`main`方法中,创建`Car`和`ElectricCar`的实例,并打印它们的状态。
四、代码分析题1. 阅读以下Java代码片段,并解释它的作用:```javapublic class Person {private String name;private int age;public Person(String name, int age) { = name;this.age = age;}public String getName() {return name;}public void setName(String name) { = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}```2. 阅读以下Java代码片段,并指出可能的错误:```javapublic class Animal {public void speak() {System.out.println("The animal makes a sound");}}public class Dog extends Animal {@Overridepublic void speak() {System.out.println("The dog barks");}}public class Cat extends Animal {@Overridepublic void speak() {System.out.println("The cat meows");}}public class TestAnimals {public static void main(String[] args) {Animal myDog = new Dog();Animal myCat = new Cat();myDog.speak();myCat.speak();}}```五、论述题1. 论述Java面向对象编程中接口与抽象类的区别,并给出使用场景。
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中,______关键字用于声明一个类是抽象的。
Java 面向对象编程练习题及答案
Java 面向对象编程练习题及答案题目一:洗衣机类设计描述:设计一个洗衣机类,具有以下属性和方法:属性:- 品牌(brand):字符串类型,表示洗衣机的品牌- 容量(capacity):整型,表示洗衣机的容量(以公斤为单位)- 是否开机(isOn):布尔类型,表示洗衣机是否处于开机状态方法:- 开机(turnOn):将洗衣机的状态设置为开机- 关机(turnOff):将洗衣机的状态设置为关机- 洗衣服(washClothes):接收一个整型参数 clothesWeight,表示待洗衣物的重量(以公斤为单位)。
如果洗衣机处于开机状态,并且洗衣机容量足够洗这些衣物,则打印出洗衣机正在洗衣服;否则,打印出洗衣机无法洗衣物。
答案一:```javapublic class WashingMachine {private String brand;private int capacity;private boolean isOn;public WashingMachine(String brand, int capacity) { this.brand = brand;this.capacity = capacity;this.isOn = false;}public void turnOn() {this.isOn = true;}public void turnOff() {this.isOn = false;}public void washClothes(int clothesWeight) {if (isOn && clothesWeight <= capacity) {System.out.println("洗衣机正在洗衣服");} else {System.out.println("洗衣机无法洗衣物");}}}```题目二:学生类设计描述:设计一个学生类,具有以下属性和方法:属性:- 姓名(name):字符串类型,表示学生的姓名- 年龄(age):整型,表示学生的年龄- 成绩(score):整型,表示学生的成绩方法:- 构造方法(Constructor):接收姓名、年龄和成绩作为参数,创建一个学生对象- 获取姓名(getName):返回学生的姓名- 获取年龄(getAge):返回学生的年龄- 获取成绩(getScore):返回学生的成绩答案二:```javapublic class Student {private String name;private int age;private int score;public Student(String name, int age, int score) { = name;this.age = age;this.score = score;}public String getName() {return name;}public int getAge() {return age;}public int getScore() {return score;}}```题目三:图书馆管理系统设计描述:设计一个图书馆管理系统,包含图书(Book)、图书馆(Library)和借阅者(Borrower)三个类。
面向对象程序设计模拟练习题(含答案)
面向对象程序设计模拟练习题(含答案)一、单选题(共50题,每题1分,共50分)1、下列关于JDK和JRE的说法中,错误的是()A、JDK是java开发核心组件,是用来编译解释java程序的核心组件B、JDK包括Java编译器、Java文档生成工具、Java打包工具等C、JRE是个单独的软件,所以安装JDK后,还需要单独安装JRED、JRE是java运行环境,用来支持java程序的运行正确答案:C2、下列File类的构造方法格式,错误的是()A、File(File parent)B、File(String pathname)C、File(String parent,String child)D、File(URI url)正确答案:A答案解析:A选项,正确的应该是File(File parent, String child)3、下列关于静态变量的描述中,错误的是()A、静态变量指的是被static修饰的变量B、静态变量是随着类的加载而加载C、静态变量可以被所有的实例对象共享D、静态变量同成员变量一样,都需要通过实例对象来调用正确答案:D答案解析:静态变量是通过“类名.变量名”“方式调用的。
4、下列对于Runtime的描述中,正确的是()A、每一个Java应用程序运行时都产生一个Runtime类实例B、Runtime实例可以将应用程序和运行环境相结合C、Runtime类有构造函数D、Runtime实例需要被创建后才可以通过getRuntime()方法获取正确答案:A答案解析:Runtime类用于表示虚拟机运行时的状态,它用于封装JVM虚拟机进程。
每次使用java命令启动虚拟机都对应一个Runtime实例,并且只有一个实例,因此该类采用单例模式进行设计,可以通过getRuntime()方法获得一个Runtime实例。
5、下列关于LinkedList类的方法,不是从List接口中继承而来的是()A、toArray()B、pop()C、remove()D、isEmpty()正确答案:B答案解析:pop()方法表示移除并返回此列表的第一个元素,是LinkedList特有的方法。
面向对象程序设计考试模拟题(附参考答案)
面向对象程序设计考试模拟题(附参考答案)一、单选题(共10题,每题1分,共10分)1、下面关于javac命令作用的描述中,正确的是()。
A、可以执行java程序B、可以将编写好的Java文件编译成.class文件C、可以把文件压缩D、可以把数据打包正确答案:B答案解析:javac命令将java文件编译成java字节码文件。
2、下列关于构造方法的描述,错误的是()A、在构造方法中不能使用return语句返回一个值,但是可以单独使用return作为方法的结束B、一个类中只能定义一个空参数的构造方法C、构造方法的方法名前面没有返回值类型的声明D、一个类中可以定义多个构造方法正确答案:B3、以下关于成员属性与成员方法的描述中,错误的是()A、成员属性我们也叫成员变量,它就是描述对象的特征。
它可以定义在类中,也可以定义在方法中B、成员方法用于描述对象的行为C、在类中定义的变量,我们称为成员变量D、在类中定义的方法,我们称变成员方法正确答案:A答案解析:类中可以定义成员变量和成员方法,其中成员变量用于描述对象的特征,也被称作属性,成员方法用于描述对象的行为,可简称为方法。
定义在类中的变量被称为成员变量,定义在方法中的变量被称为局部变量。
4、FileWriter类的write(int c)方法的作用是()A、写出单个字符B、写入多个C、写入一个整形数据D、写入单个字符正确答案:D答案解析:write(int c)方法用于写入单个字符。
5、下列关于集合的描述中,哪一个是错误的()A、集合按照存储结构可以分为单列集合Collection和双列集合Map。
B、List集合的特点是元素有序、元素可重复。
C、Set集合的特点是元素无序并且不可重复。
D、集合存储的对象必须是基本数据类型。
正确答案:D答案解析:集合可以存储多种数据类型的数据,包括引用数据类型。
6、下列关键字中,哪个不能修饰接口中的成员变量?()A、publicB、staticC、finalD、private正确答案:D答案解析:接口中的成员变量其实是一个常量,用public static final 修饰,所以,用private修饰是错误的。
面向对象程序设计试卷
面向对象程序设计试卷一、选择题(每题2分,共20分)1. 面向对象程序设计中的三大特征是:A. 封装、继承、多态B. 抽象、封装、继承C. 封装、继承、封装D. 继承、多态、封装2. 下列哪个不是面向对象程序设计的优点?A. 代码重用B. 易于维护C. 程序复杂度低D. 可扩展性好3. 在Java中,哪个关键字用于定义类?A. classB. structC. interfaceD. type4. 以下哪个是Java中不允许的类名?A. MyClassB. 2MyClassC. MyClass2D. MyClass_5. 在面向对象程序设计中,以下哪个概念不是用于实现封装?A. 私有成员B. 公有方法C. 访问控制D. 继承6. 下列哪个不是Java的访问控制修饰符?A. publicB. privateC. protectedD. global7. 以下哪个是Java中不允许的方法名?A. myMethodB. _myMethodC. my_methodD. myMethod_8. 在Java中,哪个关键字用于实现继承?A. extendsB. inheritC. deriveD. base9. 以下哪个不是Java的多态性实现方式?A. 接口B. 抽象类C. 重载D. 重写10. 在Java中,哪个关键字用于定义接口?A. interfaceB. protocolC. abstractD. type二、简答题(每题10分,共30分)1. 简述面向对象程序设计中封装的概念,并给出一个封装的简单示例。
2. 解释什么是多态性,并说明多态性在面向对象程序设计中的重要性。
3. 描述继承在面向对象程序设计中的作用,并举例说明如何使用继承来提高代码的复用性。
三、编程题(每题25分,共50分)1. 定义一个名为`Student`的类,包含以下属性:- 姓名(String类型)- 学号(String类型)- 年龄(int类型)并为该类实现以下方法:- 一个构造函数,用于初始化姓名、学号和年龄。
面向对象程序设计考试模拟题含参考答案
面向对象程序设计考试模拟题含参考答案一、单选题(共50题,每题1分,共50分)1、下列数据结构中,哪一个是ArrayList类的底层实现()A、数组结构B、链表结构C、哈希表结构D、红黑树结构正确答案:A答案解析:ArrayList的底层是数组实现的。
2、Java属于以下哪种语言()A、机器语言B、汇编语言C、高级语言D、以上都不对正确答案:C答案解析:Java是一门高级编程语言。
3、下面关于path和classpath的说法中,错误的是()A、path用来指定java虚拟机(JVM)所在的目录B、classpath用来指定我们自己所写的或要用到的类文件(.jar文件)所在的目录C、在dos命令行中,classpath和path环境变量的查看与配置的方式不相同D、只要设置了classpath这个环境变量系统就不会再在当前目录下查询某个类正确答案:C答案解析:classpath和path环境变量的查看与配置的方式完全相同,都是通过 set关键字实现的。
4、若double val = Math.ceil(-11.9);,则val的值是()A、11.9B、-11.0C、-11.5D、-12.0正确答案:B答案解析:ceil是天花板的意思,表示向上取值,永远是得到大于参数的最小整数。
5、下列集合中,不属于Collection接口的子类的是()A、ArrayListB、LinkedListC、TreeSetD、Properties正确答案:D答案解析:Properties集合属于Map集合的子类。
6、下列关于类与对象的说法中,错误的是()A、类是对某一类事物的抽象描述,而对象则是该类事物的个体。
B、对象是类的实例化。
C、类用于描述多个对象的共同特征,它是对象的模板。
D、类与对象没有什么实际关系。
正确答案:D答案解析:对象是通过类来创建的。
7、下列关于List接口的描述中,错误的是()A、List接口继承自Collection接口,是单列集合。
第三章 面向对象程序设计(答案)
学号:姓名:第三章面向对象程序设计作业一、判断题1、一个Java源程序可有多个类,但只仅有一个public类,而且程序名与public类名相同。
对2、如果类A和类B在同一个包中,则除了私有成员外,类A可以访问类B中所有的成员。
对3、接口中的成员变量全部为常量,方法为抽象方法。
对4、抽象类可以有构造方法,可以直接实例化。
错5、对static方法的调用可以不需要类实例。
对6、包含抽象方法的类一定是抽象类。
对7、方法中的形参可以和方法所属类的属性同名。
对8、接口无构造器,不能有实例,也不能定义常量。
错9、类的实例对象的生命周括实例对象的创建、使用、废弃、垃圾的回收。
对10、Java应用程序的入口main方法只有一种定义法。
对二、选择题1、下列答案正确的是(A)A) 在同一个Java源文件中可以包含多个类,只能有一个被声明为publicB) 在同一个Java源文件中只能包含一个类,并被声明为publicC) 在同一个Java源文件中可以包含多个类,都可以被声明为publicD) 在同一个Java源文件中可以包含多个类,只能有一个被声明为default2、Java实现动态多态性是通过(B)实现的。
A) 重载B) 覆盖C) 接口D) 抽象类3、下列哪一个是正确的方法重载描述(A)A) 重载方法的参数类型必须不同B) 重载方法的参数名称必须不同C) 返回值类型必须不同D) 修饰词必须不同4、final关键字不可以用来修饰(D)A) 类B) 成员方法C) 域D) 接口5、接口的所有成员方法都具有(B)属性A) private, final B) public, abstractC) static, protected D) static6、Java的封装性是通过(A)实现的A) 访问控制B) 设计内部类C) 静态域和静态方法D) 包7、下列接口或类不属于java.util.*包的是(D)A) Collection B)Vector C) MapD) Integer8、下述哪一组方法,是一个类中方法重载的正确写法?(A)A) int addValue( int a, int b ){return a+b;}float addValue ( float a, float b) {return a+b;}B) int addValue (int a, int b ){value=a+b; }float addValue ( int a, int b) {return (float)(a+b);}C) int addValue( int a, int b ){return a+1;}int addValue ( int a, int b) {return a+b;}D) int addValue( int a, int b ) {return a+b;}int addValue ( int x, int y ) {return x+y;}9、下列说法哪个是正确的?(C)A) 子类不能定义和父类同名同参数的方法B) 子类只能继承父类的方法,而不能重载C) 重载就是一个类中有多个同名但有不同形参和方法体的方法D) 子类只能覆盖父类的方法,而不能重载10、对于下列代码:public class Parent {public int addValue( int a, int b) {int s;s = a+b;return s;}}class Child extends Parent {}下述哪个方法不可以加入类Child? (B)A) public int addValue( int a, int b,int c ){// do something...}B) public void addV alue (int a, int b ){// do something...}C) public int addValue( int a ){// do something...}D) public int addValue( int a, int b ) {//do something...}11、以下程序段输出结果的是(B)public class A implements B {public static void main(String args[]) {int i;A c1 = new A();i= c1.k;System.out.println("i="+i);}}interface B {int k = 10;}A) i=0 B) i=10 C) 程序有编译错误D) i=true12、阅读下面的程序,输出结果是(B)public class TestDemo {int m=5;public void some(int x) {m=x;}public static void main(String args []) {new Demo().some(7);}}class Demo extends TestDemo {int m=8;public void some(int x) {super.some(x);System.out.println(m);}}A) 5 B) 8 C) 7 D) 编译错误13、下述哪个说法是不正确的?(A)A) 局部变量在使用之前无需初始化,因为有该变量类型的默认值B) 类成员变量由系统自动进行初始化,也无需初始化C) 参数的作用域就是所在的方法D) for语句中定义的变量,当for语句执行完时,该变量就消亡了14、下述那一个保留字不是类及类成员的访问控制符。
java 面向对象 练习题
java 面向对象练习题Java面向对象练习题Java作为一种面向对象的编程语言,其强大的特性和灵活的语法使其成为了众多开发者的首选。
而掌握面向对象的思想和技巧对于Java程序员来说是至关重要的。
为了帮助大家更好地理解和应用Java的面向对象编程,下面将给出一些面向对象练习题,希望能对大家的学习和实践有所帮助。
练习题一:学生信息管理系统设计一个学生信息管理系统,要求包含以下功能:1. 添加学生信息:包括学生姓名、学号、性别、年龄等信息;2. 查询学生信息:根据学号或姓名查询学生信息;3. 修改学生信息:根据学号修改学生的姓名、性别、年龄等信息;4. 删除学生信息:根据学号删除学生信息;5. 显示所有学生信息:按照学号的升序显示所有学生的信息。
在设计这个系统时,可以使用面向对象的思想,将学生信息封装成一个类,并在类中定义相应的方法来实现上述功能。
同时,可以使用集合类来存储学生对象,方便对学生信息的管理和操作。
练习题二:图书管理系统设计一个图书管理系统,要求包含以下功能:1. 添加图书信息:包括图书名称、作者、出版社、价格等信息;2. 查询图书信息:根据图书名称或作者查询图书信息;3. 修改图书信息:根据图书名称修改图书的作者、出版社、价格等信息;4. 删除图书信息:根据图书名称删除图书信息;5. 显示所有图书信息:按照图书名称的升序显示所有图书的信息。
同样地,可以使用面向对象的思想,将图书信息封装成一个类,并在类中定义相应的方法来实现上述功能。
同时,可以使用集合类来存储图书对象,方便对图书信息的管理和操作。
练习题三:银行账户管理系统设计一个银行账户管理系统,要求包含以下功能:1. 添加账户:包括账户姓名、账户号码、账户余额等信息;2. 存款:根据账户号码存入指定金额;3. 取款:根据账户号码取出指定金额;4. 查询余额:根据账户号码查询账户余额;5. 显示所有账户信息:按照账户号码的升序显示所有账户的信息。
《面向对象程序设计(Java)》经典编程集(共60题,含答案)
《面向对象程序设计(Java)》经典编程集(共60题,含答案)/*一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第5次落地时,共经过多少米?第5次反弹多高?*//*输出7*7口诀*//*求1+2!+3!+...+10!的和*//*有5个人坐在一起,问第五个人多少岁?他说比第4个人大3岁。
问第4个人岁数,他说比第3个人大3岁。
问第三个人,又说比第2人大3岁。
问第2个人,说比第一个人大3岁。
最后问第一个人,他说是10岁。
请问第五个人多大? *//*求0--7所能组成的6位的奇数个数是多少个*//*有1、2、3、4、5、6、7、8、9个数字,能组成多少个互不相同且无重复数字的四位数?程序分析:可填在千位、百位、十位、个位的数字都是1、2、3、4、5、6、7、8、9。
组成所有的排列后再去掉不满足条件的排列。
*//*一个整数,它加上1000后是一个完全平方数,再加上1680又是一个完全平方数,请问该数是多少?程序分析:在10万以内判断,先将该数加上1000后再开方,再将该数加上2680后再开方,如果开方后的结果满足如下条件,即是结果。
请看具体分析*//*利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,80-89分之间的用B表示,70-79分之间的用C表示,60-69分之间用D表示,60分以下的用E表示。
(假定输入数字为95,判断等级)*//*题面:编写程序解决如下问题,小明有五本新书,要借给A,B,C三位小朋友,若每人每次只能借一本,求可以有多少种不同的借法?将结果打印输出*//*题面:编写程序解决如下问题,某人将一缸金鱼分5次出售,第一次卖出全部的一半加二分之一条;第二次卖出余下的三分之一加三分之一条;第三次卖出余下的四分之一加四分之一条;第四次卖出余下的五分之一加五分之一条;最后卖出余下的11条。
问原来的鱼缸中共有几条金鱼?将结果打印输出*//*题面:编写程序,一个自然数的七进制表达式是一个三位数,而这个自然数的九进制表示也是一个三位数,且这两个三位数的数码正好相反,求这个三位数,以十进制输出。
java面向对象程序设计练习题(有答案)
满分:100 分姓名:班级:学号:1. 填空题 ( 5.0 分 )面向对象三大特征______ ______ ______正确答案:封装继承多态2. 填空题 ( 5.0 分 )使用static 修饰的变量称为静态变量,静态变量可以有两种访问方式,分别是对象名.静态变量名和______正确答案:类名.静态变量名3. 单选题 (4.0 分 )下面关于java 中类的说法哪个是不正确的A. 构造函数是类中的特殊方法B. 类一定要声明为public 的,才可以执行C. 在软件设计中,类,就是一个模板,它定义了通用于一个特定种类的所有对象的属性(变量)和行为(方法)D. 一个java 文件中可以有多个class 定义(但只能有一个public 修饰的类)正确答案:B4. 单选题 ( 4.0 分 )关于类中可以包含的内容,如下说法错误的是()A. 类中可以包含属性和方法B. 类中可以直接包含代码块C. 类中可以嵌套定义类D. 类中不能包含其他类正确答案:D5. 单选题 ( 4.0 分 )构造方法是否可被重写和重载()A. 不能重写,可以重载B. 可以重写,不能重载C. 不能重写,不能重载D. 可以重写,可以重载正确答案:A6. 单选题 ( 4.0 分 )关于封装的好处,以下错误的是()A. 隐藏实现的细节B. 方便修改的实现C. 只能通过规定方法访问D. 实现代码复杂化正确答案:D7. 单选题 ( 4.0 分 )在Java 中,下面描述正确的是()A. 一个子类可以有多个父类,一个父类也可以有多个子类B. 一个子类可以有多个父类,但一个父类只可以有一个子类C. 一个子类只可以有一个父类,但一个父类可以有多个子类D. 以上说法都不对正确答案:C8. 单选题 ( 4.0 分 )Java 语言的类间的继承关系是A. 多重的B. 单继承C. 线程的D. 不能继承正确答案:B9. 单选题 ( 4.0 分 )以下关于this 和super 关键字的说法错误的是()A. this 关键字指向当前对象自身,super 关键字指向当前对象的直接父类B. 在main 方法中可以存在this 或者super 关键字,但不能同时存在。
《JAVA面向对象程序设计》练习题-参考答案
《JA V A语言程序设计》练习题1一、单选择题1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。
A. .javaB. .classC. .htmlD. .exe2、设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x 的值是( )。
A. 3B. 3. 5C. 4D. 53、不允许作为类及类成员的访问控制符的是( )。
A. publicB. privateC. staticD. protected4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。
A. static void method( )B. public void method( )C. final void method( )D. abstract void method( )5、给定java 代码如下,编译运行后,输出结果是( )(选择一项)。
public class test {static int i;public int aMethod() {i++;return i;}public static void main (String args[]) {Test test=new Test() ;test.aMethod () ;System.out.println (test.aMethod()) ;} }a) 0 b) 1 c) 2 d) 3二、填空题1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、编译生成字节码和解释运行字节码。
2、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用2字节内存空间,这样,无论是中文字符还是英文字符,都是占用2字节内存空间。
3、设x = 2 ,则表达式( x + + )/3 的值是0 。
Java面向对象程序设计练习题
Java面向对象程序设计练习题【练习题】01.类的成员变量猜数字游戏一个类A有一个成员变量v有一个初值100。
定义一个类对A类的成员变量v进行猜。
如果大了则提示大了小了则提示小了。
等于则提示猜测成功。
【练习题】02.类的成员变量请定义一个交通工具(Vehicle)的类其中有:属性速度(speed)体积(size)等等方法移动(move())设置速度(setSpeed(intspeed))加速speedUp(),减速speedDown()等等.最后在测试类Vehicle中的main()中实例化一个交通工具对象并通过方法给它初始化speed,size的值并且通过打印出来。
另外调用加速减速的方法对速度进行改变。
【练习题】03.类的成员变量与方法、构造方法在程序中经常要对时间进行操作但是并没有时间类型的数据。
那么我们可以自己实现一个时间类来满足程序中的需要。
定义名为MyTime的类其中应有三个整型成员时hour 分minute秒second为了保证数据的安全性这三个成员变量应声明为私有。
为MyTime类定义构造方法以方便创建对象时初始化成员变量。
再定义diaplay方法用于将时间信息打印出来。
为MyTime类添加以下方法addSecond(intsec)addMinute(intmin)addHour(inthou)subSecond(intsec)subMinute(in tmin)subHour(inthou)分别对时、分、秒进行加减运算。
【练习题】04.构造方法编写Java程序模拟简单的计算器。
定义名为Number 的类其中有两个整型数据成员n1和n2应声明为私有。
编写构造方法赋予n1和n2初始值再为该类定义加addition、减subtration、乘multiplication、除division等公有成员方法分别对两个成员变量执行加、减、乘、除的运算。
在main方法中创建Number类的对象调用各个方法并显示计算结果。
面向对象程序设计(Java)期末试卷
昆明理工大学《面向对象程序设计(Java)》期末试卷年级:专业:姓名:一、单项选择题(每小题2分,共30分)1.下列不是JAVA的关键字的是( )。
A.constB.nullC.falseD.this2. 在编写异常处理的Java程序中,每个catch语句块都应该与( )语句块对应,使得用该语句块来启动Java的异常处理机制。
A.if-elseB.switchC.tryD.Throw3.在编写Java Application程序时,若需要使用到标准输出语句,必须在程序的开头写上的语句是:( )A.import java:awt.*B.import java:applet.AppletC.import java:io.*D.import java:awt.Graphics4. 编译一个自定义一类,提示:jav(A):lang. NoSuchMethodError;最有可能的错误原因是( )。
A.变量没有找到B.没有引入某个包或者引入的包的版本不对C.编译环境设置不正确D.包路径名不正确5.设a = 3,则表达式a<<a的值为:( )。
A.16B.8C.24D.126.编译一个自定义一类,提示:ng. NoSuchMethodError;最有可能的错误原因是( )。
A.变量没有找到B.没有引入某个包或者引入的包的版本不对C.编译环境设置不正确D.包路径名不正确7.下列叙述错误的是:( )。
A.父类不能替代子类B.子类能够替代父类C.子类继承父类D.父类包含子类8.在下述Java语言语句中,错误的创建数组的方法是( )。
A.int intArray [ ]; intArray=new int[5];B.int intArray [ ]=new int[5];C.int [ ] intArray ={1,2,3,4,5};D.int intArray [5]={1,2,3,4,5};9.Java应用程序中,程序执行的总入口方法是:( )A.init()B.start()C.run()D.main()10.构造ArrayList类的一个实例,下面哪个方法是正确的:( )A.ArrayList myList = newObject();B.ArrayList myList = newArrayList();C.myList = newObject();D.myList=new ArrayList();11.表达式:(x>y)? w:z:(其中x=5,y=9,z=1,w=9)的值为:( )A.5B.8C.1D.912.字符串是Java已定义的类型,关于它的构造函数,下面不正确的是:( )A.String(char[] value, int offset, intcount);B.String(int[] codePoints, int offset,int count);C.String(Stringoriginal);D.String(StringBuffer buffer);13.指出正确的表达式:( )A.byte=128;B.Boolean=null;C.long l=0xfffL;D.double=0.9239d;14.要从文件" file.dat"文件中读出第10个字节到变量C中,下列哪个方法适合?( )A.FileInputStream in=newFileInputStream("file.dat"); in.skip(9); int c=in.read();B.FileInputStream in=newFileInputStream("file.dat"); in.skip(10); intc=in.read();C.FileInputStream in=newFileInputStream("file.dat"); int c=in.read();D.RandomAccessFile in=newRandomAccessFile("file.dat"); in.skip(9); intc=in.readByte();15.编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )A.javaB.classC.htmlD.exe二、判断题(对的打“√”,错的打“×”,每小题2分,共20分)16.一个JAVA类可以有多个父类。
面向对象程序设计JAVA试题
面向对象程序设计JAVA试题一、单项选择题(共10题,每题2分,共20分)1.以下哪个选项是正确的Java访问修饰符?A. PublicB. PrivateC. FinalD. Static2.在Java中,接口可以实现多继承的目的吗?A. 是的B. 不是3.以下哪个关键字用于创建Java对象的实例?A. NewB. InstanceC. CreateD. Object4.Java中的构造方法有什么特点?A. 与类名相同B. 可以有返回类型C. 可以被继承D. 可以被私有化5.下面的代码在Java中是什么类型的声明?```String[] names = new String[5];```A. 变量声明B. 方法声明C. 类声明D. 接口声明6.Java中的继承关系是如何表示的?A. 通过extends关键字B. 通过implements关键字C. 通过super关键字D. 通过this关键字7.Java中的多态是指什么?A. 同一个对象可以引用不同类型的实例B. 同一个对象可以有不同的方法C. 同一个对象可以有多个实例D. 同一个对象可以有多个子类8.以下哪个选项是Java中的关键字?A. StringB. IntegerC. BooleanD. Final9.Java中的封装是什么意思?A. 隐藏对象的实现细节B. 创建新的对象类型C. 允许对象进行通信D. 限制对象的访问权限10.Java中的抽象类和接口有什么区别?A. 抽象类可以实现方法,接口不能B. 抽象类可以被实例化,接口不能C. 抽象类可以继承多个类,接口只能继承一个D. 抽象类可以有变量,接口不能二、编程题请写一个Java程序,实现一个学生管理系统。
要求有以下功能:1. 添加学生信息(包括学号、姓名、性别、年龄、成绩等字段)2. 修改学生信息3. 删除学生信息4. 查询学生信息5. 统计学生数量6. 按照成绩排序学生信息三、综合题某公司需要开发一个员工管理系统,你被指派为项目经理,请设计一个基于面向对象的Java程序,实现以下功能:1. 添加员工信息(包括员工号、姓名、性别、年龄、职务等字段)2. 修改员工信息3. 删除员工信息4. 查询员工信息5. 统计员工数量6. 按照年龄排序员工信息请按照上述要求编写你的Java程序,并确保程序的可读性和可维护性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
public class B{ public static void main(String[] args){ } } (A)只有 B.class 文件 (B)只有 A1.class 和 A2.class 文件 (C)编译不成功 (D)A1.class、A2.class 和 B.class 文件 11.下列( )是合法的标识符? (A)12class (B)void (C)-5 (D)_blank 12.下列( )不是 Java 中的保留字? (A)if (B)sizeof (C)private (D)null 13.下列( )不是合法的标识符? (A)$million (B)$_million (C)2$_million (D)$2_million 14.下列选项中, ( )不属于 Java 语言的基本数据类型? (A)整数型 (B)数组 (C)浮点型 (D)字符型 15.下列关于基本数据类型的说法中,不正确的一项是( ) 。 (A)boolean 类型变量的值只能取真或假 (B)float 是带符号的 32 位浮点数 (C)double 是带符号的 64 位浮点数 (D)char 是 8 位 Unicode 字符 16.下列关于基本数据类型的取值范围的描述中,正确的一个是( ) 。 (A)byte 类型的取值范围是-128~128 (B)boolean 类型的取值范围是真或假 (C)char 类型的取值范围是 0~65536 ( D ) short 类 型 的 取 值 范 围 是 -32767 ~ 32767 17.下列关于 Java 语言简单数据类型的说法中,正确的一项是( ) 。 (A)以 0 开头的整数代表 8 进制整型常量 (B)以 0x 或 0X 开头的整数代表 8 进制整型常量 (C)boolean 类型的数据作为类成员变量的时候,相同默认的初始值为 true (D)double 类型的数据占计算机存储的 32 位 18.下列 Java 语句中,不正确的一项是( ) 。 (A)int e, a, b = 10; (B)char c, d = ‘a’; (C)float e = 0.0d; (D)double c = 0.0f; 19.在编写 Java 程序时,如果不为类的成员变量定义初始值,Java 会给出它们的默认值, 下列说法中不正确的一个是( ) 。 (A)byte 的默认值是 0 (B)boolean 的默认值是 false (C)char 类型的默认值是’\0’ (D)long 类型的默认值是 0.0L 20.下列语句中不正确的一个是( ) 。 (A)float f = 1.1f; (B)byte b = 128; (C)double d = 1.1/0.0; (D)char c = (char)1.1f; 21.下列表达式 1+2+ "aa"+3 的值是( ) 。 (A)"12aa3" (B)"3aa3 " (C)"12aa" (D)"aa3" 22.已知 y=2, z=3, n=4,则经过 n=n+ -y*z/n 运算后 n 的值为( ) 。 (A)3 (B)-1 (C)-12 (D)-3 33.已知 a=2, b=3,则表达式 a%b*4%b 的值为( ) 。 (A)2 (B)1 (C)-1 (D)-2
2
24.已知 x=2, y=3, z=4,则经过 z- = --y – x--运算后,z 的值为( ) 。 (A)1 (B)2 (C)3 (D)4 25.表达式(12==0) && (1/0 < 1)的值为( ) 。 (A)true (B)false (C)0 (D)运行时抛出异常 26.设有类型定义 short i=32; long j=64; 下面赋值语句中不正确的一个是( ) (A)j=i; (B)i=j; (C)i=(short)j; (D)j=(long)i; 27.现有 1 个 char 类型的变量 c1=66 和 1 个整型变量 i=2,当执行 c1=c1+(char)i;语句后,c1 的值为( ) 。 (A)'d' (B)'D' (C)68 (D)语句在编译时出错 28.下列说法中,正确的一项是( ) 。 (A)字符串"\\abcd" 的长度为 6 (B)False 是 Java 的保留字 (C)123.45L 代表单精度浮点型 (D)False 是合法的 Java 标识符 29.以下的变量定义语句中,合法的是( ) (A)float _*5 = 123.456F; (B)byte $_b1 = 12345; (C)int _long_ = 123456L; (D)double d = Double.MAX_VALUE; 30.下列关于运算符优先级的说法中,不正确的一个是( ) (A)运算符按照优先级顺序表进行运算 (B)同一优先级的运算符在表达式中都是按照从左到右的顺序进行运算的 (C)同一优先级的运算符在表达式中都是按照从右到左的顺序进行运算的 (D)括号可以改变运算的优先次序 31.下列( )不属于 Java 语言流程控制结构? (A)分支语句 (B)跳转语句 (C)循环语句 (D)赋值语句 32.假设 a 是 int 类型的变量,并初始化为 1,则下列( )是合法的条件语句? (A)if(a){} (B)if(a<<=3){} (C)if(a=2){} (D)if(true){} 33.下列说法中,不正确的一个是( ) 。 (A)switch 语句的功能可以由 if…else if 语句来实现 (B)若用于比较的数据类型为 double 型,则不可以用 switch 语句来实现 (C)if …else if 语句的执行效率总是比 switch 语句高 (D)case 子句中可以有多个语句,并且不需要大括号{}括起来 34.设 a、b 为 long 型变量,x、y 为 float 型变量,ch 为 char 类型变量且它们均已被赋值, 则下列语句中正确的是( ) 。 (A)switch(x+y) {} (B)switch(ch+1) {} (C)switch ch {} (D)switch(a+b); {} 35.下列ቤተ መጻሕፍቲ ባይዱ环体执行的次数是( ) 。 int y=2, x=4; while(--x != x/y){ } (A)1 (B)2 (C)3 (D)4 36.下列循环体执行的次数是( ) 。 int x=10, y=30; do{ y -= x; x++; }while(x++<y--); (A)1 (B)2 (C)3 (D)4 37.已知如下代码: switch(m){ case 0: System.out.println("Condition 0");
3
case 1: System.out.println("Condition 1"); case 2: System.out.println("Condition 2"); case 3: System.out.println("Condition 3");break; default:System.out.println("Other Condition"); } 当 m 的值为( )时,输出“Condition 3” (A)2 (B)0、1 (C)0、1、2 (D)0、1、2、3 38.下列哪种类成员修饰符修饰的变量只能在本类中被访问?( ) (A)protected (B)public (C)default (D)private 39.在 Java 语言中,哪一个包中的类是自动导入的?( ) A)ng B)java.awt C)java.io D)java.applet 40.给出下面的程序代码: public class X4_1_3 { private float a; public static void m ( ){ } } 如何使成员变量 a 被方法 m( )访问( ) (A)将 private float a 改为 protected float a(B)将 private float a 改为 public float a (C)将 private float a 改为 static float a (D)将 private float a 改为 float a 41.有一个类 B,下面为其构造方法的声明,正确的是( ) 。 (A)void B(int x) {} (B)B(int x) {} (C)b(int x) {} (D)void b(int x) {} 42.下面关于类的说法,不正确的是( ) 。 (A)类是同种对象的集合和抽象 (B)类属于 Java 语言中的复合数据类型 (C)类就是对象 (D)对象是 Java 语言中的基本结构单位 43.下面关于方法的说法,不正确的是( ) 。 (A)Java 中的构造方法名必须和类名相同 (B)方法体是对方法的实现,包括变量声明和合法语句 (C)如果一个类定义了构造方法,也可以用该类的默认构造方法 (D)类的私有方法不能被其他类直接访问 44.关于内部类,下列说法不正确的是( ) 。 (A)内部类不能有自己的成员方法和成员变量 (B)内部类可用 private 或 protected 修饰符修饰 (C)内部类可以作为其他类的成员,而且可访问它所在的类的成员 (D)除 static 内部类外,不能在类内声明 static 成员 45.定义外部类时不能用到的关键字是( ) 。 (A)final (B)public (C)protected (D)abstract 46.为 AB 类定义一个无返回值的方法 f,使得使用类名就可以访问该方法,该方法头的形 式为( ) (A)abstract void f() (B)public void f() (C)final void f() (D)static void f() 47.定义一个公有 double 型常量 PI,哪一条语句最好?( ) (A)public final double PI; (B)public final static double PI=3.14; (C)public final static double PI; (D)public static double PI=3.14;