|
一、选择题(每小题3分,共60分)
- C f# G6 _$ y& z, C) i6 K% z% i( )1. 阅读下列代码后 : G& J3 |. m5 y; W, _
public class Person{ 7 w( g A, A2 r0 D/ k+ Y
int arr[]=new int[10]; 2 P3 ~% ?; `( C1 k& z6 R
public static void main(String args[]){ * ]* ?4 t* ^! {; X% o+ I2 v) \
System.out.println(arr[1]);
7 B3 U- o7 p+ ^; B. a}
: x( v2 ]. H' K/ z) O} / h, i9 R T8 @# G/ ]
正确的说法是
2 F, r. Z' z4 ?7 @ N* m' J0 pA. 编译时将产生错误
/ B+ I' g9 U! E0 K0 Z) H- _B. 编译时正确,运行时将产生错误
) Z2 e+ P$ }+ s. f: E6 |C. 输出零5 }9 ?8 ~5 A- n/ ?; z8 N5 d
D. 输出空
# e1 W5 V# K* j+ v x% {% |% }( )2. 在Java中,能实现多重继承效果的方式是
9 x+ a# g( a' j" eA. 内部类4 Y5 _ n; W" j
B. 适配器# s" {( z. G5 k2 @; E# L
C. 接口
1 ~* \8 b* g/ O/ ZD. 同步
4 b5 }- R: f( d. V9 Y; x1 k/ {( )3. main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的( )? b+ M. ] \3 L( r, ~/ ? M
A. public static void main( )
; Y7 y: X% [* |- }B. public static void main( String args[] )
4 \& h' r5 q1 i" CC. public static int main(String [] arg )
, [7 \" p5 g& j9 s! V4 OD. public void main(String arg[] )
6 s6 c( b: E' L+ X, c7 j4 J/ w( )4. 下面的哪些程序片断可能导致错误。6 X0 z! a; A O4 q7 ~
A. String s="Gonewiththewind";
- Z6 d& f# s7 r9 T0 v: pString t="good";
, [ U8 ^8 H5 A/ s3 JString k=s+t;3 i$ v! i1 W* K9 |' M; a( ^, K
B. String s="Gonewiththewind";% l+ H2 a" Z! s' ]. H
String t;9 F2 z; p6 D0 z+ K. e% I9 q/ R/ H
t=s[3]+"one";. O* n4 r4 {9 @- H
C. String s="Gonewiththewind";6 L# ^- S5 r6 ]. ^& j) R
String standard=s.toUpperCase();
+ O% H# J, ~5 _1 y' o' k+ J$ OD. String s="homedirectory";+ ~5 f' {; P5 c5 \5 ` K) W# N$ i
String t=s-"directory".8 J) w9 p; p$ }
( )5. 下列哪个选项是Java调试器,如果编译器返回程序代码的错误,可以用它对程序进行调试?
; F% t) i1 O; O/ @$ d: b, p% [/ aA. java.exe) s% f0 c, n* y- u2 u; E: k
B. javadoc.exe M5 ?$ J" R" u
C. jdb.exe
9 e9 @$ c% d* ?5 x, aD. javaprof.exe
& Z+ t6 n k: S; ^( )6. 在程序的源文件开始处有下面一行程序:
; W& g! x2 n8 d2 Kpackage awt;( z0 m6 |. H9 {% y) N7 r) _
A. 结果是一个编译错误,因为Java已经定义了一个awt包
) M. m+ Y8 A4 C+ Q H# ^B. 说明这个文件里的所有的类都应该包含在java.awt包里 c6 t. G j$ F0 U* s
C. 说明这个文件里的所有的类都应该包含在自己定义的awt包里* e1 I: u& x" | g1 }; L' k
D. 导入你自己定义的awt包里的所有类
: c& ?- r8 S4 _7 d! x0 d$ ^( )7. 已知如下代码:5 D" w- b* } V& r+ v! ]/ Q8 G
1) class Example{
& F( ~& _. k, w2 R: r2) String str;
# d5 @) M* j/ U" C% z' J3) public Example(){: I. P6 [0 J. j. i) z
4) str= "example";
3 r+ `4 \9 q. p- t. t5) }
3 z1 i4 E- o0 e, r' O6) public Example(String s){
: P# m3 a+ t0 q* b4 d& \7) str=s;
) @4 ]% ]& I- Z/ }( R8) }2 B& h; ^0 i4 @0 W. M% l7 ^
9) }
' Y) X" U. T2 S7 j4 J10) class Demo extends Example{
/ W$ n$ ?0 l0 A, _$ Z$ f11) }
1 c v) Z, Y4 g: x; B12) public class Test{
0 C7 n; y( i \& E: V6 w13) public void f () {
3 ^$ ^- m6 X0 ]0 D+ N* b14) Example ex = new 9 c6 P5 @, L5 n6 b. g+ l% k0 P
A. 第3行# `' g; O3 j m; Q" Z2 C
B. 第6行
8 i, ~& Y& \6 w6 ?% oC. 第10行
# F9 v8 u+ i! X* YD. 第14行
) k% i- s: n2 aE. 第15行
+ A+ r: ^4 ^8 k& F( )8. 下列程序的功能是在监控台上每隔一秒钟显示一个字符串“Hello”,能够填写在程序中下划线位置,使程序完整并能正确运行的语句是 , \ }; |- v8 m# d
public class Test implements Runnable{ : B5 V( G9 q* J! L! s( t) `
public static void main(String args[]){ ' ?/ ^' S5 l" Z) G# T7 i
Test t=new Test();
; e5 ?% Q: @' B4 A- e2 R# WThread tt=new Thread(t); & N$ z3 w+ W/ r3 v
tt.start();
3 |- x$ Y/ U% h+ t} 2 G& h7 k! {1 R5 A( h
public void run(){
, ?+ k3 b6 G) z" Q# tfor(;;){ 6 I4 R9 h* D6 {
! ^' ?% I e' w6 d. \) [
A. sleep(1000) & n- O- `6 v4 ~8 R' J$ Q
InterruptedException
% ~4 U1 s9 v% CB. sleep(1000)
$ Y1 o3 b# D- K" E; i( W, eRuntimeException
7 P/ K* Q6 L. D1 A( OC. Thread.sleep(1000) 8 l# X4 e' ?; e7 q: C
RuntimeException* z' l- b7 J" N- d/ l
D. Thread.sleep(1000)
6 Y/ n! o" A l* {% ?- {4 x/ r9 TInterruptedException* [0 V9 I( _% o3 f# C
( )9. 以下哪个约束符可用于定义成员常量?$ P z1 k2 H* c; C3 m7 q% }+ i
A. static- v0 i2 l) {- k5 n3 Y m
B. final7 e6 p) G5 g4 L: S
C. abstract
3 F3 P6 B* C4 O9 PD. 不使用约束符, b: t$ J$ X, P9 w9 P8 U5 A
( )10. 你编译一个定义了5个类和18个方法的Java源文件。请问,当编译该源文件时会产生多少字节码文件,扩展名是什么?
5 M0 f( b( O5 h2 ]- @! mA. 23个字节码文件,扩展名为.class
/ _ v2 y/ g5 F% F( n$ @B. 1个字节码文件,扩展名为.class" b1 o* _8 |$ k8 w
C. 5个字节码文件,扩展名为.java( U) K6 b% V b2 h
D. 5个字节码文件,扩展名为.class
2 T% H" i0 o$ O Y+ B! |( )11. 为了获得参数lastname,在applet中可以写如下代码:/ M' @0 l8 T O) c7 Z1 u. z
A. String s=getName(“lastname”);8 w# ~* }8 K$ J0 D2 I4 C
B. String s=parameter(“lastname”);6 t1 X0 T$ X- H3 M
C. String s=getParameter(“lastname”);
8 G( Q3 |: F# [7 u3 ]( )12. 下面那些话是正确的?
$ }. P( e' c; w- w# X/ t3 NA. >> 是算术右移操作符 L* T+ z9 a* T+ t! c6 a; z
B. >> 是逻辑右移操作符) p+ T3 w2 S0 L: ^$ z! J/ e
C. >>> 是算术右移操作符: z1 j- N3 n r- S4 x+ m D+ s
D. >>> 是逻辑右移操作符' W. B7 r- a3 r: }& f5 V0 [
( )13. 若在某一个类定义中定义有如下的方法: abstract void performDial( );该方法属于( )。
7 ^, K; I1 c, {1 \' ^9 EA. 本地方法) A0 X$ O! @) A
B. 最终方法' L: P8 w E* t/ `7 ?
C. 静态方法
6 r9 K) x4 v* R7 j" x! P: a( [D. 抽象方法
) C/ a0 O' K, H( )14. 下面程序的输出结果是什么?) T2 B+ [$ _4 T' @
class C1{
% F) u. B& }9 Zstatic int j=0;: U2 o. p, ~: X+ Q
public void method(int a){
; ]+ I1 J5 \7 z( I/ b1 }7 pj++;! n( S, q0 \. f
}
/ K# ]3 D2 |6 l/ g2 ^+ Z}
5 L5 ?9 C# U1 z) `5 B, }2 Y: o4 Kclass Test extends C1{3 [2 Z- u, d+ W7 ^6 Y/ Y: u
public int method(){
: G. U% o$ w- J1 m% M4 K& q- Xreturn j++;( m; j! E/ k1 o
}6 [ S0 p3 i7 [; g' q" t
$ |. O4 h- R8 O- E2 k6 O6 z9 V public void result(){8 X; F( b% y& {# V- b
method(j);0 L! G+ a/ ~/ V2 E7 f# ?% c; S
System.out.println(j+method());% Y2 z- t6 c: o
}
) a- x0 ]* D' ?) `' s) u' D- {$ N public static void main(String
4 i' d$ T9 t6 @; z/ H, P# nA. 0
: ]' u# [5 x4 S% }$ lB. 1) i9 u( f4 @4 F2 S
C. 23 e- |/ z0 A0 n7 J! [7 t+ q _
D. 30 T0 N2 [) u2 Z# K$ e
( )15. 已知如下的命令执行
- m9 u, U l' ^2 f" Fjava MyTest a b c
6 F2 D2 [8 _/ u+ b/ r请问哪个语句是正确的?
7 P/ o3 i8 G. x& t) kA. args[0] = "MyTest a b c"
* f# A( c4 u, u& ?& G3 d# v$ e. eB. args[0] = "MyTest" ^; u. Y' u- I0 \" e8 Z+ z' s
C. args[0] = "a": l' E/ `" A& F0 M, b* [/ O
D. args[1]= 'b'2 O1 G0 L* O3 ^% Y% v4 c3 b
( )16. 哪些类可用于处理Unicode字符?. b' P6 [9 c! q" a: S+ i% \9 H" m) a
A. InputStreamReader9 q8 e3 H8 C& Y% w$ D9 t
B. BufferedReader
2 j7 O: l ~; g# ]7 pC. Writer7 m6 Z6 k0 ]. s! U$ D
D. PipedInputStream% o: _# k2 ?6 F( S) u' W w
( )17. Java的字符类型采用的是Unicode编码方案,每个Unicode码占用( )个比特位。
) u/ S1 V0 V [3 R: w$ H/ O# @- uA. 8
3 a8 A6 U- D' M2 [+ K3 Q/ O4 Y! [- uB. 16: l8 }9 G; R8 H0 h0 |" y
C. 32
' o2 q: [$ k; r- M6 D& A0 fD. 646 ?# a" P% h) f1 {/ d& ^3 V2 j8 l
( )18. 十进制数16的16进制表示格式是
a+ r( x& K( U4 ~ a( _- g' x& l0 AA. 0x10
& U5 g, _1 c7 P! [+ ~& ?B. 0x16
8 |- k/ R7 S" `. S" eC. 0xA3 J: {9 u0 _8 K' [% F
D. 163 [( k' b6 a& e9 j& o! I
( )19. 已知如下代码:
9 o% A3 V4 a2 \) ]# Gswitch (m)) `, z7 l2 F8 C# m. C. c5 \
{' p3 y# ?0 c0 b- p. Y" ?& Z: L
case 0: System.out.println("Condition 0");
" x5 H+ F, f1 P" E( ]3 B9 Wcase 1: System.out.println("Condition 1"); 1 `3 g# z$ q3 g+ o8 A9 p
case 2: System.out.println("Condition 2");
% \, N$ h1 Y) ~case 3: System.out.println("Condition 3");break;8 r r# [* S# T3 _- j
default: System.out.println("Other Condition"); ( z- D4 Q5 `% T6 a% Y, T
A. 08 T7 L; I6 Q5 V0 S
B. 10 Z% G9 K4 \! U
C. 2* f ]7 v7 v5 r2 [4 L# K$ Q
D. 3
0 _9 `2 b1 I* o' A' i0 F! C( aE. 4
3 f4 p5 }3 q8 S8 o, @4 vF. 以上都不是' k s6 C' C# T1 F: k
( )20. 下面程序的输出结果是什么?
. d8 K2 E! |# b8 d% i; L3 G' U$ _7 _public static void main(String args[])/ _& S- d" s! G. c
{* d" m; C) o7 _ |' O# [
int a=10;
. }/ B8 S# s2 A$ d g% F6 n! Hint b=20;9 L" n+ H/ D3 p6 k0 Q
if(a=b)1 d) F+ @# a4 X4 V
System.out.println("Not Equal");
. z& D8 b! Q& relse( y) P/ t# j7 J( ~
System.out.println("Equal");
' A9 T) _0 j8 T& l5 b1 }% G}
' U: w& k6 G9 P7 o" ~! OA. Equal
% N( @; s- a, l. yB. Not Equal; T7 x# b: D+ Y* {: }( ?. U
C. 编译错误
_# d! w9 Y, i5 B/ s6 c# QD. 运行时将抛出异常) g& h3 z, n+ n- i3 l2 ? _
二、读程序(每小题5分,共20分)
; T- I7 W) b8 Y' F0 |. x1、 写出以下程序的运行结果。
+ h5 Q1 @, G" S" h" l4 h" l7 G ]class StringTest1
6 U7 k' e2 `% t+ {* z# F{! R. ?& v3 e# O' s. w3 ^
public static void main(String[] args)
, e( n v' K- l {) x- e& O- z p/ E7 w
String s1=new String("hello");
) o9 F" Y! V: [7 A. h String s2=new String("hello");
6 Z1 {6 T U% F8 h! m if(s1==s2){
2 g; ~! Z2 q9 W7 o& B' K System.out.println("s1==s2");
, _$ D' u F: n: T, k }else{
1 x. ~$ P R5 n4 _ System.out.println("s1!=s2");}( V* e. P7 l s7 s& _$ H0 u3 y
}
1 }5 ]8 s5 |9 V: \% U+ F- k} / y- i8 K8 C8 b5 q* C& k
/ i" M0 Z+ w. x, Q( K; r" h
2、 设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 , 100 };1 h- c! U4 P3 u1 c+ a" y' e$ {
则执行以下几个语句后的输出结果是 。3 }6 V1 N- h9 { G9 u, c! Z
int s = 0 ;3 D( U G7 d O# c z
for ( int i = 0 ; i < MyIntArray.length ; i + + )
! O. X$ v! q. [; L s += MyIntArray[i] ;3 |5 ?# G- F6 M! S- S6 f) P, V
System.out.println( s );
; i* A. X1 ]- J/ u7 W
& }9 ~9 S; o$ g' x H! I1 ?
0 F( s+ {$ Q: _* W9 j/ e2 a. s7 V; Y
3、 写出下列程序完成的功能5 o# I2 j/ K- T- M8 _
import java.awt.*;4 T1 K4 C$ l# q' R" ?! c9 d, a
import java.applet.Applet;
/ n: Y& t }) O1 w/ a% Rpublic class DrawMyImage extends Applet! }$ a1 Y9 z( f# R
Image myImage; // 定义一个图像类Image的对象myImage
! D5 f q2 u" s- `3 F x( W0 w public void init( )
( q# ]+ B( m/ w1 x) C. n {2 N- g; j1 ]- c& `
myImage = getImage(getDocumentBase( ),"pica.jpg");
" g0 v, l8 T7 \; G }! |. F" j( V4 i; p; X* `
public void paint(Graphics g)
% B7 D/ a2 h* L5 f0 s) ~7 Z0 G. ? {
6 j7 w, I( y8 Z' t6 O& L& T g.drawImage(myImage,0,0,this);
4 Z) f x7 ~2 a ?; r" { }5 m3 S" D, w: A& G
}
7 M( c/ t% z, I/ Z& Z( j, y1 e
0 {, O% c+ M! Z5 c$ k' H! U- t% V0 x8 {6 k5 _1 c1 h
( L$ X" d0 d1 a5 b$ M
4.写出以下程序的运行结果。0 B1 K- ~# U7 j: O
class Parent
- ^+ s0 v6 s7 E! a3 |4 B# U{void printMe(){System.out.println("parent");}
2 |$ r3 f" F/ \}+ x( Z( D ~" v. }
class Child extends Parent) r" \) F w& g6 S
{void printMe(){System.out.println("child");}/ I! u( |+ w% t" ]
void printAll()
. U5 Z8 }) c) N{. w1 j" J8 U+ D. N. A
this.printMe();% q6 x; w( I- u
printMe();$ W$ m. O. q* j$ _7 }
}}' d& W6 e& F# g: F
public class A% j4 A6 w$ F) \1 \4 G) W4 ^ ?$ R* w: A; w
{public static void main(String args[])! s) E7 I& A ~ @( d; Z/ s
{Child myC=new Child();
8 M$ y: T, r/ Q5 y8 U* omyC.printAll();8 f# d3 a, b( ^4 B& m; r
}}
# F X- A/ o J; N/ O& U* J% v. `: b% f# r+ [& u2 D& q
6 V2 S9 a$ N' R8 \
三、程序设计题(共20分)
; A* Z7 R2 ~* f+ G% \, w3 R1.建立一个表示复数的类:私有数据为两个浮点数分别表示实部和虚部,初始化方式有1)无参默认为0;2)两个浮点数分别表示实部和虚部;外部接口有:以a+bi的形式输出的复数;两个复数相加;复数加一浮点数;比较两个复数是否相等。
' k( r* c& Q( U* u# P
; t6 T6 Z* J$ V( M |
|