Java面向对象程序设计单元测试卷三

合集下载

Java面向对象测试

Java面向对象测试

Java面向对象测试Java基础知识单元测试一、选择题(30分)1.下列程序段执行后的输出结果为()int x=3;int y=10;System.out.println(y%x);A.0B.1C.2D.32.下列程序的输出结果是()public class Test{void printValue(int m){do {System.out.println("The value is"+m); }while(--m > 10 );}public static void main(String arg[]){int i=10;Test t= new Test();t.printValue(i);}}A.8B.9C.10D.1133.执行完语句int []x = new int[25];后,则下列哪项说法是正确的()A.x[24]值为0B.x[24]值未定义C.x[25]值为0D.x[0]值为空4.下列哪个选项是合法的标识符()A)123B)_nameC)classD)1first5.下列的哪个赋值语句是不正确的()A)float f = 11.1;B)double d = 5.3E12;C)float d = 3.14f ;D)double f=11.1E10f;6.下列关于继承的哪项叙述是正确的?()A)在java中允许多继承B)在java中一个类只能实现一个接口C)在java中一个类不能同时继承一个类和实现一个接口D)java的单一继承使代码更可靠7.有一个类A,对于其构造函数的声明正确的是( )。

A)void A(int x){...} B)A(int x){...}C)A A(int x){...} D)int A(int x){...}8.一个可以独立运行的Java应用程序( ) **A、可以有一个或多个main方法B、最多只能有两个main方法C、可以有一个或零个main方法D、只能有一个main方法9.以下对Java中对数组的声明正确的是()**A int [] sample;B int sample[]C int () sample;D int sample();10.设int x = 3 , y = 2 , z = 5;则表达式y+=z--/++x 的值是( )。

《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面向对象试卷及答案汇总

java面向对象程序设计系班级姓名成绩A.没有区别,这两个结构任何情况下效果一样B.while循环比do…while循环执行效率高C.do…while循环执行次数可能为0D.while循环执行次数可能为06.关于for循环和while循环的说法哪个正确?()A.while循环先判断后执行,for循环先执行后判断。

B.while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果C.两种循环任何时候都不可以替换D.两种循环结构中都必须有循环体,循环体不能为空7.下列修饰符中与访问控制无关的是()A.private B.publicC.protected D.final8.方法内的形参:()A.必须定义多个形参B.可以没有C.至少有一个D.只能是简单变量9.throws的作用:()A.表示方法可能会抛出例外B.表示后面是方法的输出量C.方法的标志,每个方法都必须有D.没有意义10.在Java语言中,整型常量123占用的存储字节数是:()A.1B.2C.4 D.811.关于对象成员占用内存的说法哪个正确?()A.同一个类的对象共用同一段内存B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间C.对象的方法不占用内存D.以上都不对12.return语句:()A.只能让方法返回数值B.方法都必须含有C.方法中可以有多句return D.不能用来返回对象13.下列说法哪个正确?()A、一个程序可以包含多个源文件B、一个源文件中只能有一个类C、一个源文件中可以有多个公共类D、一个源文件只能供一个程序使用14.关于方法main()的说法哪个正确?()A.方法main()只能放在公共类中B.main()的头定义可以根据情况任意更改C.一个类中可以没有main()方法D.所有对象的创建都必须放在main()方法中15.构造函数何时被调用?()A、创建对象时B、类定义时C、使用对象的方法时D、使用对象的属性时16.抽象方法:()A、可以有方法体B、可以出现在非抽象类中C、是没有方法体的方法D、抽象类中的方法都是抽象方法17.关于继承的说法正确的是:()A、子类将继承父类所有的属性和方法。

(完整版)Java程序设计习题附答案(三)

(完整版)Java程序设计习题附答案(三)

第三部分面向对象程序设计1、引用数据种类变量拥有基本属性为( A 、变量名 B、数据种类ABCD )C、储存单元D、变量值。

2、面向对象技术的特征是(ACD )A 、继承性B 、有效性C、多态性3、以下哪个命题为真?(C)D 、封装性。

A、全部类都一定定义一个结构函数。

B、结构函数一定有返回值。

C、结构函数能够接见类的非静态成员。

D、结构函数一定初始化类的全部数据成员。

4、对于子类与父类关系的描绘正确的选项是(ACD )A、子种类的数据能够隐式变换为其父种类的数据;B、父种类的数据能够隐式变换为其子种类的数据;C、父种类的数据一定经过显示种类变换为其子种类的数据;D、子种类实例也是父种类的实例对象。

5、以下哪一项说法最好地描绘了Java 中的对象?( C)A 、对象是经过import 命令引入到程序中的全部事情B、对象是方法的会合,这些方法在小程序窗口或应用程序窗口中产生图形元素,或许计算和返回值C、对象是一种数据结构,它拥有操作数据的方法D、对象是一组拥有共同的结构和行为的类6、下边哪个重点字不是用来控制对类成员的接见的?(C)A 、 public B、 protected C、 default D、 private7、 Java 语言正确的常量修饰符应当是(D)A 、 final B、 static final C、 static D、 public static final ;8、接口的全部成员域都拥有public、static和final属性。

9、接口的全部成员方法都拥有public和abstract属性。

10、编译以下源程序会获得哪些文件?(C)class A1{}class A2{}public class B{public static void main(String args[]){}}A) 只有B)只有 A1.class 和 A2.class 文件C)有、 A2.class 和 B.class 文件D)编译不行功11、以下哪一种说法是正确的?( A )A、私有方法不可以被子类覆盖。

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)三个类。

