|
一、选择题(每小题3分,共60分)8 p* L7 q- R" c8 \8 N1 Q) V: s
( )1. 阅读下列代码后
4 w. }7 f# R: z' @) v$ @4 }, i1 Kpublic class Person{
5 z* V. j1 [/ Y% fint arr[]=new int[10];
- G4 Q5 y0 v0 |5 `! B7 Gpublic static void main(String args[]){
) w9 O% D' r5 PSystem.out.println(arr[1]);
3 N4 x1 }/ f* R$ \} ; n9 x5 v+ x @- J
} 7 U: c$ s' [# s
正确的说法是
# V9 Y5 @ V7 b0 lA. 编译时将产生错误
: D8 d1 Q8 M: `" i6 `$ A& \* V H) mB. 编译时正确,运行时将产生错误
; _/ Y! Q, t9 [$ u0 |C. 输出零* E, C* v& n" O1 H7 n! i" L
D. 输出空* }2 N* A0 m1 k, U2 M
( )2. 在Java中,能实现多重继承效果的方式是
. G ~+ a- N4 E ~A. 内部类
% {% @$ \- c: w5 ]; N8 ZB. 适配器
) o, R3 F. w4 Z: Z0 kC. 接口9 o/ K( q4 w: N6 `4 z
D. 同步4 M( a* F- ^" v+ {
( )3. main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的( )?
+ X* m: e3 r/ Q3 p; M6 }A. public static void main( )( U$ ]0 Q% n4 Y- ~, G' Q* \0 k/ O
B. public static void main( String args[] )8 d1 @3 B, w0 a1 D [, H0 J9 ^
C. public static int main(String [] arg ); K- \- h/ M% Z& Z0 `
D. public void main(String arg[] )
) n0 `7 B' U* f, S( )4. 下面的哪些程序片断可能导致错误。" g6 p7 j) u3 Q3 j7 K @! ?. j0 D
A. String s="Gonewiththewind";! Y0 v- n- B8 U8 q6 ~
String t="good";
9 w' r1 Q. r {; Q0 ?5 LString k=s+t;
4 D* M2 b9 L& T7 I5 iB. String s="Gonewiththewind";
6 l% m. ~- A& n s! P6 e( E/ DString t;$ q: g3 ~8 M+ M3 C4 P- ]
t=s[3]+"one";) Q' L+ L+ w9 [( l) @, Q+ |! ~
C. String s="Gonewiththewind";' ^) y8 k5 b2 \8 b2 @$ o" W& J
String standard=s.toUpperCase();- ~5 C, z( Q2 p, |4 V" ?: j0 S
D. String s="homedirectory";* q, t/ Q9 M' z# L, z" T
String t=s-"directory".
+ H2 n2 Y. B$ o( )5. 下列哪个选项是Java调试器,如果编译器返回程序代码的错误,可以用它对程序进行调试?9 v, I" S5 E% \) u: b' Y6 x
A. java.exe' T+ y) j; t0 {1 m
B. javadoc.exe# f, h: Y8 t2 N$ I$ A( }$ u
C. jdb.exe! p; B) K+ s7 U/ g5 y/ n5 O- b! N$ V
D. javaprof.exe8 c8 l( O- G5 \
( )6. 在程序的源文件开始处有下面一行程序:7 c9 h1 g$ m' [/ M$ t
package awt;
! c" C, d! J$ \3 O9 w$ |A. 结果是一个编译错误,因为Java已经定义了一个awt包# c% {' a. {, j0 ]2 L: N
B. 说明这个文件里的所有的类都应该包含在java.awt包里: ?- J p+ s6 J1 X
C. 说明这个文件里的所有的类都应该包含在自己定义的awt包里& j' [9 k' u1 P1 }
D. 导入你自己定义的awt包里的所有类
( i1 ]3 S8 M1 |; V+ ^( )7. 已知如下代码:. _! @2 \. X! L& D7 K1 U
1) class Example{
2 L0 u4 e- E& u) C4 V9 `6 Y7 H2) String str;
_) V, F. w& n Z! a# C+ u2 S7 `3) public Example(){
) G/ i, s8 Z* F" V" R# ^; R4) str= "example";
, }: W; s2 E, v5) }1 r r; \# e+ g
6) public Example(String s){
, k) t _& B" j" g! V7) str=s;
$ w5 F4 |: f0 u; ?8) }2 G* _9 ^$ T( c
9) } U! W! W! G( p
10) class Demo extends Example{
) i' f9 o/ c8 p T. p( a6 A11) }) j/ A# y% e& J% ^$ l
12) public class Test{9 H, ]1 S# @" b' p5 F2 }# h
13) public void f () {
5 V3 v; M, B. `* |4 ^1 v14) Example ex = new R2 T% z7 u- R/ B( K2 Z! O: J
A. 第3行
# p, Y! w( A, g7 }4 b0 BB. 第6行- L" Q2 X1 P$ E7 Y4 N) j
C. 第10行4 o6 [( I0 o( I
D. 第14行
( p$ c$ v+ A% g9 a5 |7 }E. 第15行
* [3 f. P( f5 k ^' _* S# z( )8. 下列程序的功能是在监控台上每隔一秒钟显示一个字符串“Hello”,能够填写在程序中下划线位置,使程序完整并能正确运行的语句是 5 ?! N* B' W9 r" L) N
public class Test implements Runnable{ % F. s" g2 K0 V0 {
public static void main(String args[]){ l8 T) I6 Z- V# s" p' T, G
Test t=new Test(); ( |4 |2 p8 l2 g6 L5 ^& H5 V
Thread tt=new Thread(t);
5 e9 o7 U$ n0 a5 Qtt.start();
* F, Z r% r: |* Y+ i. | r}
6 i6 w# g9 |/ c8 A( p1 Vpublic void run(){
6 T1 G! o+ u) n9 }& ofor(;;){
! [& Q9 U r6 I: ~* G/ u$ S; e" G' Z5 S' |
A. sleep(1000)
" ]+ s' X2 L0 r1 a' |% e0 C, qInterruptedException
5 |( _1 a7 i, c7 K, pB. sleep(1000)
# ?( h* _* c3 k* IRuntimeException$ v7 ^# A3 K2 D' a' l! E6 d$ o' J
C. Thread.sleep(1000)
/ Z( k# F$ t) yRuntimeException
! i6 n' T: }' c# A% tD. Thread.sleep(1000) % p* w" Y0 G$ E* D& P
InterruptedException
1 C) g" B9 t1 X( B1 v6 O( )9. 以下哪个约束符可用于定义成员常量?
/ q( {4 e" w# jA. static2 K/ W: n8 H' Y& _# J
B. final
3 A H# k* w9 T" @C. abstract& V3 \ B, z) Z" h
D. 不使用约束符 y5 K4 E6 x* @; _1 w; }8 z; x' x
( )10. 你编译一个定义了5个类和18个方法的Java源文件。请问,当编译该源文件时会产生多少字节码文件,扩展名是什么?
- U- M( ^* x8 A& c0 WA. 23个字节码文件,扩展名为.class
/ a" G; C' p( f( ^8 m; @% `5 EB. 1个字节码文件,扩展名为.class' \0 Q! r/ F9 A) U0 h( j) M
C. 5个字节码文件,扩展名为.java. O! i$ l0 `" ^9 A) _6 P5 U" y, c
D. 5个字节码文件,扩展名为.class a# s. r5 W" j
( )11. 为了获得参数lastname,在applet中可以写如下代码:
9 q# w- u3 D% j/ v. W2 w' ]( S# YA. String s=getName(“lastname”);
g2 @% {& E4 IB. String s=parameter(“lastname”);# @5 f2 ~. |# c0 Y
C. String s=getParameter(“lastname”);9 x. N' C. [% u s# k' q8 l4 }* U
( )12. 下面那些话是正确的?) [1 ~% q- G7 G) W" _
A. >> 是算术右移操作符
$ a6 w: X0 M2 Q% {; rB. >> 是逻辑右移操作符
* S) [ |: F3 x6 _- Z. @3 a7 ?) ]C. >>> 是算术右移操作符8 N# s. l$ U2 \
D. >>> 是逻辑右移操作符; O9 b* Y# Z" D6 L# r$ F6 g) }
( )13. 若在某一个类定义中定义有如下的方法: abstract void performDial( );该方法属于( )。- z6 j, f( X+ w+ i
A. 本地方法
( c& Y8 }9 z+ ]& ?" Z$ w5 r. wB. 最终方法
3 f7 H% ~ A4 q/ F/ J# MC. 静态方法! o" ^$ F+ [4 h* B% ~
D. 抽象方法: x3 r1 f$ y3 S) _
( )14. 下面程序的输出结果是什么?' w; U4 i- u \' `6 v J# ]
class C1{
$ Z! h# G! R. e4 rstatic int j=0;8 O& K/ F2 [+ A' D
public void method(int a){1 }5 X. X! I' @! H: g# h6 G) \* p+ [
j++;
/ x0 J* Y8 r# Y}
; S* T& Y6 {/ Z( I' {}
$ q: o _' p$ E& R/ [, Y8 w+ bclass Test extends C1{3 w; \5 W) `8 }; U. C, H8 k- [
public int method(){
' x. g2 `( \ C# o4 w1 treturn j++;
' C2 _6 \+ i3 Q }
8 s- r6 K/ r* L! Q5 d8 ~$ b. z( T
3 P) t& q5 {. c. Y! k! o" t. G public void result(){ N) V! D0 [3 o& u) k5 n
method(j);
; g) x( n1 } e, y1 t System.out.println(j+method());
, Y0 F0 V8 \9 S6 y( w }
: i+ \4 O# x2 A8 A: P5 n public static void main(String ) M% J% V; a \& |1 v8 ?. x
A. 03 w7 }+ L9 u0 w' y9 G
B. 1
L# m4 v0 N/ r- ~* }9 {C. 2
6 k+ w% t4 q, ^+ B6 OD. 3% V; L- G4 c* V, [
( )15. 已知如下的命令执行
" k; u y" f4 ~" b# |java MyTest a b c
3 a& }' {* I8 N% U2 O请问哪个语句是正确的? p q& ^: L$ L, }
A. args[0] = "MyTest a b c"% p8 o# E' D4 y0 A( W" C$ ~* c d" R
B. args[0] = "MyTest"
' o0 n- I4 A- IC. args[0] = "a"4 ~4 ^! S1 J* g2 C- [
D. args[1]= 'b'
$ E3 `; g2 w4 g' b0 C( )16. 哪些类可用于处理Unicode字符?
/ H) O* v+ i: Q7 D7 c4 P o- FA. InputStreamReader
! N7 m! x+ K5 b" b) \; l. cB. BufferedReader2 }- H1 ~, j3 z' C
C. Writer9 a3 I& y2 f9 W- M
D. PipedInputStream
. I" b! |3 g4 d( )17. Java的字符类型采用的是Unicode编码方案,每个Unicode码占用( )个比特位。
$ Z3 q: T7 L$ w% b' b. QA. 8
/ x5 z5 Y8 U+ FB. 16" I- H7 b$ a1 _* k& }" e' v1 k7 p
C. 32
( [& a! j0 B M1 S4 eD. 64
[! Q& u1 b; h5 D. B% k# n: A4 V% q( )18. 十进制数16的16进制表示格式是
1 H# R4 i) Z o' @# R; D( KA. 0x10
* }9 V& |8 I" OB. 0x16; L1 n& I( j( ~$ }6 E
C. 0xA
# K8 N6 {4 {+ C$ N. S; E% B! n* MD. 163 n0 [4 a, \) s+ c" {5 U
( )19. 已知如下代码:
' k$ C2 Q; z) G1 Qswitch (m)
3 \3 D& h K) s" g' r3 n1 l+ \{
: Q/ T- O. Q2 V0 k- a! u( Mcase 0: System.out.println("Condition 0");4 F5 Q& G7 m* @1 o. x
case 1: System.out.println("Condition 1"); 1 Z2 ^* Z8 e2 \0 d: ^7 y6 g
case 2: System.out.println("Condition 2");" F+ J' N% s5 x/ W0 `. \
case 3: System.out.println("Condition 3");break;
0 O9 X& ?4 K2 V1 J" wdefault: System.out.println("Other Condition");
2 _6 W: \+ |0 tA. 0. h5 N& d4 J: m
B. 1
7 ]: ]/ o" W" d( pC. 2& k; |. p2 z& @, x' [# ?2 K% q
D. 31 P" S: `$ x, |. b7 k
E. 40 X0 u7 F, w$ w- i* R
F. 以上都不是9 U2 I* k% ?! V7 H2 I
( )20. 下面程序的输出结果是什么?
; h' h0 M8 f" P, M# C5 }3 lpublic static void main(String args[])
C- x! z0 D+ r{- `* K, y7 R; M) y7 ]6 h
int a=10;$ x, P- g. E! v) a# x7 h
int b=20; N6 g# S6 ?- v/ ~! Q6 S4 T( W
if(a=b)9 n8 N! L0 D2 W% U
System.out.println("Not Equal");" l0 ?" h0 G, ~$ `) C/ l3 U0 z6 Z8 u1 S
else
h* a, U/ ]! C( y& J" x. ?System.out.println("Equal");
$ _/ R8 S* P4 q4 K" D$ Z}8 e. S; b5 I3 V o7 t
A. Equal' I/ l. B4 e. Z M, ?% A
B. Not Equal# t/ G$ ], f" C
C. 编译错误$ W' }' `) o6 s; [0 [
D. 运行时将抛出异常5 Q. d9 g5 r. r0 n- d6 a
二、读程序(每小题5分,共20分)
; q+ H* q8 t, l* Q# L1、 写出以下程序的运行结果。! h) x0 s9 {/ }
class StringTest1
. `+ ~8 C: |7 P/ K/ B3 ~{! n5 X+ M+ N( {; O4 t0 g
public static void main(String[] args)
& B- |& l: b G: o' [2 c {$ z+ j$ y9 p; Q7 e" B. ^4 q/ M3 O# ]+ U
String s1=new String("hello");
$ e* C+ f1 g9 X. v, t3 h2 F String s2=new String("hello");9 `. m. ?) n5 x* x
if(s1==s2){& V: C$ M2 P% F2 F' z$ I8 l% R) i
System.out.println("s1==s2");
* }, T8 m3 n) W7 S/ h }else{
& l8 s3 v5 o* E System.out.println("s1!=s2");}
: E6 Z. P o C. |3 V6 C }2 O7 C7 v' s; v5 H ?
}
9 X+ p: }' j- a7 A6 b1 K9 d, h" I9 n1 p0 o' N* ^2 e f9 l; E
2、 设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 , 100 };
: g* |0 [, i0 z, w+ o9 b则执行以下几个语句后的输出结果是 。0 Q, G. ]2 T2 K# I ]
int s = 0 ;, G3 c, d( @, E1 o6 x' N
for ( int i = 0 ; i < MyIntArray.length ; i + + )
0 G1 ? C) x! {; i3 L s += MyIntArray[i] ;+ u4 M+ M: m. m# v; _
System.out.println( s );" p" t* R& t8 X% L. F8 _
+ f( J# a f! S4 a ~# h
/ [1 E3 e. C, q2 a4 d8 S4 q' ?
# ?- a% q: O* U. I" C$ G* \3、 写出下列程序完成的功能6 p) a8 y* i" E9 V6 J4 A
import java.awt.*;: B( P5 d- y* ]. }. K
import java.applet.Applet;
h5 {: M }% m4 Q8 }public class DrawMyImage extends Applet
$ ?( n, [& x3 }) m- CImage myImage; // 定义一个图像类Image的对象myImage$ t1 N( J' @4 v8 C9 J
public void init( )" P8 a$ c6 Z6 f6 |# F, t9 }
{. k' l B) d) m( f7 z2 l
myImage = getImage(getDocumentBase( ),"pica.jpg");8 q1 J1 k8 T/ S, E$ s' g
}
" J/ P+ [6 P u2 f2 F+ H3 r public void paint(Graphics g)
* m d$ y+ L4 e; x* O {
" N) [+ m: d! s% ]: g f g.drawImage(myImage,0,0,this);
+ P1 e8 Q1 l8 L( }" c }
- u3 ~& E; ^( Y2 L2 Q}9 X4 X1 b6 J& Y, p
/ N) D5 j5 i4 X: F% ]5 J
6 y% j2 q% ^& e, D5 ?! j8 e( x
3 p" g6 G2 N3 {" W" K3 f8 V4.写出以下程序的运行结果。
( f/ U/ ?4 `& Qclass Parent
: P/ a, L1 l, l2 d{void printMe(){System.out.println("parent");}/ |8 L( _/ G& w6 [5 ?4 h+ ^" u
}
3 c/ o; B2 [: H$ ^class Child extends Parent
$ m _5 F' T/ A{void printMe(){System.out.println("child");}
. o. [* c& ]. e+ g5 Nvoid printAll()
& a, {+ \" O8 e( n0 N$ t{
2 Y9 d/ C/ D8 k" I2 n9 t8 Dthis.printMe();
0 F i; s6 O$ x4 [9 rprintMe();+ q4 }) ?" c% y# c& v
}}# ^6 ]; g. e% \% d1 ]9 O
public class A
( [+ ]3 t& x3 X2 E{public static void main(String args[])
; H* P( @' s' `{Child myC=new Child();6 X% n% g s* V: | T) F* k( Z3 C0 b8 Q
myC.printAll();/ ^- S4 R$ |: M5 z
}}# i% ]; s$ o4 s M( y/ b6 [
8 K0 a* n3 t0 R
, C& {) i3 d# Y+ D P, W三、程序设计题(共20分)
- o& ]+ @; {- R1.建立一个表示复数的类:私有数据为两个浮点数分别表示实部和虚部,初始化方式有1)无参默认为0;2)两个浮点数分别表示实部和虚部;外部接口有:以a+bi的形式输出的复数;两个复数相加;复数加一浮点数;比较两个复数是否相等。
) P$ K- o) F: R( Z( r3 D4 ]2 G9 \5 D( A( ~
|
|