a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 231|回复: 4

[考试试题] Java认证:Java笔试题附答案

[复制链接]
发表于 2012-8-4 12:33:16 | 显示全部楼层 |阅读模式
 一、单项选择题
- _' Z7 c! F% Q7 k8 h- [5 |  1.Java是从()语言改进重新设计。
* C$ E& |. d/ {; \  A.Ada9 E% K( F, x- N% ~5 O
  B.C++2 d, N8 M9 F" k9 I/ {, }- L
  C.Pasacal
! }  Q7 I/ e) [  D.BASIC1 B7 L. ?% W2 T5 p" F. m1 _9 _7 D
  答案:B8 |4 K" v! k- m" T0 u2 ]
  2.下列语句哪一个正确()- m8 {) T7 R* u7 m7 h/ y8 D" S
  A. Java程序经编译后会产生machine code  ]) b7 a; r" [1 d: i( D/ a) J
  B.Java程序经编译后会产生byte code6 E+ [5 W, d) r. b: |
  C.Java程序经编译后会产生DLL
- Q: G/ k& Q! b; e% Y* f( |  D.以上都不正确  v9 t( L" d% `' ?  \+ ~
  答案:B4 b0 I, W3 e& o
  3.下列说法正确的有()
. p) S8 t& E7 \3 G  A.class中的constructor不可省略/ p9 x5 p, }& X% a$ W) n
  B. constructor必须与class同名,但方法不能与class同名
