|
一、选择题(每小题3分,共60分)9 _3 X$ s$ H1 i8 y# X
( )1. 阅读下列代码后
+ G, |6 s3 w0 D4 g( s5 ~: Epublic class Person{ , A L. o0 C$ h9 b% L/ j: w
int arr[]=new int[10]; 7 x7 ?# o; z8 ?
public static void main(String args[]){ % z5 C6 o; k- E6 {
System.out.println(arr[1]); 0 k# d. @) Y* @; c- R: j, @
} , h2 {! J" Z# l& s' U
}
& y$ c( D6 K1 B: I# `% M" Y正确的说法是
8 v1 n& {1 ]+ S; x8 Y7 XA. 编译时将产生错误
" e$ N) `2 ?' U5 CB. 编译时正确,运行时将产生错误- h4 M e" ~; w+ Q( V5 Q
C. 输出零
1 U' h% a4 F- Z' _& F6 ]: aD. 输出空
, W8 w* q$ d" e# P0 X2 J* c( )2. 在Java中,能实现多重继承效果的方式是
) E3 {, s+ w% l7 r4 C ]A. 内部类! v- i9 P2 b2 o
B. 适配器
* H6 w$ s3 g- pC. 接口
: D1 _2 _7 o8 C1 eD. 同步
0 t' j4 ?4 R' p* S1 n/ r( )3. main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的( )?
' F' G% \" V7 a. r8 sA. public static void main( )
# x/ ^2 x! B8 w! i2 dB. public static void main( String args[] )
/ C& A$ L G) K: MC. public static int main(String [] arg )
& S! g3 d+ I" z5 J, }: hD. public void main(String arg[] )! [ y9 G, I$ a' O8 E/ j
( )4. 下面的哪些程序片断可能导致错误。! C/ T2 I$ `" V- `
A. String s="Gonewiththewind";9 B8 D/ p% T: p- d% z5 C" l0 F
String t="good";
) A }- y D" V4 fString k=s+t;( O1 I1 ?' f. R) u3 d8 w2 @1 K
B. String s="Gonewiththewind";# Z$ e. V7 S/ H1 a' t$ l" w
String t;
' H' q- a" M: d) |! Tt=s[3]+"one";
4 N: h+ s/ L, g, xC. String s="Gonewiththewind";
/ |( e9 X! G' h2 D% _, kString standard=s.toUpperCase();
( T8 f2 [9 v' k3 w6 tD. String s="homedirectory";6 e4 M% H5 |& G# V; w
String t=s-"directory".! Z8 T7 A9 { ]1 K, y+ N9 y
( )5. 下列哪个选项是Java调试器,如果编译器返回程序代码的错误,可以用它对程序进行调试?# G' C2 R% G5 n9 a4 o7 C
A. java.exe( r/ e7 e5 W5 j4 V
B. javadoc.exe' q7 U/ \ x. C* J8 E- P+ u. I+ n. G
C. jdb.exe
/ m* x6 E( o" X+ O# XD. javaprof.exe8 \0 C# J, x; W7 ^3 i
( )6. 在程序的源文件开始处有下面一行程序:& r( t! `/ X& X9 [$ p
package awt;% S/ A0 q7 J$ W+ p2 [ q
A. 结果是一个编译错误,因为Java已经定义了一个awt包
7 k4 h. u/ i! V8 b- v. ]1 vB. 说明这个文件里的所有的类都应该包含在java.awt包里, B8 d. J; f% @
C. 说明这个文件里的所有的类都应该包含在自己定义的awt包里
% B4 Z; H k' g7 \! ]D. 导入你自己定义的awt包里的所有类0 l' Z* L: Y. N$ }8 J
( )7. 已知如下代码:6 e" @/ G* M+ K# }% A K) m
1) class Example{7 A6 Q' H% e2 T
2) String str;/ n2 |) {2 d) g8 l- `* k! x
3) public Example(){1 V& }3 [# |& u; y# H1 Z
4) str= "example";/ p5 E V b9 S" x
5) }; ?/ B9 k. [" r0 M
6) public Example(String s){; y* K. m! B5 R
7) str=s;
) M' Y/ c+ ?6 X( z5 y8) }
b6 B0 @( k f4 l9) }5 @: c* m6 E4 W& c) j; t
10) class Demo extends Example{+ L- X/ i* S, ^) ^, E# c
11) }$ [& g2 [* y6 ~5 c* H7 M: i
12) public class Test{
% X) V7 E# H. G5 _4 A- b13) public void f () {
9 B6 k- f2 L8 B$ x14) Example ex = new 1 A5 w8 v, Y% _7 Z1 D8 L ~
A. 第3行% M8 o" f) } {7 I" p! ?" q
B. 第6行
; @9 w2 Q( H: Q% `% i; z* {C. 第10行
) R% s0 Q; f8 U qD. 第14行" P& o: ^ S7 t9 h& l; p* U
E. 第15行0 [- N. {1 P7 P
( )8. 下列程序的功能是在监控台上每隔一秒钟显示一个字符串“Hello”,能够填写在程序中下划线位置,使程序完整并能正确运行的语句是 * f- V+ l' }% {3 v/ H G, _$ ~7 J
public class Test implements Runnable{
+ o4 t; b/ l9 m# U1 j Wpublic static void main(String args[]){ 1 J% e' z+ L0 \# @+ u
Test t=new Test(); ' M& z, E) Y+ a0 ^
Thread tt=new Thread(t); 4 U3 `' f) A. D& \2 ^* P6 C
tt.start(); % L; I; N- s1 w/ A( T9 e
} 0 D. L6 M4 Y, u8 R( I/ h+ j' L
public void run(){
, J9 Y; E3 U: r1 {for(;;){
' t2 h+ n4 |% i* s) H
* t2 _. \: B: j4 ~6 W8 P- MA. sleep(1000)
# N S3 ~( l) }6 cInterruptedException
" s& J: o3 ]; H% s9 p# F6 d+ r5 {B. sleep(1000) , }9 h/ U* Y& g9 X) U6 J
RuntimeException8 B7 ^* L. ~3 X4 [4 e B5 |
C. Thread.sleep(1000)
7 A% K8 c' Q1 S. P, p3 QRuntimeException
. G9 F* H$ l; k; F w! rD. Thread.sleep(1000) ( v1 \; K8 p& G& F0 S/ d" F2 U
InterruptedException
0 a% k' w- m# s- P3 h9 E( )9. 以下哪个约束符可用于定义成员常量?
( j% [& v4 W% F# gA. static
: c4 s% A/ F8 _. e+ K8 X9 AB. final& N8 N, u/ v3 j: A3 y# G! W
C. abstract
( L" ]# m3 s* ]# d9 E) ID. 不使用约束符: `" J" K0 K, S
( )10. 你编译一个定义了5个类和18个方法的Java源文件。请问,当编译该源文件时会产生多少字节码文件,扩展名是什么?
( f, d* I; F) Q; n( fA. 23个字节码文件,扩展名为.class
4 u7 S* [- ]( H- rB. 1个字节码文件,扩展名为.class
8 K2 N- S8 q0 e) d4 L* ZC. 5个字节码文件,扩展名为.java
0 `5 t) B [; y5 J: XD. 5个字节码文件,扩展名为.class
/ u F7 a" `9 B F- ]$ V! b; z( )11. 为了获得参数lastname,在applet中可以写如下代码:" o1 P. A; {0 G* w0 s
A. String s=getName(“lastname”);
. ^+ \8 v0 I' g! a V% BB. String s=parameter(“lastname”);
: X% p5 y5 U! T: Z+ q# j& MC. String s=getParameter(“lastname”);1 D% z+ C$ b, {1 t5 z" k3 Q
( )12. 下面那些话是正确的?
@) j% o p9 o% ~A. >> 是算术右移操作符1 z7 K) B! B8 P& h7 M- Q& D
B. >> 是逻辑右移操作符5 r. l( h' F5 b2 Q* _
C. >>> 是算术右移操作符8 _2 b _8 o, t% r7 w8 c- I
D. >>> 是逻辑右移操作符7 D) v- z. W2 Z9 c0 v% s( {' \
( )13. 若在某一个类定义中定义有如下的方法: abstract void performDial( );该方法属于( )。2 G2 Z5 S- c; \) M: |6 K% [ Z W& D
A. 本地方法
5 }6 w5 Q0 ^) U: C0 wB. 最终方法
y# E; S* s! U; ~/ v* M, tC. 静态方法
6 v5 O) @) b! u* W6 SD. 抽象方法
0 Q0 K7 a# I6 T$ D9 \8 R( )14. 下面程序的输出结果是什么?
& F7 g. m$ Y, g5 @$ z: w$ wclass C1{& C2 ~1 G( j9 T8 {. M d
static int j=0;6 i4 {" J- ?- C8 ]; W
public void method(int a){4 H+ W/ k6 [" J* G: t% \
j++;+ Q% k' r8 b- _- u" F# G$ `
}
! j1 `2 K! H% H! m3 \}( j Q$ p6 l3 H- c8 C
class Test extends C1{
" G$ B7 Z/ R, f4 hpublic int method(){! P3 I5 I. B5 J5 T* S8 Q7 g: C
return j++;+ z0 H+ H3 v! W, b
}
7 P+ p& e l4 M& Z6 t7 ]6 ^* u" k# s! s" X
public void result(){
( B9 o( P% g0 W, ^' O. \ method(j);
/ ~8 j5 K! R; s System.out.println(j+method());
2 u# X6 P9 ?$ v% g }# I& q ]5 L3 g. A; X4 S& o
public static void main(String
1 b7 R9 Z5 O% v% |3 _A. 0
9 ~. p. V8 k( M, O6 `: x0 {: MB. 1
' f% K" ]& k0 F& YC. 2
4 I# t, I) q! g( eD. 3
# t0 y* t% D3 G( )15. 已知如下的命令执行5 ]0 \1 c0 @2 m' G2 L+ h# T8 G/ n
java MyTest a b c
( d9 O' Z& _- G/ N, [: D# Q7 U请问哪个语句是正确的?: B7 m$ e% F- v. S$ c4 [! m9 h
A. args[0] = "MyTest a b c"3 L4 _: o; E! [ Z+ u
B. args[0] = "MyTest"
3 ~0 G: B1 ^/ sC. args[0] = "a"- I5 O' |3 t4 Y" Y* }' {' x4 Z2 |8 `
D. args[1]= 'b'
& ^+ ]6 e' @$ j* z" U5 Z1 P6 h! x8 \( )16. 哪些类可用于处理Unicode字符?
' C9 W) ^, z& x; M+ ]A. InputStreamReader7 C/ ^2 c0 @! ^
B. BufferedReader
: T- L0 P& V7 {/ P" d4 YC. Writer
8 H: f% m0 U5 L. i1 O. XD. PipedInputStream
* E; Y* x7 Q z) h( )17. Java的字符类型采用的是Unicode编码方案,每个Unicode码占用( )个比特位。
Z- C* T P( n# E- {* UA. 8* d( m: `+ |/ c$ ~$ O& W
B. 16
0 P4 W. G! k/ X" DC. 328 I" @. e$ z- F0 B' j( H" W
D. 64
- Q7 M$ o @: Y; N, q( )18. 十进制数16的16进制表示格式是
2 K+ { E4 f `* o. G- _2 `; {A. 0x106 F x3 m7 K" [ C: J$ R
B. 0x16
% H- A* o5 z2 A4 a _C. 0xA
$ j( f/ C) r# e# O, ?3 e5 D1 MD. 16
# N* u6 Z# w4 {. h; e' X( )19. 已知如下代码:. u: d: ~" {8 D. v0 X4 q
switch (m)
! i7 a7 y" h E& g7 g. e2 [9 h{( `2 a) {/ j" O6 Y% D8 ~
case 0: System.out.println("Condition 0");9 o/ |8 O8 B- ?2 |" P1 b% H
case 1: System.out.println("Condition 1"); : e+ |9 h9 ?0 F6 {+ T: x6 I) h
case 2: System.out.println("Condition 2");
" n ]3 ^3 U7 Z8 O$ Pcase 3: System.out.println("Condition 3");break;. D8 J0 j' `4 A5 b# w0 \
default: System.out.println("Other Condition"); 9 g1 I A( Z/ z+ B3 H7 P
A. 0
5 q* u* S' Q& N8 J) T& VB. 15 l' J* S* v) w" I% l
C. 2
& K# m) J2 B2 N: y8 O2 dD. 3
! F, h+ B7 R- |0 \E. 42 j5 ~5 G- s5 p: G9 a! y
F. 以上都不是6 C6 S; n5 H" U+ x, z4 ]7 V
( )20. 下面程序的输出结果是什么?
6 a0 g' a& b$ S6 Z& t7 @' N0 Epublic static void main(String args[]); M# Z# `9 W' O8 Q
{
: b8 z4 n5 v% [( ?int a=10;
$ {' ~3 b- }* g pint b=20;9 |" H9 O0 m4 Y
if(a=b)
& H- H1 J' C! B$ JSystem.out.println("Not Equal");1 B) N3 w; Y( \0 }
else
- P( z) v# b! r- X1 N' pSystem.out.println("Equal");" ^4 D$ u6 y7 z
}
9 K+ z7 G! @/ I aA. Equal
2 H5 i' s- e3 F# d" b. o* _. jB. Not Equal
$ Q! |, m6 {' D4 {C. 编译错误
% v" J8 E& |# E7 l- O. xD. 运行时将抛出异常
+ a4 d. W2 F. l- p; P* Q二、读程序(每小题5分,共20分)6 V- U( g+ T6 u9 A7 i) l$ e
1、 写出以下程序的运行结果。
3 J' @: W; t- R2 r J( |6 Vclass StringTest15 n5 I' a: U6 }# i! G9 D# [4 b
{
' K0 `) ], d+ N' e2 f. `' Q' a- X public static void main(String[] args)
: j+ d$ S& x8 o {0 l; g8 {3 e4 V6 z7 X2 n" P9 d
String s1=new String("hello");
9 e' T) g8 F" p" e String s2=new String("hello");
: g9 y0 ^' q' \ if(s1==s2){
) F' U; q0 J4 {/ X1 a System.out.println("s1==s2");( U2 Y- j& A e$ d9 S
}else{' S n* ^+ O/ ^7 f4 S
System.out.println("s1!=s2");}
6 T `$ E) S c" U4 k9 P5 \6 G) R }7 k$ I( \$ p& k
} * j8 g. t9 }& Q% N
3 @: m+ o$ p# o& l; Z
2、 设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 , 100 };
- _0 Y/ V6 l6 r' \. a& U; M则执行以下几个语句后的输出结果是 。3 Z u( T& P" | @$ Q6 F" R+ v
int s = 0 ;. x9 E/ I6 b7 S9 m, `. o2 G5 \2 q
for ( int i = 0 ; i < MyIntArray.length ; i + + )* Q' N T$ Y4 h8 w" |/ M, n+ r `
s += MyIntArray[i] ;
6 e% s, Q! m1 E1 LSystem.out.println( s );# z2 p, z" S. b" w5 V; ~4 w
9 R4 u, U6 I1 z3 u4 l
. j- T2 T$ ?) p% e4 a, b' p+ W0 K" x8 Y: K! L0 j1 ?) E
3、 写出下列程序完成的功能4 K& q5 d" r' x2 N, o( a& a
import java.awt.*;" _% Q- p6 A; e- k: {; F. k6 n
import java.applet.Applet;( ]+ ^. x8 c; C# O
public class DrawMyImage extends Applet
* c) J! R" p1 P! ?1 j* NImage myImage; // 定义一个图像类Image的对象myImage$ I: Y0 c( i( ?
public void init( )
n" L; Z7 X) K- K* N6 x: c! A8 G {
" a' x; y7 r: ? myImage = getImage(getDocumentBase( ),"pica.jpg");. g& [8 `* e/ R
}
1 R, J, S. H) H! k+ ] P1 F public void paint(Graphics g)" O6 A. O# T& m. `4 D
{
& D, k9 N$ }# X g.drawImage(myImage,0,0,this);! X D+ d- ?5 v9 R: X
}
) h6 l: F6 W" x}
5 u6 R+ `$ s2 ~6 K3 N5 P. }
# L$ D: }+ H9 l: @. W0 J9 }# u& C2 f. {) x+ _1 m: Y k
; P. V" t7 ^* K% }4.写出以下程序的运行结果。% H: p Y6 o0 w
class Parent/ H; z6 E' Y0 s( |' |& m
{void printMe(){System.out.println("parent");}
7 v7 U u+ \5 x' t" K4 ^ E}
7 i) O. f ?: {0 Bclass Child extends Parent/ C4 O7 _# `7 I2 [
{void printMe(){System.out.println("child");}. k6 o. m, Q/ d n8 B9 }
void printAll()
l" w7 {4 ~! h. N" \# Z6 x{
. h( r) E Z" t$ s9 N- e: athis.printMe();
+ L- G( B& D) P5 VprintMe();
4 H3 Y- y* T2 E}}
; _' I! Z3 o, bpublic class A
9 O; T" i, j% k. E6 o. C{public static void main(String args[])+ T7 V; M# G# |' z
{Child myC=new Child();$ D( p7 ^& |: L8 t
myC.printAll();6 ^$ j0 F5 d: z# n: O+ \
}}
' `' S. w/ J& g B4 ~' j/ Z
/ F$ q5 k, t1 K5 b
. o8 C- R3 M; o8 F: a三、程序设计题(共20分)& T9 ^' \& g' T, R3 d- E
1.建立一个表示复数的类:私有数据为两个浮点数分别表示实部和虚部,初始化方式有1)无参默认为0;2)两个浮点数分别表示实部和虚部;外部接口有:以a+bi的形式输出的复数;两个复数相加;复数加一浮点数;比较两个复数是否相等。: \! P! a1 d; u" P' L( B
+ r9 y' K1 i4 C: B* G; k1 ~3 i
|
|