我不是程序员,在大学做毕业设计的时候用java系统,后来就没有再用过Java了,2001年的时候上过SCJP培训,讲得太快,那个钱算是浪费了。后来由于种种原因一直没考,今年终于下定决心把这个心愿了结了。到目前为止,我的水平只能算是业余的,但是我有信心很快就成能进入另一个层次了,因为我不是为了考证书去考证书,当然是为了得到动手做做东西得机会,让老板“Show Me The Money !”所以假如你是最近用过Java做过东西,那么你的条件肯定是比我优越得多。
SCJP是考基础的,但是基础不等于就是简单,比如下面这个例子: String a = "JAVA"; String b = "JAVA"; String c = new String("JAVA"); String d = "JA"; String e = "VA"; String f = "JA"+"VA"; String g = d+e; String h = c; 你觉得假如判定 a==b, a==c, a==f, a==g, c==f, c==g, c==h 哪些是true, 哪些是false呢?你需要充分地了解Java String Object的原理才能回答这个问题。 还有这个: int a=0; int b[]=new int[5]; int c=3; b[a]=a=c; 最终a=?, b[0]还是b[3]被赋值呢?
另外,线程,程序流控制,访问权限控制,Inner Class 等等部分,都可以出很多这种题目。当然,假如你真在SCJP考试里碰到的全是这个水平的考题,我觉得你可以投诉了:-)。但是你还是要力求把各种基本概念都完全弄清楚的。