! M9 X, b. c5 v5 L8 e, P6 r  C.constructor在一个对象被new时执行8 B( c. o( g9 c, f  C, ~; [
  D.一个class只能定义一个constructor9 q0 V2 [- t5 x' s4 U1 P* G! E! n- n, s
  答案:C
8 A8 e" X7 H6 p: _4 D1 j  4.提供Java存取数据库能力的包是()
+ _2 m$ D5 q) @* P  A.java.sql2 R; ]& t- A8 d/ v& G; t
  B.java.awt' r* T% h! c$ h. c0 k
  C.java.lang- o, ^8 {* W& N+ b6 B4 Q3 T
  D.java.swing& z( Y  X$ Q# f$ Z" X" C' O/ J
  答案:A8 `# k$ q+ v" J( C
  5.下列运算符合法的是()9 `: C% f- q+ Z0 h9 n8 D+ Z
  A.&&
3 \  O; c# d- |  B.
! O0 i  U$ `! i$ h9 L% G- u  C.if
, s# k% V7 X. M  D.:=  K) P3 {& H0 O. ]1 e$ g) \
  答案:A
5 {& k$ i: e/ D2 }  T4 @( e3 x  6.执行如下程序代码
5 K) U3 [$ A) M" O7 p" ?/ p* J  a=0;c=0;! t) B7 S' m3 E- g7 [6 m
  do{
2 i0 Z/ R1 }1 p8 B. e% @  --c;, }9 o$ D( W( y4 V" _
  a=a-1;( [) H1 p  X7 o2 @- h  _
  }while(a>0);
4 D/ g& x6 M% c! |( \# D/ P  后,C的值是()
5 k  b  p$ T6 V  A.02 h4 p, m, T: {, ^: H3 C
  B.1
* b) p( z4 }3 V$ @6 ]  C.-1
9 s% G3 q# J: n# T' }8 ]* e9 P6 F  D.死循环
5 u4 x$ H5 R( J  答案:C
0 n- k% P) o9 h: ~3 _  7.下列哪一种叙述是正确的()  ]$ J  c3 J* v' f( z( w: Y
  A.abstract修饰符可修饰字段、方法和类
7 l7 S. K! c8 |- G, i4 j  B.抽象方法的body部分必须用一对大括号{}包住
% o. \2 n) E0 C# L0 F- N1 O8 B6 J  C.声明抽象方法,大括号可有可无
% S1 U$ e/ ^. R: D% X- q  D.声明抽象方法不可写出大括号
1 n$ j( l5 {) ^3 E  答案:D
4 R, @/ R/ O  ~7 Z  8.下列语句正确的是()
! [/ h4 _9 t6 B: H- @6 B& R' M4 B7 k  A.形式参数可被视为localvariable
' w+ A! N1 K; H6 {2 W. W  B.形式参数可被字段修饰符修饰& Y! K5 B: D3 @$ e4 w6 y) n$ M
  C.形式参数为方法被调用时,真正被传递的参数
% t% ~5 f8 n' d8 \# X# s2 ~  D.形式参数不可以是对象  g3 n+ f( `7 M
  答案:A
3 W: Y1 d! ~& j0 L6 O' h4 |2 U  9.下列哪种说法是正确的()3 x4 {( Q% G4 k# J$ n
  A.实例方法可直接调用超类的实例方法( `' p  V# k2 w; N
  B.实例方法可直接调用超类的类方法& [% O  t& c$ |7 M, n. X" B; b8 x$ d
  C.实例方法可直接调用其他类的实例方法1 d  N/ S$ Q! t" i
  D.实例方法可直接调用本类的类方法
; z) ^6 G, p3 t$ z4 B3 y5 M+ Z5 `  答案:D
回复

使用道具 举报

 楼主| 发表于 2012-8-4 12:33:17 | 显示全部楼层

Java认证:Java笔试题附答案

 二、多项选择题- F' t& H; k# c; a. G% P
  1.Java程序的种类有()
- o- o2 o/ h: F* [& B3 _- j  A.类(Class); Q( z- {  l3 R/ b
  B.Applet
1 `( T. ?( p' y4 n1 _  C.Application
* `  g. Z' Q; W5 @  D.Servlet2 B. |/ O( s, w4 m& V/ y
  2.下列说法正确的有()' I$ X& Q/ P! q4 y5 T; K; b9 L$ v1 m( s
  A.环境变量可在编译sourcecode时指定5 r+ `& h1 c+ z5 x  B  z  v
  B.在编译程序时,所能指定的环境变量不包括class path* O+ I$ @  j% F5 `! z; ]
  C.javac一次可同时编译数个Java源文件
  O( d) M6 L9 a* L/ g  D.javac.exe能指定编译结果要置于哪个目录(directory)2 u5 z* F# H8 q4 V4 X
  答案:BCD  d  G0 V4 d: _. [( U! J! j
  3.下列标识符不合法的有()
0 M6 z4 L6 W5 h) C! ^' }4 v  A.new
" z0 B" W- `% I6 z: j  B.$Usdollars
4 X8 |$ O8 x8 T$ s/ x* ~  C.1234
' p9 P% z3 E5 v3 C9 g  D.car.taxi9 @/ n+ J: u! [: q( D
  答案:ACD
7 h, S+ k) M$ q. a( k) a0 _  4.下列说法错误的有()
2 ]6 l" w& g4 A" b; Q# {8 g  A.数组是一种对象' C$ g" G5 g5 }: h
  B.数组属于一种原生类1 y3 I" f7 Z9 Q/ v9 f
  C.intnumber=[]={31,23,33,43,35,63}
. s; h0 l4 o! G. F) q& _' ~1 V: \  D.数组的大小可以任意改变
6 @2 n2 b/ m7 n$ J4 |$ _  答案:BCD' S- o1 @* D+ k
  5.不能用来修饰interface的有()) \% O5 T- k! Q* `, u
  A.private
5 S1 c& j! V0 C  B.public
8 t* m8 i' `3 Y: f# r  C.protected- w# b! G; v$ s# ^. I, L
  D.static. Q( g: W( }* C% M: H3 m# h
  答案:ACD
/ [' o+ D' U6 ~$ v  6.下列正确的有()
' |: K  A4 X2 j7 P/ T; w- m* N4 L  A. call byvalue不会改变实际参数的数值3 ~' m! g& e' g  j; c, j9 z
  B. call by reference能改变实际参数的参考地址
/ A' Q2 p: c- n( f% S) P" [* _  C. call byreference不能改变实际参数的参考地址1 ^! T% s6 F# {: {8 ~
  D. call byreference能改变实际参数的内容
9 G, c2 \, `1 I' a  答案:ACD
, d. {# N( c6 l* h6 P4 f3 i  7.下列说法错误的有()- W' D; g# O; M
  A.在类方法中可用this来调用本类的类方法) U/ f; E# l( s/ K! [
  B.在类方法中调用本类的类方法时可直接调用' u9 N, K7 Q! _3 @; ?) G
  C.在类方法中只能调用本类中的类方法
$ H# m$ ^6 w" C5 U  D.在类方法中绝对不能调用实例方法9 [& l/ u& v* a. B8 ]3 r% [0 \9 ?
  答案:ACD2 U2 ^7 v( t2 n2 p. \* z- y
  8.下列说法错误的有()6 E0 g- Q& t9 C) K0 _& S
  A.Java面向对象语言容许单独的过程与函数存在4 c7 U, E( v  h  B4 n% B' z  w' d
  B. Java面向对象语言容许单独的方法存在
* ]3 J, K- y6 n. g* H: h2 i& ^  C.Java语言中的方法属于类中的成员(member)
' E1 t2 m2 f% [* O$ h) P$ H  D.Java语言中的方法必定隶属于某一类(对象),调用方法与过程或函数相同
, ^1 ~3 K/ M4 m: {  答案:ABC
1 \/ f  {/ Y6 d  9.下列说法错误的有()" |/ A: k: `7 i- Y( r
  A.能被java.exe成功运行的javaclass文件必须有main()方法3 F3 k  l- M- I
  B. J2SDK就是Java API: I  ~1 i0 ]8 d# }2 |5 ~/ m0 u7 i* `
  C.Appletviewer.exe可利用jar选项运行.jar文件
+ x4 M- R" N8 B7 M! Q  D.能被Appletviewer成功运行的javaclass文件必须有main()方法$ n' u  {# {0 L% |7 r
  答案:BCD
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-8-4 12:33:18 | 显示全部楼层

Java认证:Java笔试题附答案

三、判断题
9 L& V1 _1 a2 n. L9 h  1.Java程序中的起始类名称必须与存放该类的文件名相同。(). O$ ]& ^/ [% B
  答案:正确" Q- d+ v3 K" y. O
  2.Unicode是用16位来表示一个字的。()7 h9 P) ~/ N; ]% Q6 [
  答案:正确
" ~7 j9 I2 g# X% o9 V  3.原生类中的数据类型均可任意转换。()4 W1 P' w  ~0 [) G/ H
  答案:错误0 C2 R! _, J. O! z
  1.分别写出BOOL,int,float,指针类型的变量a 与“零”的比较语句。. o: ]5 L; G2 q* n' h( W- f: U
  答案:
! y+ u8 w+ O: B$ H% V9 {) O  BOOL : if ( !a ) orif(a)
6 l8 o2 Z5 k% t- z  int : if ( a == 0)/ ?/ Q6 `. E5 D9 V+ y" D
  float : const EXPRESSION EXP = 0.000001& E$ m! B" S  w& l' }1 R
  if ( a < EXP && a >-EXP)! B0 h6 R% g& D- E  x1 W
  pointer : if ( a !=NULL) or if(a == NULL)% F4 v" I) H8 [  J6 B& X. c
  2.请说出const与#define 相比,有何优点?
# q# ~4 w& f" A* h8 e7 ]( B( C# v: r  答案:1) const常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查。而对后者只进行字符替换,没有类型安全检查,并且在字符替换可能会产生意料不到的错误。# u  g& k" ?* `
  2) 有些集成化的调试工具可以对const 常量进行调试,但是不能对宏常量进行调试。  v" N6 u& X0 u5 {3 e
  3.简述数组与指针的区别?
2 _+ X4 c' k( g( C- C  数组要么在静态存储区被创建(如全局数组),要么在栈上被创建。指针可以随时指向任意类型的内存块。
. c0 |+ J2 P- b  S3 |1 |  (1)修改内容上的差别
) V; `" B$ |+ T9 f4 |: X2 W  char a[]= “hello”;2 n) F5 k! c1 ]# Q0 I! W: Y
  a[0] = ‘X’;
$ s9 A7 W) r1 m! b9 k( g$ p+ u$ h  char *p = “world”; // 注意p 指向常量字符串, b6 f# k+ {( A" I/ \
  p[0] = ‘X’;// 编译器不能发现该错误,运行时错误
# L% ~  F' x% d4 r0 s4 {  (2) 用运算符sizeof 可以计算出数组的容量(字节数)。sizeof(p),p为指针得到的是一个指针变量的字节数,而不是p 所指的内存容量。C++/C语言没有办法知道指针所指的内存容量,除非在申请内存时记住它。注意当数组作为函数的参数进行传递时,该数组自动退化为同类型的指针。+ p5 x1 n8 ]6 ]' O& v9 R$ S
  char a[] ="hello world";
7 B( Q# S- u. E: B2 P& v  char *p = a;, J3 [, U; Y- h% k/ i9 t, X- a
  cout
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-8-4 12:33:19 | 显示全部楼层

Java认证:Java笔试题附答案

 6. 如何打印出当前源文件的文件名以及源文件的当前行号?
6 v) P/ v& B4 n2 {7 E, k2 t/ @; ]  答案:
" ^: o& ~- k0 L; `) ]& t+ X4 K- c  cout
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-8-4 12:33:20 | 显示全部楼层

Java认证:Java笔试题附答案

(2)已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序。(保留所有结点,即便大小相同)# f6 v" y/ k. ^( X+ ]' N, n3 R% r
  Node *Merge(Node *head1 , Node *head2)
" o3 n, }" s9 |+ b6 z! m4 Q5 w) E  {' `/ n& n8 r/ \+ s: Z
  if ( head1 == NULL)
) m1 U7 b* D0 B; [1 G% E  return head2;
& w% w' u$ ]' K1 T) _8 [) }  if ( head2 == NULL)) H5 Y3 m& e* c2 L
  return head1 ;' G: }, [- t4 {/ \
  Node *head = NULL ;
; B7 j+ {6 V+ p9 M5 M! o  Node*p1 = NULL;
$ g5 H  I+ `  z2 j1 C8 h: v  Node *p2 = NULL;
! x: O9 `6 {- {# x, }' r4 T6 [& @  if ( head1->data < head2->data )
2 I2 X7 ^4 ]. d3 ?  {
! l* L# B+ [) X& I  head = head1 ;
* g5 c1 q; C- M9 @& k5 ~) H5 b  p1 = head1->next;* Y) m, P& B' C) N0 ]  i
  p2 = head2 ;2 {$ ]9 c9 g* q' T
  }4 i* e7 j5 W" P3 B
  else
# B: A" ]0 _/ R2 E4 D  c  {
0 k- D- y* ]) z( x1 M  s/ U  head = head2 ;; t( U+ S, d+ J/ _1 [( j# m2 p$ w
  p2 = head2->next ;
; G: ?& H; `. _  p1 = head1 ;
6 J* _0 @2 w) U5 o% C+ i7 ]  }
. ]2 O4 c/ Z. m+ t6 t1 k  Node *pcurrent = head ;
9 C# Y+ r2 K2 }) Q4 E  while ( p1 != NULL && p2 != NULL)
& O. N, W; h( I% O  {
1 |/ ]/ u3 F# c& x8 I+ W6 n  if ( p1->data data ); F$ F6 X* @3 D8 X, B
  {
" m6 Q! l+ z% l2 A$ ~. h  pcurrent->next = p1;/ L5 b; o/ x: Y4 M- @) B. d* Z' a2 L
  pcurrent = p1 ;& h0 P& K3 h: B& L& i9 `
  p1 = p1->next ;
5 k! _2 v4 I* a% Q( l2 V  {6 U. N  }
% k1 S$ u1 b: ~4 U4 S  f0 A  else
: J0 _$ p  ^+ u/ c. b& _$ R  {考试用书
0 N2 ^. o2 x1 @% S5 _( G% Y, f  pcurrent->next = p2 ;
& E* g9 c% E2 o( g: v  pcurrent = p2 ;  Z. K6 M2 z5 s6 s! k, {
  p2 = p2->next ;: E  p* u3 ~% V/ o, M2 O" H
  }. Y' G  U* O  m/ |
  }
, s  n% s3 u/ Z1 {/ Z8 s4 D& H5 K4 e  if ( p1 != NULL )" s) p; p# n6 r- f% y% _' Z* Z
  pcurrent->next = p1 ;* e' `4 Z, ~" V7 N5 Y3 N
  if ( p2 != NULL )
- [2 h4 M! `9 X" M; T  pcurrent->next = p2 ;4 S! b, M' u+ d" r  U
  return head ;0 @+ O; o3 @- W. h1 t
  }# H3 o* a% |/ H: n, g
  (3)已知两个链表head1 和head2各自有序,请把它们合并成一个链表依然有序,这次要求用递归方法进行。 (Autodesk)
& o8 e& N- x' f) o+ Y6 P; }  答案:
# h. v$ ]# d; F+ ]  Node *MergeRecursive(Node *head1 , Node *head2)
1 M$ u! t4 |9 c( }: u  {
" C2 N/ U  R3 P  if ( head1 == NULL )) Y! f; x" L. F. H
  return head2 ;) }  y, {$ n" _- k5 _& b9 U
  if ( head2 == NULL)7 u7 x* g! u, P$ P% d$ x
  return head1 ;9 ?4 k+ o0 I% }/ j; C2 n
  Node *head =NULL ;. w$ t. A4 z* v
  if ( head1->data < head2->data )) D0 _: V+ J3 f
  {
8 |3 D0 ~* `# {1 A9 \1 Y( o* y  head = head1 ;
6 w) p% S; t1 s; D7 B  head->next = MergeRecursive(head1->next,head2);
& N/ l: b" z& @: }( p8 h  }
7 ~7 {" U7 I. i5 O; h1 Z' G  else
5 }7 {/ B+ p; H1 h4 X8 [  {4 t- k0 D% W9 E3 S7 K2 p: y
  head = head2 ;
9 @$ {$ s/ \: O  head->next = MergeRecursive(head1,head2->next);3 U6 B2 G$ Q- v  x) N2 X
  }% J. \* X* L+ s5 W% f4 |
  return head ;( `. z6 f0 f' G0 V7 W+ k" Z8 `
  }
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-16 10:29 , Processed in 0.200964 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表