JAVA程序设计单元测试三与答案

JAVA程序设计单元测试三与答案

一、单选题1、关于Java集合类框架的基本接口,下列说法错误的是()。

A.Map可以把键(key)映射到值(value)的对象,键不能重复。

B.List是有顺序的Collection,不可以包含重复元素。

C.Set不包含重复元素的Collection。

D.Collection代表一组对象,每一个对象都是它的子元素。

正确答案:B2、()集合类不能提供对元素的随机访问。

A.HashMapB.HashTableC.TreeMapD.LinkedList正确答案:D3、关于Iterator和ListIterator,说法错误的是()。

A.ListIterator从Iterator接口继承,然后添加了一些额外的功能,比如添加一个元素、替换一个元素、获取前面或后面元素索引位置。

B.Iterator只能遍历Set集合。

C.Iterator只可以向后遍历,而ListIterator可以双向遍历。

D.ListIterator只能遍历List。

正确答案:B4、关于Array和ArrayList的区别,下列说法不正确的是()。

A.ArrayList在任何场景都比Array好用,可以完全替代Array。

B.Array是指定大小的,而ArrayList大小是不固定的。

C.Array没有提供ArrayList那么多功能,比如addAll、removeAll和iterator等。

D.Array可以容纳基本类型和对象,而ArrayList只能容纳对象。

正确答案:A5、关于Java集合框架的优势,下面说法错误的是()。

A.复用性和可操作性。

B.通过使用JDK附带的集合类,可以降低代码维护成本。

C.随着使用经过严格测试的集合框架类,代码质量会得到提高。

D.使用核心集合类降低开发成本,但是要尽可能的实现我们自己的集合类。

正确答案:D6、异常指的是下列哪种情况?()A.程序中的语法错误B.程序事先定义好的可能出现的意外情况C.程序运行过程中发生的不正常现象,它将中断指令的正常进行D.程序的编译错误正确答案:C7、运行以下代码:public class RTExcept{public static void throwit ( ){System.out.print(“throwit ”);throw new RuntimeException( );}public static void main(String[] args){try{System.out.print(“hello ”);throwit( );}catch (Exception re ){System.out.print(“caught ”);}finally{System.out.print(“finally ”);}System.out.println(“after ”);}}运行结果是()。

java面向对象考题和答案

java面向对象考题和答案

