面向对象程序设计习题_第1页
面向对象程序设计习题_第2页
面向对象程序设计习题_第3页
面向对象程序设计习题_第4页
面向对象程序设计习题_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、附件3:面向对象程序设计习题第1章 Java程序初步一、简答题1.1 什么叫对象?什么叫类?类和对象有什么关系。1.2 为什么说Java是一种半编译、半解释的程序设计语言?1.3 什么叫Java虚拟机?什么叫Java平台?Java虚拟机与Java平台的关系如何?1.4 Java语言有哪些词法符号?分隔符与空白符号的区别是什么?二、选择题1.5 下面哪些是java关键字?A) final B) Abstract C) Long D) staticE) class F) main G) private H) System1.6 下面哪些是不合法的标识符?A) do_it_now B) _Subst

2、itute C) 9thMethod D) $addMoneyE) %getPath F) 2variable G) variable2 H) #myvarI) _3_ J) $anothervar K) _whatavariable1.7 下面哪些代码可作为java应用程序的main方法?A) public static void main() B) public static void main(String string) C) public static void main(String args) D) static public int main(String args) 1.8

3、假定下面程序已经被编译,Demo.class文件存放在当前目录下:public class Demo public static void main(String args) int n=1; System.out.println("The word is "+argsn); 请问下面哪条命令能够运行上面程序并输出“The word is gamma”?A) Demo beta gamma delta B) java Demo gamma beta deltaC) java demo beta gamma delta D) java Demo beta gamma delt

4、aE) java Demo.class gamma beta delta1.9 编译、运行下面代码将发生什么?public class Test5 public static void main (String args ) /* This is the start of a commentSystem.out.println("Done the test");/* This is another comment */System.out.println ("The end");A) 程序运行出错。 B) 程序编译出错。C) 输出“Done the te

5、st”。 D) 输出“The end”。E) 输出“Done the test”和“The end”。第2章 数据与数据运算一、选择题2.1 请问字节型数据的取值范围是:A) -128 127 B) -28 -1 28C) -255 256 D) 取决于具体的Java虚拟机2.2 请问下面哪些代码行编译时不会出错?A) float f = 1.3; B) double D=4096.0; C) byte b = 257;D) String s = "1" E) int i = 10; F) char c = "a"G) char C=4096; H) b

6、oolean b = null;2.3 编译和运行下面程序,将发生什么结果?class Excise0203 public void method() short a=(short)0xffff; char a1='uffff' int b=a; int b1=a1; System.out.println("b=" + b + " b1=" + b1); class TestExcise0203 public static void main(String args) Excise0203 o = new Excise0203(); o.

7、method(); A) 编译出错 B) 输出:b=65535 b1=65535C) 输出:b=-1 b1=-1 D) 输出:b=-1 b1=655352.4 请问下面程序的运行结果是什么?class Excise0204 public void method() byte a = 127; int x = +a; int y = a + 1; System.out.println("x=" + x + " y=" + y); class TestExcise0204 public static void main(String args) Excise

8、0204 o = new Excise0204(); o.method(); A) 输出:x=128 y=128 B) 输出:x=128 y=129C) 输出:x=-128 y=128 D) 输出:x=-128 y=-1272.5 如果调用下面方法且参数值为67,那么方法的返回值是多少?public int MaskOff(int N) return N3;A) 3 B) 64 C) 67 D) 02.6 编译、运行下面代码将发生什么?class EqualsTest public static void main(String args) char a='u0005' Str

9、ing s = a = 0x0005L ? "Equal" : "Not Equal" System.out.println(s); A) 编译错:Invalid character in inputB) 程序能被编译,运行时输出:Not EqualC) 程序能被编译,运行时输出:Equal第3章 Java语句一、选择题3.1 写出下面代码段的运行结果(单选)boolean flag = false;if (flag = true) System.out.println("true"); else System.out.println

