《java程序设计》复习资料 下载本文

《Java程序设计》

24、下列说法正确的是( C )。

A. 一个子类可以有多个父类,一个父类也可以有多个子类 B. 一个子类可以有多个父类,但一个父类只可以有一个子类 C. 一个子类可以有一个父类,但一个父类可以有多个子类 D. 上述说法都不对 25、关于下面程序片段,( B )的结论是正确的。 a == b s1.equals(s2)

String a = \ String b = \ String s1 = new String(”Java”); String x = \ String y = \ String s2 = new String(”Java”); String c = x + y;

A、a和b指向同一个实例对象,a和c指向同一个实例对象 B、a和b指向同一个实例对象,a和c不指向同一个实例对象 C、a和b不指向同一个实例对象,a和c指向同一个实例对象 D、a和b不指向同一个实例对象,a和c不指向同一个实例对象 26、下面这段代码会产生( C )个String对象。

String s1 = \ String s2 = s1.substring(2, 3);

String s3 = s1.toString(); String s4 = new StringBuffer(s1).toString(); A、1 B、2 C、3 D、4

27、设有定义:String s=”World”;,下列语句错误的是( D )。

A、int m=s.indexOf(?r?); B、char c=s.charAt(0); C、int n=s.length(); D、String str=s.append(); 28、已知int i = 2147483647; ++i; 则i的值等于( A )。 Byte 128~127 127+1

A、-2147483648 B、2147483647 C、2147483648 D、-1 29、若x = 5,y = 8,则表达式x|y的值为( B )。

A、3 B、13 C、0 D、5

30、执行String[ ] s=new String[10];语句后,哪个结论是正确的?( B )

A、s[0] 为 未定义 B、s.length 为10 C、s.length 为11 D、s[10] 为 \31、下列说法不正确的是( D )。

A、表达式“1+2>3”的值是false B、表达式“1+2||3”是非法的表达式 C、表达式“i+j=1”是非法的表达式 D、表达式“1+2>3”的值是true

32、若String s = \ String t = \ char c[] = {'h','e','l','l','o'} ; 则下列哪个表达式返回false?( C )

A、s.equals(t); B、t.equals(new String(\ C、t.equals(c); D、s==t; 33、执行完下面程序片段后,( B )的结论是正确的。 int a, b, c; a = 1; b = 2; c = (a + b > 3 ? a++ : b++);

A、a的值是2,b的值是3 B、a的值是1,b的值是3 C、a的值是1,b的值是2 D、c的值是false 34、下面程序片段输出的是( D )。

int i = 0, j = 9; do {

if(i++ > --j) break; } while(i < 4);

System.out.println(\

A、i = 4 and j = 4 B、i = 5 and j = 5 C、i = 5 and j = 4 D、i = 4 and j = 5 35、设有定义“int k=3;”,语法正确且值为true的表达式是( D )。

第 5 页

《Java程序设计》

A、k=3; B、k++>3; C、k--==3&&k++==3; D、k++==3||++k>3; 36、若有定义int a = 2;则执行完语句 a -= a * a; 后,a的值是( C )。

A、 0 B)、4 C、 -2 D、 –4 37、下列语句序列执行后,j 的值是( A )。 int j=1; for( int i=5; i>0; i-=2 ) j*=i;

A、 15 B、1 C、 60 D、 0

38、以下由 for 语句构成的循环执行的次数是( B )。 for ( int i = 0; true ; i++) ;

A、有语法错,不能执行 B、无限次 C、执行1次 D、一次也不执行 39、下列语句序列执行后,j 的值是( B )。 int j=9, i=6; while( i-- >3 ) --j;

A) 5 B) 6 C) 7 D) 8 40. 若有循环: int x=5,y=20;

do { y-=x; x+=2; }while(x

A) 2次 B) 1次 C) 0次 D) 3次 41. 下列语句序列执行后,i的值是( C )。 int i=10;

do { i/=2; } while( i>1 );

A) 1 B) 5 C) 2 D) 0

42. 以下语句中能构成多分支的语句是( C )。 A) for 语句 B) while 语句 C) switch 语句 D) do - while 语句 43. 能从循环语句的循环体中跳出的语句是( B )。

A)for语句 B)break语句 C) continue语句 D)return语句 44.字符流与字节流的区别是( A )。

A、每次读入的字节数不同 B、前者带有缓冲,后者没有 C、前者是块读写,后者是字节读写 D、二者没有区别,可以互换使用 45.下面关于使用throw关键字抛出的对象说法正确的是( A )。

A、它必须被声明为Throwable类型 B、它必须被声明为error类型 C、它必须被声明为Exception类型 D、它必须被声明为String类型 46.在oneMethod()方法运行正常的情况下,程序段将输出什么? ( D )