1.下面代码的输出结果是:public class Main {public static void main(String[] args) { int n = 100;int m = 200;System.out.println(f(n,m));System.out.println(n);}public static int f(int m, int n) {n = m+n;return n;}}A.300300B.100100C.300100D.1003002.程序执行的结果是:public class Test {public static void main(String[] args) {int x = 6;Test p = new Test();p.doStuff(x);System.out.println(" main: x = " + x); }void doStuff(int x) {System.out.println(" doStuff:x =" + x++); }}A.doStuff:x =7main: x = 7B.doStuff:x =7main: x = 6C.doStuff:x =6main: x = 7D.doStuff:x =6main: x = 63.下列关于JVM的内存结构描述正确的是:A.类的各种信息在方法区中保存B.堆用于存放程序运行过程当中所有的局部变量C.栈用于存储使用new关键字创建的对象D.数组属于JVM的内存结构4.下列代码的输出结果是:public class Test {public void print(char c) {System.out.println("c");}public void print(int i) {System.out.println("i");}public void print(double d) {System.out.println("d");}public void print(String s) {System.out.println("s");}public static void main(String[] args) { Test test=new Test();test.print('5');}}A.cB.iC.dD.s5.程序执行的结果是:public class Test {String name="Tom";public Test(String name){name=name;}public static void main(String [] args){ Test t = new Test("Jack");System.out.println();}}A.nullB.TomC.JackD." "6.关于构造方法,下列说法错误的是:A.构造方法不可以进行方法重写B.构造方法用来实例化一个新的对象C.构造方法具有和类名相同的名称D.构造方法不返回任何数据类型7.关于 Java 中继承的特点,下列说法正确的是:A.使类的定义复杂化B.Java 只支持单继承,不可多继承,但可以通过实现接口来达到多继承的目的C.子类继承父类的所有成员变量和方法,包括父类的构造方法D.不可以多层继承,即一个类不可以继承另一个类的子类8.下列代码运行的结果是:class Foo {public int a;public Foo() {a = 3;}public void addFive() {a += 5;}}class Bar extends Foo {public int a;public Bar() {a = 8;}public void addFive() {this.a += 5;}}public class TestFoo {public static void main(String[] args) {Foo foo = new Bar();foo.addFive();System.out.println("Value: " + foo.a);}}A.Value: 3B.Value: 8C.Value: 13D.Value: 189.下列代码编译和运行的结果是:class Person {String name = "No name";public Person(String nm) {name = nm;}}class Employee extends Person {String empID = "0000";public Employee(String id) {empID = id;}}public class EmployeeTest {public static void main(String[] args) {Employee e = new Employee("4321");System.out.println(e.empID);}}A.输出:0000B.输出:4321C.代码public Employee(String id) {行,出现编译错误D.抛出运行时异常10.下列代码的运行结果是:public class Animal {public String noise() {return "peep";}public static void main(String[] args) {Animal animal = new Dog();Cat cat = (Cat)animal;System.out.println(cat.noise());}}class Dog extends Animal {public String noise() {return "bark";}}class Cat extends Animal {public String noise() {return "meow";}}A.peepB.barkC.meowD.抛出运行时异常11.下列代码编译和运行的结果是:public class A {public void start() {System.out.println("TestA");}}public class B extends A {public void start() {System.out.println("TestB");}public static void main(String[] args) {( (A) new B( ) ).start();}}A.输出:TestAB.输出:TestBC.输出:TestA TestBD.编译错误12.请看下列代码:class One {void foo() {}}class Two extends One {// insert method here}下列选项中的代码,放置在<插入代码>处无编译错误的是: A.int foo() { /* more code here */ }B. protected void foo() { /* more code here */ }C. public void foo() { /* more code here */ }D. private void foo() { /* more code here */ }13.下列选项中,不属于Java 的访问修饰符的是:A.privateB.protectedC.friendlyD.public14.下列代码的输出结果是:class Foo {private int x;public Foo(int x) {this.x = x;}public void setX(int x) {this.x = x;}public int getX() {return x;}}public class Gamma {static Foo fooBar(Foo foo) {foo = new Foo(100);return foo;}public static void main(String[] args) {Foo foo = new Foo(300);System.out.print(foo.getX() + "-");Foo fooFoo = fooBar(foo);System.out.print(foo.getX() + "-");System.out.print(fooFoo.getX() + "-");foo = fooBar(fooFoo);System.out.print(foo.getX() + "-");System.out.print(fooFoo.getX());}}A.300-100-100-100-100B.300-300-100-100-100C.300-300-300-100-100D.300-300-300-300-10015.下列代码运行的结果是:public class Base {public static final String FOO = "foo";16.class Sub extends Base {public static final String FOO = "bar";}public static void main(String[] args) {Base b = new Base();Sub s = new Sub();System.out.print(Base.FOO);System.out.print(Sub.FOO);System.out.print(b.FOO);System.out.print(s.FOO);System.out.print(((Base) s).FOO);}}A.foofoofoofoofooB.foobarfoobarbarC.foobarfoofoofooD.foobarfoobarfoo16.关于下列代码说法正确的是:public class ItemTest {private final int id;public ItemTest(int id) {this.id = id;}public void updateId(int newId) {id = newId;}public static void main(String[] args) {ItemTest fa = new ItemTest(42);fa.updateId(69);System.out.println(fa.id);}}A.编译错误B.运行时抛出异常C.运行后,fa对象属性id的值没有改变,应然是42D.运行后,fa对象属性id的值改变成新的值6917.请看下列代码编译和运行的结果是:public class Student {private String name="sun";public static void main(String[] args) {Student[] students=new Student[2];System.out.println(students[0].name);System.out.println(students.length);}}A.sun 2B.null 2C.null 1D.运行时抛出NullPointerException异常18.下列代码的输出结果是:abstract class Vehicle {public int speed() {return 0;}}class Car extends Vehicle {public int speed() {return 60;}}class RaceCar extends Car {public int speed() {return 150;}}public class TestCar {public static void main(String[] args) {RaceCar racer = new RaceCar();Car car = new RaceCar();Vehicle vehicle = new RaceCar();System.out.println(racer.speed() + ", " + car.speed() + ", " + vehicle.speed());}}A.0, 0,0B.150, 60, 0C.150, 150, 150D.抛出运行时异常19.请看下列代码:public abstract class Employee {protected abstract double getSalesAmount();public double getCommision() {return getSalesAmount() * 0.15;estA() {}}class Sales extends Employee {<插入代码>}在<插入代码>处填入的方法正确的是:A.double getSalesAmount() { return 1230.45; }B.public double getSalesAmount() { return 1230.45; }C.private double getSalesAmount() { return 1230.45; }D.protected double getSalesAmount() { return 1230.45; }20.关于下列代码说法正确的是:public interface A {public void doSomething(String thing);}public class AImpl implements A {public void doSomething(String msg) {}}public class B {public A doit() {return null;}public String execute() {return null;}}public class C extends B {public AImpl doit() {return null;}public Object execute() {return null;}}A. 所有类和接口都编译成功B.类B编译失败C.类Aimpl编译失败D.类C编译失败21.关于下列代码说法正确的是:interface A {public void aMethod();}interface B {public void bMethod();}interface C extends A, B {public void cMethod();}class D implements B {public void bMethod() {}}class E extends D implements C {public void aMethod() {}public void bMethod() {}public void cMethod() {}}A.编译失败B.如果定义D e = new E();, 那么 e.bMethod();调用D类的bMethod()方法C.如果定义D e = (D)(new E());, 那么 e.bMethod();调用D类的bMethod()方法D.如果定义D e = (D)(new E());, 那么 e.bMethod();调用E类的bMethod()方法22.请看下列代码:public class UserRequest {public void request(ServletAction action) {action.doService();}public static void main(String[] args) {UserRequest user = new UserRequest();user.request(new ServletAction() {public void doService() {System.out.println("处理请求");}});}}如果上述代码采用回调模式编写,下列关于ServletAction的定义正确的是:A. public static class ServletAction {public void doService();}B.public final class ServletAction {public void doService();}C.public class ServletAction {public void doService();}D. public interface ServletAction {public void doService();}23.下列代码运行的结果是:public class Hello {String title;int value;public Hello() {title += "World";}public Hello(int value) {this.value = value;title = "Hello";}public static void main(String[] args) { Hello c = new Hello(5);System.out.println(c.title);}}A.HelloB. Hello WorldC. Hello World 5D.运行后无输出24.请看下列代码编译和运行的结果是:interface TestA {String toString();}public class Test {public static void main(String[] args) {System.out.println(new TestA() {public String toString() {return "test";}});}}A.输出:testB.输出:nullC.代码System.out.println(new TestA() {行,编译出错D.代码public String toString() {行,编译出错25.请看下列代码:1)public class Outer {2) void fn(int i) {3) class Inner {4) void print() {5) System.out.println(i);6) }7) }8) Inner in = new Inner();9) in.print();10) }11)}12)class Test {13) public static void main(String args[]){14) Outer out=new Outer();15) out.fn(100);16) }17)}关于上述代码说法正确的是:A.在第5行出现编译错误,fn方法的参数必须用final修饰B.在第3行出现编译错误,在方法的内部不能写类C.在第8行出现编译错误,在方法的内部不能实例化Inner类的对象D.运行代码,控制台输出1002,正确答案:D 3,正确答案:A 4,正确答案:A 5,正确答案:B6,正确答案:B 7,正确答案:B 8,正确答案:A 9,正确答案:C 10,正确答案:D11,正确答案:B 12,正确答案:BC 13,正确答案:C 14,正确答案:B 15,正确答案:D16,正确答案:A 17,正确答案:D 18,正确答案:C 19,正确答案:BD 20,正确答案:D22,正确答案:D 23,正确答案:A 24,正确答案:A 25,正确答案:A。

《Java面向对象程序设计》考试卷及答案带注释

《Java面向对象程序设计》考试卷及答案带注释

一、单选题(每小题1分,共30分)1.在MyEclipse中,()视图可以将项目中包含的文件及层次结构展示出来。

CA) Package B)Declaration C)Navigator D) Console2.下列标识符中,正确的是()。