10、("false");A) true B) false C) 出错 D) 没有信息输出3.2 写出下面代码段的运行结果(单选)int i = 3;int j = 0;double k = 3.2;if (i < k) if (i = j) System.out.println(i); else System.out.println(j);else System.out.println(k);A) 3 B) 0 C) 3.2 D) 以上三个都不对3.3 运行下面代码将将输出什么内容?int i = 1;switch (i) case 0: System.out.print

11、ln("zero"); break;case 1: System.out.println("one");case 2: System.out.println("two");default: System.out.println("default");A) one B) one, defaultC) one, two, default D) default3.4 关于下面代码的陈述,哪些是正确的?void looper() int x = 0;one: while (x < 10) two: System.ou

12、t.println(+x); if (x > 3) break two; A) 代码可以被编译。 B) 代码不能被编译。C) 方法会输出数字0。 D) 数字1和2会被输出。E) 数字3会被输出。 F) 数字4会被输出。G) 数字5至9会被输出。 H) 数字10会被输出。3.5 (多选)调用下面testing方法会输出什么内容? void testing() one: for (int i = 0; i < 3; i+) two: for (int j = 10; j < 30; j+=10) System.out.println(i + j); if (i > 1) c

13、ontinue one; A) 10 B) 20 C) 11 D) 21E) 12 F) 22 G) 13 H) 23I) 010,020,110,120,210,220,310,320第4章 Java类一、选择题4.1 编译、运行下面代码将发生什么?class Test static int myArg = 1; public static void main(String args) int myArg; System.out.println(myArg); A) 代码被编译,运行时输出0。B) 代码被编译,运行时输出1。C) 编译错,因为局部变量和类变量有相同的名字。D) 编译错,因为局

14、部变量在使用之前没有被初始化。4.2 编译下面代码将会发生什么错误?public class MyClass public static void main(String arguments) amethod(arguments); public void amethod(String arguments) System.out.println(arguments); System.out.println(arguments1); A) main方法方法体中不能调用amethod方法。B) main方法的参数声明不合法。C) 数组访问时必须包含下标值。D) amethod方法的返回类型应该为S

15、tring。4.3 执行下面代码会输出什么内容?(单选)Boolean b1 = new Boolean(true);Boolean b2 = new Boolean(true);Object obj1 = (Object)b1;Object obj2 = (Object)b2;if (obj1 = obj2) if (obj1.equals(obj2) System.out.println("a"); else System.out.println("b");else if (obj1.equals(obj2) System.out.println(&

16、quot;c"); else System.out.println("d");A) a B) b C) c D) d4.4 编译、运行下面代码将发生什么?public class Test public static void test() this.print(); public static void print() System.out.println("Test"); public static void main(String args ) test(); A) 运行时输出:TestB) 运行时抛出例外,指出一个对象还没有被创建C)

17、运行时不输出任何内容D) 运行时抛出例外,指出test方法没有发现E) 运行时抛出例外,指出变量this只能够用在实例中F) 编译出错,指出变量this没有被定义4.5 考虑下面代码,字符串"Hi there"何时被输出?public class StaticTest static System.out.println("Hi there");public void print() System.out.println("Hello");public static void main(String args ) StaticTest

18、st1 = new StaticTest();st1.print();StaticTest st2 = new StaticTest();st2.print();A) 从不输出 B) 每次创建实例时输出C) 当类被装入Java虚拟机时输出 D) 当static方法被调用时输出4.6 下面应用程序的运行结果是什么?public class MyTest int x = 30; public static void main(String args) int x = 20; MyTest ta = new MyTest(); ta.Method(x); System.out.println(&qu

19、ot;The x value is " + x); void Method(int y) int x = y * y; A) The x value is 20 B) The x value is 30C) The x value is 400 D) The x value is 6004.7 给定以下类定义: public class Test public void amethod(int i, String s) /Here 下面哪些方法定义可以分别放置在上面的注释行处?A) public void amethod(String s, int i) B) public int

20、amethod(int i, String s) C) public void amethod(int i, String mystring) D) public void Amethod(int i, String s) 4.8 给定以下代码:1) public abstract class Prod 2) public abstract void prmth1();3) public static void prmth2() 4) int mth2 = 30;5) System.out.println("prmth2 = " + mth2);6) 7) public a