publicvoid test(){ try{

oneMethod();

System.out.println(\

} catch (ArrayIndexOutOfBoundsExceptione){ System.out.println(\} catch(Exceptione){

System.out.println(\} finally{

第 6 页

《Java程序设计》

System.out.println(\

} }

A、condition1 B、condition2 C、condition3 D、condition1finally 47.下列常见的系统定义的异常中,哪个是输入、输出异常? ( B )

A、ClassNotFoundException B、IOException C、NumberFormatException D、UnknownHostException 48.下列InputStream类中哪个方法可以用于关闭流? ( B )

A、skip() B、close() C、mark() D、reset() 49.下面关于try-catch-finally语句块中有关finally说法正确的是( C )

A、它只会在catch语句块执行结束后才会执行

B、它只有在catch语句块不被执行的情况下才会被执行 C、不管有没有异常产生它总会被执行

D、只有在有异常产生的情况下它才会被执行 50.关于异常的应用,下列说法恰当的是( B )

A、在java中,使用异常很方便、很有效,因而,只要能使用异常的地方应尽量使用异常 B、在程序中过多的使用异常,会使程序的执行效率降低

C、异常产生后,我们只需捕获它,至于是否对异常给与处理,无所谓 D、Java中的异常全部都被预先定义好了,程序员无需自行定义异常类

51.如果一个程序段中有多个catch,则程序会按如下哪种情况执行( C )

A.找到适合的例外类型后继续执行后面的catch B.找到每个符合条件的catch都执行一次

C.找到适合的例外类型后就不再执行后面的catch D.对每个catch都执行一次

52.属于Java输入输出流的、且处理的是char类型的类是( A )

A、Reader类 B、InputStream类 C、OutputStream类 D、File类 53. 下列不属于面向对象编程的三个特征的是( B )。 A. 封装 B. 指针操作 C. 多态 D. 继承 54. 以下字符串常量中不合法的是( B )。 A. \ B. ?&? C. \ D. \整数\

55. public int getGameScore(),getGameScore这个方法的返回值类型是( A )。 A. int B. void C. INT D. short

56. 在java中语句:37.2%10的运算结果为( C )。 A. 37 B. 2 C. 7.2 D. \

57. 若已定义 x 和 y为double 类型,则表达式 x=1,y=x+3/2 的值是( C ) 。 A. 1 B. 2 C. 2.0 D. 2.5

58. 关于while和do-while循环,下列说法正确的是:( D ) 。

A. 两种循环除了格式不同外,功能完全相同

B. 与do-while语句不通的是,while语句的循环至少执行一次

C. do-while语句首先计算终止条件,当条件满足时,才去执行循环体中的语句 D. 以上都不对

59. 下面( C )表达式是声明一个含有10个String对象的数组。

A. char str[ ]; B. char str[ ][ ];

第 7 页

《Java程序设计》

C. String str[ ]=new String[10]; D. String str[10]; 60. 多分支语句switch(表达式){}中,表达式可以返回哪种类型的值( B )。

A. 实型 B. 字符型 C. 数组 D. 布尔型 61. 下列不属于条件语句关键字的是: ( A )。

A. for B. if C.else D. switch 62. 下列类的定义,错误的是( D )。

A. public class test extends Object{ ?? }

B. final class operators{ ??}

C. class Point{ ?? }

D. void class Point{ ?? }

63. 下面表达式中,用来访问数组a中第一个元素的是( A )。 A. a[0] B. a[1] C. a.0 D. a.1 64. a为true时,值为“真”的表达式是( A )。 A. a B.!(++a) C. a=true D. a==0 65. 下面命令中( A )可用于解释Java程序。 A. java B. javac C. javaapplview D. javadoc 66. 方法的形参是( A )。

A. 可以没有 B. 至少有一个

C. 方法必须都含有 D. 一个方法中可以有多个return 67. 有一个类A,对于其构造函数的声明正确的是( B )。 A. void A(int x){?} B. public A(int x){?} C. A A(int x) {?} D. int A(int x) {?}

68. 设Test为已定义的类,下面声明类Test对象a的语句正确的是( C )。A. Test a=Test(); B. public Test a;

C. Test a=new Test(); D. public Test a=new Test(); 69. 如下哪个是Java中的正确的标识符( D )。

A. public B. super C. 3number D. width 70. 定义一个类,必须使用的关键字是( B )。

A. public B. class C. interface D. static 71. 下列数组声明语句错误的是:( C )。

A. int [] a; B. int a[]; C. int a[5]; D. int[]a=new int[5]; 72. Java语言属于下列哪一种语言( B )。

A. 面向过程语言 B.面向对象语言 C. 面向机器语言 D. 面向操作系统语言 73. 现有一个整型数组a [4],它的所有元素是( B )。

A. a0.a1,a2.a3 B. a[0],a[1],a[2],a[3]

C. a [1],a [2],a[2],a[4] D. a [0],a[1],a E2],a[3],a[4]

74.JDK安装完成后,主要的命令如javac、java等,都存放在根目录的( A A.bin B.jre C.include D.doc

第 8 页

)文件夹下。