CA)class B) 123_rr C) _lei D) test&123.下列的()选项可以正确用以表示八进制值8。

0x代表16进制,0代表8进制 D A)0x8 B)0x10 C)08 D)0104.以下哪个不是Java的原始数据类型()DA) int B) boolean C) float D) Char引用数据类型5.下列有关Java布尔类型的描述中,正确的是()AA)一种基本的数据类型,它的类型名称为booleanB)用int表示类型C)其值可以赋给int类型的变量D)有两个值,1代表真,0代表假6.在Java中,不属于整数类型变量的是( ) AA) double 浮点型B) long C) int D) byte7.以下do-while语句构成的循环执行次数是()。

Bint k=0;do { ++k ;}while(k<1);A) 一次也不执行B) 执行1次C) 无限次D) 有语法错误,不能执行8.表达式(1/0<1)&& (12==0) 的值为()。

逻辑运算结果只有true和false两种 BA) true B) false C) 0 D) 运行时抛出异常9.以下()表达式不可以作为循环条件 AA) i=5 B )i<3 C) count==i D) bEqual=str.equals("q") 10.下列数组初始化正确的是() DA) int score[5] = {90,12,34,77,56};B) int[5] score = new int[];C) int[] score = new int[5]{90,12,34,77,56};D) int score[] = new int[]{90,12,34,77,56};11.若有定义:byte[] x={11,22,33,-66};其中0≤k≤3,则对x数组元素错误的引用是() CA) x[5-3] B) x[k] C) x[k+5] D) x[0]12.以下代码的输出结果是()。

java面向对象考题和答案

java面向对象考题和答案