21、bstract void prmth3();8) 请问下面哪个陈述是正确的?A) 编译不会出错 B) 编译出错,错误定位于第1行C) 编译出错,错误定位于第3行 D) 编译出错,错误定位于第7行4.9 给定以下代码:public class Test public static Integer getIt() Integer rg = new Integer(3); Integer dg = rg; rg = null; return rg; 请问下面哪个陈述是正确的?A) 编译出错 B) 编译成功,但运行时出错C) getIt()方法不应该定义成staticD) 当调用getIt()方法返回

22、时,rg对象可以被垃圾收集第5章 继承、接口与包一、选择题5.1 给定下面类定义:class Test1 float aMethod(float a,float b) class Test2 extends Test1 /XXXX请问下面哪些方法可以分别加入类Test2中的注释行处?A) float aMethod(float b,float a)B) public int amethod(int a,int b) C) protected float aMethod(float p,float q)D) private float aMethod(float p,float q) 5.2 分

23、析下面两个类:class First final static int A = 3;final class Second extends First void method() System.out.println(A); 选择一个正确的答案。A) 类First能被编译,但类Second不能。B) 类Second能被编译,但类First不能。C) 两个类都不能被编译。D) 两个类都能被编译,并且当调用方法method()时,将输出3。E) 两个类都能被编译,但当调用方法method()时,将抛出一个例外。5.3 编译并执行类B的main()方法,将会发生什么(单选)?class A int i

24、; A(int i) this.i = i * 2; class B extends A public static void main(String args) B b = new B(2); B(int i) System.out.println(i); A) 实例变量i被设置成4 B) 实例变量i被设置成2C) 实例变量i被设置成0 D) 编译错5.4 给定以下代码,请选择一个正确的答案替换其中的注释行。class A A(int i) public class B extends A B() / xxxxx public static void main(String args) B

25、b = new B(); A) super(100); B) this(100); C) super(); D) this();5.5 编译、运行下面代码将发生什么?class Base class Sub extends Base public class Cex public static void main(String argv) Base b = new Base(); Sub s = (Sub) b; A) 编译和运行都不会出错 B) 编译出错C) 运行时抛出例外5.6 考虑类定义:class BaseWidget extends Object String name = &quo

26、t;BaseWidget" void speak() System.out.println("I am a "+name); class TypeAWidget extends BaseWidget TypeAWidget() name = "TypeA" 基于以上类定义,下面哪个代码片段是正确的?A) Object A = new BaseWidget(); A.speak();B) BaseWidget B = new TypeAWidget(); B.speak();C) TypeAWidget C = new BaseWidget();

27、 C.speak();5.7 编译、运行下面程序的结果是什么? 1) class Xxx 2) private int i; 3) Xxx x; 4) public Xxx() 5) i = 10; 6) x = null; 7) 8) public Xxx(int i) 9) this.i = i;10) x = new Xxx();11) 12) public void print() 13) System.out.println("i = " + i);14) System.out.println(x);15) 16) public String toString()

28、 17) return "i = " + i;18) 19) 20) class Test 21) public static void main(String args) 22) Xxx x = new Xxx(100);23) x.print();24) System.out.println(x.x);25) 26) A)i = 100 B)i = 100C)i = 100D)编译错1010i = 10 null 10 i = 10第6章 Java字符串一、选择题6.1 如果下面代码片段被执行,那么将会输出什么?String s1 = "ABC"St

