上午刚考完scjp(2002.4.25)过了84,挺美。总体感觉大部分题都挺熟,差不多有1/3原题,可能sun的题库不大,这下美了我们这些善于考试的中国人。 平常作模拟题差不多一个小时完,今天用了100分钟,做的特小心,怕掉井里,对不起我那几两银子。 下面回忆一下题,记得不多,有几道算几道,希望能给后面的人提个醒儿。 1> int i=0,j=10; top: for(;;) { i++; for(;;) { if(i>--j) break top;} } 问你最后i,j是几。(注意:i就变一次)
2> class Test { public void main(String argc[]) { System.out.println("Hello"); } } 问你输出什么。(抛出错误)
3>大概是这样 说int a=4,j=1; switch(a) case 2:j++; case 4: j++; case 1: j++; default j++; System.out.println(a+j);是多少。
4>class Foo { public static void main(String argc[]) try{ return( System.exit()); } finally{ System.out.pringln("finally"); }输出什么。不输出这是第一题
5>String s="blue"; String s1=s; String s="red"; System.out.println(s1);
6>String s="blue"; boolean[] bl=new boolean[1]; if (b1[0]) s="green"; 问你s最后是什么
7>硬盘当前目录有一个文件"a.txt",里面有一些垃圾 OutputStream o = new FileOutputStream(new File("a.txt")); 然后发生了什么?a.txt变成了0字节
8>String[] a=new String[3]; int i=1; a[i]是什么?(null)
9>单选 a.GridBagLayout里面一个格子的Component either随Frame改变大小or保持perfect size在 格子中间。 b.Frame里面BorderLayout的north位置是菜单的好位置 c.不记得了 d.不记得了 注意 a和b都是错的,我选c
10>class a{ Integer u(){return new Integer(4);} } class b extends a{ Long u(){return new Long(8);} public static void main(String[] args){ .. } } 问结果,结果是编译不通,override方法的返回值必须一样
11>innter class can be static anonymous inner class can be public ............................ static ............................ privated ............................ protected 这题为A
12> ... nsigned byte i =20; ... 编译错误
13>问char的范围(不说也会吧)
14>class a{ public String toString(){ return "4" } } class b extends a{ public String toString(){ return super.toString()+"3"; } public static void main(String[] args){ System.out.println(new b()); } } 问输出,为"43"
这题考过多次了。
15>java Test red green blue class Test{ pubic static void main(String[] args){ String k1 = args[0]; String k2 = args[1]; String k3 = args[2]; } } 问你k3是什么。blue,可能出题人喜欢蓝色,好几道题答案是这个
16>class a implements Runnable{ public void run(){ System.out.println("blue"); } } 问你如何在一个new Thread 中打印出blue 给你一些答案,你一眼就知识几,特一贼
17> 考RandomAccessFile的构造器,问你如何向一个文件尾添加“<end>" a. ...RandomAccessFile(xxx,"a") b. .......................,"r") c. .......................,"rw") d. .......................,"w") 我选c.当时不知对不对(当时也想d了,因为是单选,看c比较熟)
18> 一个Frame, 程序里面用了setLayout(new BorderLayout());//这是蒙你的,下边的panel是flow Panel p = new Panel(); Button b1 = new Button(); p.add(b1); add(p,北边); Button b2 = new Button(); add(b2,南边); .... 问你两个button是有相同的高还是宽,frame改变大小时谁的宽不变(高,b1)
19> java.io.PrintStream p = new java.io.PrintStream( new java.io.InputStreamReader(System.out) ) 问你有不用加import xxx
thread的题考的还是那几个,以前我看过有个网友的回忆,我这次和他的一样,其实上面的题大部分也都一样,认真看呦,你没准也会碰到。下面我把那个网友的回忆的占下来。
class a implements Runnable{ private int x; private int y; public void run(){ for(;;){ x++; y++; System.out.println(" x="+x+" y="+y); System.out.println(当前Thread的名字); } } } class b{ public static void main(String[] args){ a aa = new a(); new Thread(aa).start(); new Thread(aa).start(); } }
给几个选项,问你运行结果 非常碰巧,上面这道题改了一下又出现在我的考题里面 //前面一样 synchronized(this){ x++; y++; } System.out.println...//后面一样 同样是给你几个选项,问运行结果 这个是同步的,上面那个有可能输出x!=y的结果,这个就不会了 大家要注意5,6都只有一个aa,也就是不会出现相同的x或y.
还有一个很经典的thread题,也是真题, Thread1 synchronized(a){ synchronized(b){ } } Thread2 synchronized(b){synchronized(a){ } } 都start();问结果,结果是 可能deadlock,就是大家很常见的那道题 a,b是StringBuffer();Thread1,2是用 new Thread(){ public void run(){ //.... } }.start(); 方式定义 一字不变 (我这题可能错了,当时我记得论坛里说过的,答案忘了,我肯定下次还有这个)
对了还有,前天还在论坛里说呢
which two declaretions provent the overriding of a method? a final void methoda(){} b void final methoda(){} c static void methoda(){} d static final void methoda(){} e final abstract void methoda(){}
答案现在我也不敢定,有人说(书上)是a,d.可一个是static 一个是non-static呀 我在机器试着a,d不成。我说是c,d.只要是c在前,d在后就成(试过)
还有:问鼠标移动要实现那个接口(明白人知道我再说什么吧),key pressed要那个接口,俩题。
垃圾回收问你第几行那个(就是好多模拟是都有的那个,在第7行后)
有一个考数学函数的题忘了,答案是int a=(int)round(double b)
还有hashtable继承的那个接口。(map) 问你有这种形式的什么key-values,选两个(map,sortedmap)
提问:能让进程停止的选两个 a.wait(); b.notify(); c.notifyall(); d.退出synchronized black e.call setPriority(); 这题我可能错了(a,d)
得到父目录的方法是什么,自己找吧。
还有一个,最后一个了只能回忆这么多了(内存有限)。 class a { class inerexception extends Exception{} void trytest() throws inerexception{}; void test() //xxxxxxxx { trytest(); }
}
xxxxxx有什么代替 a.throws Exception b.catch(....) c.throw inerexception d.throws inerexception e.好像还有一catch的 答案 a
总之,上面这些题在mock test中大多有涉及,我发现网上的朋友真无私,提供那么多不用银子的mock test.我太感动了流泪了:)..。从对java一点不会到今天考完,仨月,长了点(我笨),可能有人不用一月就搞定,我对E文很反感,所以就看了张洪斌那本书。挺有针对性的。接下来就是作题,1000多道吧,如有谁想要说话hansonxjy@21cn.com,我希望考的人都过,毕竟大家挣的都是辛苦钱。(完)
|