j a v a面向对象考题和答案(总14页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--1.下面代码的输出结果是:public class Main { public static void main(String[] args) { int n = 100;int m = 200; } public static int f(int m, int n) { n = m+n; return n; }}3001001003002.程序执行的结果是:public class Test { public static void main(String[] args) { int x = 6; Test p = new Test(); (x); " main: x = " + x); } void doStuff(int x) { " doStuff:x =" + x++); }}A.doStuff:x =7 main: x = 7:x =7 main: x = 6:x =6 main: x = 7:x =6 main: x = 63.下列关于JVM的内存结构描述正确的是:A.类的各种信息在方法区中保存B.堆用于存放程序运行过程当中所有的局部变量C.栈用于存储使用new关键字创建的对象D.数组属于JVM的内存结构4.下列代码的输出结果是:public class Test { public void print(char c) { "c"); } public void print(int i){ "i"); } public void print(double d) { "d"); } public void print(String s) { "s"); } public static void main(String[] args) { Test test=new Test(); ('5'); }}5.程序执行的结果是:public class Test { String name="Tom"; public Test(Stringname){ name=name; } public static void main(String [] args){ Test t = new Test("Jack"); }}D." "6.关于构造方法,下列说法错误的是:A.构造方法不可以进行方法重写B.构造方法用来实例化一个新的对象C.构造方法具有和类名相同的名称D.构造方法不返回任何数据类型7.关于 Java 中继承的特点,下列说法正确的是:A.使类的定义复杂化只支持单继承,不可多继承,但可以通过实现接口来达到多继承的目的C.子类继承父类的所有成员变量和方法,包括父类的构造方法D.不可以多层继承,即一个类不可以继承另一个类的子类8.下列代码运行的结果是:class Foo { public int a; public Foo() { a = 3; } public void addFive() { a +=5; }}class Bar extends Foo { public int a; public Bar() { a = 8; } public void addFive() { += 5; }}public class TestFoo { public static void main(String[] args) { Foo foo = new Bar(); (); "Value: " + ; }}: 3: 8: 13: 189.下列代码编译和运行的结果是:class Person { String name = "No name"; public Person(String nm){ name = nm; }}class Employee extends Person { String empID = "0000"; public Employee(String id) { empID = id; }}public class EmployeeTest { public static void main(String[] args) { Employee e = newEmployee("4321"); }}A.输出:0000B.输出:4321C.代码public Employee(String id) {行,出现编译错误D.抛出运行时异常10.下列代码的运行结果是:public class Animal { public String noise() { return "peep"; } public staticvoid main(String[] args) { Animal animal = new Dog(); Cat cat = (Cat)animal; }}class Dog extends Animal { public String noise() { return "bark"; }}class Cat extends Animal { public String noise() { return "meow"; }}A.peepD.抛出运行时异常11.下列代码编译和运行的结果是:public class A { public void start() { "TestA"); }}public class B extends A { public void start() { "TestB"); } public static void main(String[] args) { ( (A) new B( ) ).start(); }}A.输出:TestAB.输出:TestBC.输出:TestA TestBD.编译错误12.请看下列代码:class One { void foo() { }}class Two extends One { protected void foo() { /* more code here */ }C. public void foo() { /* more code here */ }D. private void foo() { /* more code here */ }13.下列选项中,不属于Java 的访问修饰符的是:14.下列代码的输出结果是:class Foo { private int x; public Foo(int x) { = x; } public void setX(int x) { =x; } public int getX() { return x; }}public class Gamma { static Foo fooBar(Foo foo) { foo = new Foo(100); return foo; } public static void main(String[] args) { Foo foo = new Foo(300); + "-"); Foo fooFoo =fooBar(foo); + "-"); + "-"); foo = fooBar(fooFoo); + "-"); }}15.下列代码运行的结果是:public class Base { public static final String FOO = "foo";16.class Sub extends Base { public static final String FOO = "bar";} public static void main(String[] args) { Base b = new Base(); Sub s = new Sub(); s).FOO); }}A.foofoofoofoofoo16.关于下列代码说法正确的是:public class ItemTest { private final int id; public ItemTest(int id) { =id; } public void updateId(int newId) { id = newId; } public static void main(String[] args) { ItemTest fa = new ItemTest(42); (69); }}A.编译错误B.运行时抛出异常C.运行后,fa对象属性id的值没有改变,应然是42D.运行后,fa对象属性id的值改变成新的值6917.请看下列代码编译和运行的结果是:public class Student { private String name="sun"; public staticvoid main(String[] args) { Student[] students=new Student[2]; }}A.sun 221D.运行时抛出NullPointerException异常18.下列代码的输出结果是:abstract class Vehicle { public int speed() { return 0; }}class Car extendsVehicle { public int speed() { return 60; }}class RaceCar extends Car { public int speed() { return 150; }}public class TestCar { public static void main(String[] args) { RaceCar racer = new RaceCar(); Car car = new RaceCar(); Vehicle vehicle = new RaceCar(); + ", " + () + ", " + ()); }}, 0,0 , 60, 0, 150, 150 D.抛出运行时异常19.请看下列代码:public abstract class Employee { protected abstract double getSalesAmount(); public double getCommision() { return getSalesAmount() * ;estA() { }}class Sales extends Employee { <插入代码>}在<插入代码>处填入的方法正确的是:getSalesAmount() { return ; }double getSalesAmount() { return ; }double getSalesAmount() { return ; }double getSalesAmount() { return ; }20.关于下列代码说法正确的是:public interface A { public void doSomething(String thing);}public class AImpl implements A { public void doSomething(String msg) { }}public class B { public A doit() { return null; } public String execute() { return null; }}public class C extends B { public AImpl doit() { return null; } public Object execute() { return null; }}A. 所有类和接口都编译成功B.类B编译失败C.类Aimpl编译失败D.类C编译失败21.关于下列代码说法正确的是:interface A { public void aMethod();}interface B { public voidbMethod();}interface C extends A, B { public void cMethod();}class D implements B { public void bMethod() {}}class E extends D implements C { public void aMethod() {} public void bMethod() {} public void cMethod() {}}A.编译失败B.如果定义D e = new E();, 那么 ();调用D类的bMethod()方法C.如果定义D e = (D)(new E());, 那么 ();调用D类的bMethod()方法D.如果定义D e = (D)(new E());, 那么 ();调用E类的bMethod()方法22.请看下列代码:public class UserRequest { public void request(ServletAction action) { (); } public static void main(String[] args) { UserRequest user = new UserRequest(); (new ServletAction() { public void doService() { "处理请求"); } }); }}如果上述代码采用回调模式编写,下列关于ServletAction的定义正确的是:A. public static class ServletAction { public void doService();}final class ServletAction { public void doService();}class ServletAction { public void doService();}D. public interface ServletAction { public void doService();}23.下列代码运行的结果是:public class Hello { String title; int value; public Hello() { title += "World"; }public Hello(int value) { = value; title = "Hello"; } public static void main(String[] args) { Hello c = newHello(5); }}A.HelloB. Hello WorldC. Hello World 5D.运行后无输出24.请看下列代码编译和运行的结果是:interface TestA { String toString();}public class Test { public static void main(String[] args) { TestA() { public String toString() { return "test"; } }); }}A.输出:testB.输出:nullC.代码 TestA() {行,编译出错D.代码public String toString() {行,编译出错25.请看下列代码:1)public class Outer {2) void fn(int i) {3) class Inner {4) void print() {5) 6) }7) }8) Inner in = new Inner();9) ();10) }11)}12)class Test {13) public static void main(String args[]){14) Outer out=new Outer();15) (100);16) }17)}关于上述代码说法正确的是:A.在第5行出现编译错误,fn方法的参数必须用final修饰B.在第3行出现编译错误,在方法的内部不能写类C.在第8行出现编译错误,在方法的内部不能实例化Inner类的对象D.运行代码,控制台输出100A1,正确答案:C2,正确答案:D3,正确答案:A4,正确答案:A5,正确答案:B6,正确答案:B7,正确答案:B8,正确答案:A9,正确答案:C10,正确答案:D11,正确答案:B12,正确答案:BC13,正确答案:C14,正确答案:B 15,正确答案:D16,正确答案:A 17,正确答案:D 18,正确答案:C 19,正确答案:BD 20,正确答案:D21,正确答案:D 22,正确答案:D 23,正确答案:A 24,正确答案:A 25,正确答案:A。

