【IT168 技术文档】
在sinoi公司工作的曹慧武先生今年2月4日刚刚通过SCJP,经与老板交涉,他得到了30%的加薪。曹先生认为“这考试的钱花得值”。
考试大纲是所有考试的根本所系,SCJP的考试大纲简单说来包括如下11个部分:
1.声明和访问控制;
2.程序流程控制和异常处理;
3.垃圾回收;
4.语言基础;
5.操作符和分配赋值;
6.重载、覆盖、运行时类型和面向对象;
7.多线程;
8.Java.awt包;
9.Java.lang包;
10.Java.util包;
11.Java.io包。
Sun的考试大纲中没有说明哪个部分占多大比例,这使初学者在复习时找不到重点。我根据自己的考试经验,又借鉴了几位朋友的考试经历,把我理解的大纲为大家做一解说,相信一定会对您通过考试有所帮助。
从我的考试情况看,Java.awt包(包括Layout和Even Handling)所占比例较小,总共不超过4道题,而且大多数Java程序员在工作中都不太会用到它。因此我认为,如果你对Java.awt不太了解,就不要管它,其他部分掌握得好一些一样能过。
虽然SCJP对应的培训课程(SL-275)中有Sockets,但我在考试中没有遇到,Sun最新的考试大纲中也没提到Sockets。
第6部分绝对是重中之重,Java是一种纯粹的面向对象的程序设计语言,面向对象(OOP)的编程部分,比如重载、覆盖、多态等在考题中的份量很重,而且会贯穿到其他部分。在正式使用Java做开发之前,必须将我们的思维方式转入一个彻底的面向对象的世界,深刻理解面向对象的思想。这不仅非常有助于我们通过考试,也会为我们的Java生涯打下一个非常良好的基础。做不到这一点,就无法体会Java语言的精髓,写不出地道的Java程序。当然,你也无法彻底理解Java中的基本概念以及它们之间的联系与区别。你可以学到Java的语法规则,却不能看到Java的灵魂。
考试的另一个重点是Inner Class 。印象中约1/5的题目和它有关,都是大Class 套小Class 等。我复习时在这上面花了很多时间,以为自己很懂了,结果考试时还是有问题。所以告诫大家一定要透彻理解相关语义、语法,特别是各种各样的Modifier 的用法。有很多很特殊的Modifier规则,一定要熟练并牢记在心。
还有一个重点是循环语句。我自以为对循环控制语句很熟悉,结果考到一些很偏很特别的用法,占去了大量的考试时间,实在可惜。
第9部分的String也是非常重要的,对String对象的不变性一定要深刻理解,对String类的常用方法也一定要烂熟于心,几乎所有的程序型考题都会用到String。
其他部分如:IO、CASTING、THREAD、GARBAGE COLLECTION、MATH CLASS、UTIL 等,都有一些考题。
最后补充一句,大家对Java的概念细节一定要精确把握。通过考试我们发现,SCJP的考察点相当细致。所以只有对Java的概念、语法、规则了然于心,才能在考场上应对自如。