29、ring s2 = s1;s1 += "xyz"System.out.println(s2);A) ABC B) xyz C) ABCxyz D) null6.2 当执行下面代码片段时,第4行代码被执行吗?1) String s1 = "ABC123"2) String s2 = "AB" + "C123"3) if (s1 = s2)4) System.out.println("Yes");A) YES B) NO6.3 下面哪些是合法的Java代码片段?A) String a = "

30、;abcdefg" a -= "cde"B) String a = "abcdefg" a += "cde"C) Integer j = new Integer(27); j -= 7;D) Integer j = new Integer(27); j-;6.4 一个应用程序涉及以下方法:1) static String setFileType(String fname)2) int p = fname.indexOf('.');3) if(p>0) fname = fname.substring(0,

31、p);4) fname += ".TXT"5) return fname;6) 假定该应用程序有下面代码片段:7) String theFile = "Program.java"8) File f = new File(setFileType(theFile); 9) System.out.println(“Created “ + theFile);请问第9行代码会输出什么?A) 输出:Created Program.java B) 输出:Created Program.txtC) 输出:Created Program.java.txt6.5 编译下面代

32、码会发生什么?1) public class SiteInfo2) String website = "bbb:aaalanwaaa" + '' + "default.htm"3) public String getSite()4) return website;5) 6) A) 编译时没有出现问题 B) 编译出错,错误定位于第2行代码C) 编译出错,错误定位于第3行代码第7章 Java数组一、选择题7.1 多选题。考虑以下语句:int x = new int11;如果该语句被执行,那么下面哪些说法是正确的?A) x10的值是0 B) x

33、11的值是0 C) x10的值没有定义D) x0的值是0 E) x11的值是null F) x.length的值是107.2 编译和运行下面代码将会出现什么结果?public class Test public static void main(String args) long count = new long10; System.out.println(count); System.out.println(count0); A) 编译出错:数组类型无效B) 编译出错:数组元素count0没有被初始化C) 先输出null,然后引发ArrayIndexOutOfBoundsExceptio例外

34、D) 先输出一个表示数组对象的字符串,然后输出07.3 给定下面类定义:public class Demoprivate int count;public Demo() count=new int10;public void setCount(int ct,int n) countn=ct;public void showCount(int n)System.out.println("Count is "+countn);public int getCount(int n) return countn;当创建类Demo的一个实例后,立刻调用该实例的showCount方法并指

35、定参数9,将产生什么结果?A) 抛出例外:java.lang.NullPointerException,程序停止。B) 输出:Count is 0C) 抛出例外:ArrayIndexOutOfBoundsException,程序停止。D) 输出:Count is null7.4 有以下Java应用程序:1) public class GetIt 2) public static void main(String args) 3) double x = 10.2, 9.1, 8.7;4) int i = new int3;5) for(int a = 0;a < (x.length);a+

36、) 6) 7) System.out.println(ia);8) 9) 10) 运行程序时的输出结果如下:11109为实现上述输出结果,下面哪行代码应该插入在第6行处?A) ia = Math.ceil(xa); B) ia = Math.floor(xa);C) ia = (int)Math.ceil(xa); D) ia = (int)Math.floor(xa);第8章 例外处理一、选择题8.1 下面两个类分别定义在不同的源文件中:1) public class Test1 2) public void method() throws IOException3) 1) public c

37、lass Test2 extends Test12) 3) 请问下面哪些方法可以分别放置在类Test2的第2行处?其中Axn和Bxn都是都是IOException类的子类。F) public void method() B) public void method() throws Exception C) public void method() throws Anx D) public void method() throws Anx,Bnx E) public void method() throws Anx,IOException F) public void method() thro