Java面向对象程序设计模拟试题3及答案

Java面向对象程序设计模拟试题3及答案

Java面向对象程序设计模拟试题3一、单项选择题(本大题共15小题,每小题1分,共15分)1. JRE是指A. Java开发工具B. Java虚拟机C. Java运行环境D. Java编程接口2. 开发Java程序必须安装的软件是A. JVMB. JDKC. JRED. API3. 在Java中,short型变量所占的字节数是A. 1B. 2C. 4D. 84. 下面代码段执行后,i 、j的值分别为int i = 1, j = 10;do{if(i++ > --j)continue;}while(i < 5);System.out.println("i="+i+" j="+j);A. i = 6 j = 5B. i = 5 j = 5C. i = 6 j = 4D. i = 5 j = 65. 给定下面代码段,程序运行结果是public class MyClass{private static int a = 100;public static void modify(int a){a = a + 5;}public static void main(String[] args){modify(a);System.out.println(a);}}A. 100B. 105C. 101D. 956. 执行下列程序段后foo的值为String foo = "blue";boolean[] bar = new boolean[1];if(bar[0]){foo = "green";}System.out.println(foo);A. ""B. nullC. blueD. green7. 关于实例变量、静态变量、实例方法和静态方法,下面叙述不正确的是A. 实例方法可以访问实例变量和静态变量B. 静态方法不能访问实例变量C. 实例变量和静态变量都可以通过类名访问D. 静态方法只能访问静态变量8. 执行下列语句后输出的结果是String s = "COMPUTER";System.out.println(s.substring(3,6));A. COMB. MPUC. PUTD. TER9. 下面程序运行结果为class Animal{public Animal(){System.out.println("Animal");}}// Bird类是Animal的子类public class Bird extends Animal{public Bird(){System.out.println("Bird");}public static void main(String[]args){Bird b = new Bird();}}A. AnimalB. BirdC. AnimalD. BirdBird Animal10.下面代码在运行时会产生什么异常String s = "ABC";System.out.print(s.charAt(3));A. ArrayIndexOutOfBoundsExceptionB. IndexOutOfBoundsExceptionC. StringIndexOutOfBoundsExceptionD. NullPointerException11. 下列程序的输出结果为import java.io.IOException;public class Test{public static void methodA() {throw new IOException();}public static void main(String[] args){try{methodA();}catch(IOException e){System.out.println("Caught Exception");}}}A. 代码有编译错误B. 输出“Caught Exception”C. 输出“Caught IOException”D. 程序正常执行,没有任何输出12.有下列一段代码,执行后输出结果为。

Java面向对象测试题

Java面向对象测试题

Java面向对象测试题Java面向对象测试题(一)注:测试时间:3小时编程题在电脑上编写,保存在已学生名字为文件名的文件夹中一、选择题(共30分,每题1分<多选、少选、错选不得分>)1、下面有关Java异常处理模型的说法错误的是()。

a)一个try块只能有一条catch语句b)一个try块中可以不使用catch语句c)Catch块不能单独使用,必须始终与try块在一起d)Finally块不能单独使用,必须始终与try块在一起2、下列选项中关于Java中super关键字的说法错误的是()。

a)super关键字是在子类对象内部指代其父类对象的引用b)super关键字不仅可以指代子类的直接父类,还可以指代父类的父类c)子类可以通过super关键字调用父类的方法d)子类可以通过super关键字调用父类的属性3、下列选项中关于Java中this关键字的说法错误的是()。

a)this是在对象内部指代对象自身的引用b)this关键字可以在类中的任何位置使用c)this只和特定的对象关联,而不和类关联d)同一个类的不同对象有不同的this4、在Java中,Object类是所有类的父亲,用户自定义类默认扩展自Object类,下列选项中的()方法不属于Object类的方法。

a)equals(Object obj)b)getClass()c)toString()d)trim()5、给定如下Java代码,关于super的用法,以下描述正确的是()。

class C extends B{public C(){super();}}a)用来调用类B中定义的super()方法b)用来调用类C中定义的super()方法c)用来调用类B的无参构造方法d)用来调用类B中第一个出现的构造方法6、在Java中,有如下两个类Student和Person。

如果Student 是Person的子类,则下列声明对象x的语句中错误的是()。

2022年智慧树Java面向对象程序设计1-11单元测试答案

2022年智慧树Java面向对象程序设计1-11单元测试答案