38、ws Anx,Exception 8.2 请问下面程序的输出结果是什么? 1) class Test 2) static void m1() 3) try 4) throw new ArithmeticException(); 5) catch(ArithmeticException e) 6) try 7) throw new ArithmeticException(); 8) catch(ArithmeticException e1) 9) throw new ArrayIndexOutOfBoundsException("demo");10) catch(ArrayI

39、ndexOutOfBoundsException e1) 11) System.out.println("caught " + e + " in AAA");12) 13) catch(ArrayIndexOutOfBoundsException e) 14) System.out.println("caught " + e + " in BBB"); 15) 16) 17) public static void main(String args) 18) try 19) m1();20) catch(Runtim

40、eException e)21) System.out.println("caught " + e + " in CCC");22) 23) 24) D) caught java.lang.ArrayIndexOutOfBoundsException: demo in AAAB) caught java.lang.ArrayIndexOutOfBoundsException: demo in BBBC) caught java.lang.ArrayIndexOutOfBoundsException: demo in CCCD) caught java.l

41、ang. RuntimeException: demo in CCC8.3 编译和运行以下程序会发生什么?class Test public static void main(String args) int s = 0, i = 1; while(i <= 20) try if(i % 5 != 0) i+; continue; s = s + i; finally i = i + 2; System.out.println("s = " + s); A) 编译错B) 输出s = 30C) 输出s = 45D) 输出s = 508.4 给定以下代码: public

42、void trythis() try System.out.println("1"); problem(); catch(RuntimeException x) System.out.println("2"); return; catch(Exception x) System.out.println("3"); return; finally System.out.println("4"); System.out.println("5");请问当方法trythis()被执行时,如果方法prob

43、lem()抛出类Exception 的一个实例,那么哪些内容将被输出?A) 1 B) 2 C) 3 D) 4 E) 5第9章 线程与同步一、选择题9.1 编译、运行下面应用程序会发生什么?public class RThread implements Runnable public void run (String s ) System.out.println ("Executing Runnable Interface Thread"); public static void main ( String args ) RThread rt = new RThread (

44、); Thread t = new Thread (rt); t.start ( ); A) 编译出错 B) 运行出错C) 运行时不输出任何内容 D) 输出:Executing Runnable Interface Thread9.2 分析下面代码行,选择一个正确的陈述。class WhatHappens implements Runnable public static void main(String args) Thread t = new Thread(this); t.start(); public void run() System.out.println("hi&quo

45、t;); A) 编译错 B) 能被编译,运行时没有内容输出C) 能被编译,运行时输出:hi D) 能被编译,运行时连续输出:hi,直至用户按下control-c键9.3 下面有关与wait()配合使用的notify()方法的陈述,哪些是正确的?A) 如果有多个线程在等待一个条件,那么等待时间最长的线程被唤醒。B) 如果有多个线程在等待一个条件,则无法预知哪个线程将被唤醒。C) notify()方法定义在Thread类中。D) 在调用一个对象的notify()方法时,并非一定要获得该对象的锁。E) notify()方法调用只能出现在while循环语句中。9.4 为了使下面的程序能够输出"

46、;running",应该用什么内容代替注释/A?请选择所有正确的答案。class RunTest implements Runnable public static void main(String args) RunTest rt = new RunTest(); Thread t =new Thread(rt); /A public void run() System.out.println("running"); void go() start(1); void start(int i) A) System.out.println("running

47、"); B) rt.start();C) rt.go(); D) rt.start(1);9.5 为使下面程序合法,下面有关RunHandle的陈述哪些是正确的?class Test public static void main(String args) Thread t = new Thread(new RunHandler(); t.start(); A) RunHandler必须实现java.lang.Runnable接口。B) RunHandler必须扩展Thread类。C) RunHandler必须提供run()方法,该方法的访问级别为public、返回类型为void。D) RunHandler必须提供init()方法。第10章 输入与输出一、选择题10.1 下面哪些语句能够创建一个可从文件file.txt中读入数据的InputStream流? A) InputStream in=new FileInputStream(“file.txt”);B) InputStream in=new InputStreamFileReader (“file.txt”, “read”);C) FileIn

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论