第一章测试1下列选项中,可以正确配置classpath的命令是()【答案】set classpath =C:\\Program Files\\Java\\jdk1.7.0_15\\bin2在JDK安装目录下,用于存放可执行程序的文件夹是()【答案】bin3下面关于Java程序的描述中,错误的是(【答案】不同操作系统上的Java虚拟机是相同的4下列选项中,哪些选项用于构成JDK开发环境()【答案】全选5下列关于使用Javac命令编译后生成文件的说法中,正确的是()【答案】编译后生成文件的后缀名为.class【答案】编译后生成的文件为二进制文件【答案】编译后生成的文件可以在Java虚拟机中运行6下列目录中,哪些属于JDK安装后的子目录()【答案】lib目录【答案】jre目录【答案】include目录7ib是library的缩写,用于存放Java类库或库文件。

( )【答案】对8如果classpath环境变量没有进行设置,Java虚拟机会自动将其设置为“.”,也就是当前目录。

( )【答案】对9在任意命令行窗口中执行javac命令,如果都能正常地显示帮助信息,说明系统path环境变量配置成功。

( )【答案】对10Eclipse只是一个框架和一组服务,所有功能都是将插件组件加入到Eclipse框架中来实现的。

( )【答案】对第二章测试1下列关于注释作用的描述中,错误的是()【答案】会参与编译2下面关于整数类型的描述中,错误的是()【答案】bit是java中的整数类型,它代表的是1个字节。

3下列选项中,按照箭头方向,需要进行强制类型转换的是()【答案】char←byte4下列关于多行注释的应用,正确的是()【答案】程序中可以不写多行注释【答案】写多行注释是一个良好的习惯【答案】多行注释有利于代码的阅读性5下列关于冒泡排序的描述,正确的是()【答案】冒泡排序中会涉及到元素位置的置换【答案】冒泡排序比较的总轮次是"数组长度-1"轮【答案】冒泡排序是不断地比较数组中相邻的两个元素6当break语句出现在嵌套循环中的内层循环时,它只能跳出内层循环。

JAVA面向对象程序设计试题与解析库

JAVA面向对象程序设计试题与解析库

《JAVA面向对象程序设计》试题与解析库1)在JAVA编程中,关于Font下列()是正确的。

(选择两项)a)在我们的程序中可以使用Font类中定义的字体常量。

b)我们可以使用Tookit类中的函数来获取我们的机器中java所支持的字体的列表c)我们可以自己创建字体实例对象d)以上说明都正确【解析】参考答案:A BFont属于java.awt包中的一个类,专门用来设置程序中的字体实例对象。

创建Font类的对象时使用的方法:getFont(int face,int style,int size);例如:Font font = Font.getFont(Font.FACE_SYSTEM,Font.STYLE_BOLD,Font. SIZE_MEDIUM);无论哪一个参数,都只能使用系统设置的数值,这些数值具体的大小在不同的手机上可能不同。

下面对于其中的三个参数的取值做详细的介绍:face参数指字体的外观;style参数指字体的样式;size参数指字体的大小。

这三个参数都是系统中定义好的一些常量。

获得系统的默认字体:Font font = Font.getDefaultFont();ToolKit类是 Abstract Window Toolkit 的所有实际实现的抽象父类。

Toolkit 用于把各种组件绑定到特定的本地工具箱实现上。

该类有个方法getFontList()用于返回该工具箱中可用字体名。

也就是可以获取机器中java所支持的字体的列表。

2)在Java语言中,在包Package1中包含包Package2,类Class_A直接隶属于包Package1,类Class_B直接隶属于包Package2。

在类Class_C要应用Class_A的方法A和Class_B 的方法B,你需要()语句。

(选择两项)a)import Package1.*;b)import Package1.Package2.*;c)import Package2.*d)import Package2.Package1.*;【解析】A BJava语言中的包机制就像Windows中的文件夹,用来归类类文件的位置。

java面向对象程序设计练习题(有答案)

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面向对象程序设计单元测试卷三答案

Java面向对象程序设计单元测试卷三答案

《面向对象程序设计(Java)》单元测试3答案一、选择与填空1 . 字节、字符2. FileInputStream、FileOutputStream3. Error、Runtime、捕获、抛出4. A、B5. F6. A7. A、E二.编一程序,从键盘输入一个实数,求其平方根并输出。

要求对输入为非数字的数据时所产生的异常进行捕获处理,并给出提示信息。

import java.io.*;class Demo{public static void main(String args[]) throws IOException{BufferedReader in=new BufferedReader(new InputStreamReader(System.in));double data=0;double sqrt=0;try{data=Double.parseDouble(in.readLine());sqrt=Math.sqrt(data);System.out.println("输入的数据为:"+data);System.out.println("平方根值为:"+sqrt);}catch(NumberFormatException ex){System.out.println("输入的数据为非数字数据!");}}}三、编一程序。

要求1 在当前目录下创建目录Personal.2 将自己的学号、姓名、性别写入到目录Personal下的文件Info.dat中。

3 将文件Info.dat中的数据显示在屏幕上。

import java.io.*;class Demo{public static void main(String args[]) throws IOException{File dir=new File("personal");dir.mkdir();DataOutputStream out=new DataOutputStream(new FileOutputStream(new File(dir,"info.dat")));out.writeUTF("1101023");//写入学号out.writeChar('\t');out.writeUTF("张三");out.writeChar('\t');out.writeChar('男');out.close();DataInputStream in=new DataInputStream(new FileInputStream(new File(dir,"info.dat")));System.out.println("学号为:"+in.readUTF());in.skip(2);System.out.println("姓名为:"+in.readUTF());in.skip(2);System.out.println("性别为:"+in.readChar());}}。

《JAVA面向对象程序设计》练习题-参考答案

《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 。

【DOC】面向对象程序设计(Java)单元测试3

【DOC】面向对象程序设计(Java)单元测试3

《面向对象程序设计(Java)》单元测试3班级姓名一填空与选择题1.Java中,InputStream和OutputStream是以()为数据读写单位的输入输出流的基类,Reader和Writer是以()为数据读写单位的输入输出流的基类。

2.用来创立以字节方式对文件进行读写的流是()类和()类。

3.从对异样的办理策略上, Java把异样分为非检查型异样和检查型异样,非检查型异样包括()异样和()异样,编译时编译器不对非检查型异样进行检查;对检查型异样,编译器要求要么对异样进行()办理,要么进行()办理。

4.成立文件 "file.txt" 的字节输入流的语句是:()A.InputStreamin=newFileInputStream("file.txt");B.FileInputStreamin=newFileInputStream(newFile("file.txt"));C.InputStreamin=newFileReader("file.txt");5.创立一个DataOutputStream的语句是:()A.newDataOutputStream("out.txt");DataOutputStream(newFile("out.txt"));C.newDataOutputStream(newWriter("out.txt"));D.newDataOutputStream(newOutputStream("out.txt"));E.newDataOutputStream(newFileWriter("out.txt"));F.newDataOutputStream(newFileOutputSream("out.txt"));6.下边语句正确的选项是:()A.RandomAccessFileraf=newRandomAccesssFil e(“”,”rw”);B.RandomAccessFileraf=newRandomAccesssFile(newDataInputStream());C. RandomAccessFileraf=newRandomAccesssFile(“”);D.RandomAccessFileraf=newRandomAccesssFile(newFile( “”));7.以下创立 InputStreamReader对象的方法中哪些是正确的方法?A.newInputStreamReader(new FileInputStream(“data”));B.newInputStreamReader(newFileReader(“data”));C.newInputStreamReader(newBufferedReader(“data”));D.newInputStreamReader(“data”);E.newInputStreamReader(System.in);二.编一程序,从键盘输入一个实数,求其平方根并输出。

JAVA面向对象编程测试题

JAVA面向对象编程测试题

JAVA面向对象编程测试题Java 面向对象、单选:1)在JDK1.5.0 安装目录下的bin 文件夹中,下面哪个程序是Java 执行器(B) A ) Javac.exeB ) java.exeC) jdb.exe D ) javah.exeE) javadoc.exe (E)2)在JDK1.5.0 安装目录下的bin 文件夹中,下面哪个程序能生成Java 参考文档A ) Java.exe B ) javac.exeC) appletviewer.exe D) javah.exeE) javadoc.exe3)下列数据类型不属于整型的是(E)A )byte 类型B ) short 类型C) int 类型 D )long 类型E) float 类型4 )精确保存一个值为“53.21458961 ”需要用什么数据类型( D)A )int 类型B )long 类型C) String 类型D ) double 类型E )以上都可以(5)循环语句for(int i=0。

i<4。

i++){}循环的次数为(D)A )无限次B )不确定C) 1 次D ) 3 次E ) 4 次6)若i、j 为已定义的整型,下面程序段中循环体执行的次数为(B)for(i=0 。

i<5 。

i++){for(j=0 。

j<=i 。

j++){}}A )不确定B ) 5 次C ) 15 次D ) 25 次E )无限次7)执行下列程序段后,j 的值变为(E) int i=1 。

int j=10 。

do{j-=i 。

i++ 。

}while(j--<0) 。

A ) 9 B) 10C) -1 D) -2E ) 88)执行下列程序段后,y 的值变为(E) int x,y 。

for(y=1,x=1 。

y<=50。

y++){if(x>=10){break。

} if(x%2==1){ x+=5 。

continue 。

}x-=3 。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《面向对象程序设计(Java)》单元测试3
班级姓名
一填空与选择题
1.Java中,InputStream和OutputStream是以()为数据读写单位的输入输出流的基类,Reader和Writer是以()为数据读写单位的输入输出流的基类。

2.用来创建以字节方式对文件进行读写的流是()类和()类。

3.从对异常的处理策略上,Java把异常分为非检查型异常和检查型异常,非检查型异常包括()异常和()异常,编译时编译器不对非检查型异常进行检查;对检查型异常,编译器要求要么对异常进行()处理,要么进行()处理。

4.建立文件"file.txt" 的字节输入流的语句是:()
A. InputStream in=new FileInputStream("file.txt");
B. FileInputStream in=new FileInputStream(new File("file.txt"));
C. InputStream in=new FileReader("file.txt");
5.创建一个DataOutputStream 的语句是:()
A. new DataOutputStream("out.txt");
B.new DataOutputStream(new File("out.txt"));
C. new DataOutputStream(new Writer("out.txt"));
D. new DataOutputStream(new OutputStream("out.txt"));
E. new DataOutputStream(new FileWriter("out.txt"));
F. new DataOutputStream(new FileOutputSream("out.txt"));
6.下面语句正确的是:()
A. RandomAccessFile raf=new RandomAccesssFile(“myfile.txt”,”rw”);
B. RandomAccessFile raf=new RandomAccesssFile(new DataInputStream());
C. RandomAccessFile raf=new RandomAccesssFile(“myfile.txt”);
D. RandomAccessFile raf=new RandomAccesssFile(new File(“myfile.txt”));
7.下列创建InputStreamReader对象的方法中哪些是正确的方法?
A. new InputStreamReader(new FileInputStream(“data”));
B. new InputStreamReader(new FileReader(“data”));
C. new InputStreamReader(new BufferedReader(“data”));
D. new InputStreamReader(“data”);
E. new InputStreamReader(System.in);
二.编一程序,从键盘输入一个实数,求其平方根并输出。

要求对输入为非数字的数据时所产生的异常进行捕获处理,并给出提示信息。

三、编一程序。

要求
1 在当前目录下创建目录Personal.
2 将自己的学号、姓名、性别写入到目录Personal下的文件Info.dat中。

3 将文件Info.dat中的数据显示在屏幕上。

相关文档
最新文档