第一篇:軟件開發(fā)工程師(JAVA)筆試題A
JAVA筆試題
? 軟件開發(fā)工程師(JAVA)筆試題
請在90分鐘以內(nèi)做答 答案請寫在答題紙上
一、選擇題
1、下面哪項是不合法的標識符:(c e)A.$persons B.TwoUsers C.*point D._endline E.final
2、下列運算符合法的是(a)
A.&& B.<> C.if D.:=
3、下面描述中哪兩項相等:(bg)[選擇兩項] A.<%= YoshiBean.size%> B.<%= YoshiBean.getSize()%> C.<%= YoshiBean.getProperty(“size”)%>
D.
4、設(shè)float x = 1,y = 2,z = 3,則表達式 y+=z--/++x的值是:(a)A.3.5 B.3 C.4 D.5 A.equals()方法判定引用值是否指向同一對象 B.==操作符判定兩個不同的對象的內(nèi)容和類型是否一致 C.equal()方法只有在兩個對象的內(nèi)容一致時返回true D.類File重寫方法equals()在兩個不同的對象的內(nèi)容和類型一致時返回true
6、如果一個對象僅僅聲明實現(xiàn)了cloneable接口,但是不聲明clone方法,外部能夠調(diào)用其clone方法嗎?(b)A.能 B.不能 C.不確定
7、下列說法錯誤的有(bd)
A. 能被java.exe成功運行的java class文件必須有main()方法
B. J2SDK就是Java API
C. Appletviewer.exe可利用jar選項運行.jar文件
D. 能被Appletviewer成功運行的java class文件必須有main()方法
8、下列正確的有(acd)
A. call by value不會改變實際參數(shù)的數(shù)值
B. call by reference能改變實際參數(shù)的參考地址
C. call by reference不能改變實際參數(shù)的參考地址
D. call by reference能改變實際參數(shù)的內(nèi)容
9、下列說法錯誤的有(bcd)
A. 數(shù)組是一種對象
B. 數(shù)組屬于一種原生類
C. int number=[]={31,23,33,43,35,63}
5、下面的哪些敘述為真:(d)
D. 數(shù)組的大小可以任意改變
10、不能用來修飾interface的有(ad)
JAVA筆試題
A.private B.public C.protected D.static
11、關(guān)于Float,下列說法正確的是(a)
A.Float是一個類 B.Float在java.lang包中 C.Float a=1.0是正確的賦值方法
D.Float a= new Float(1.0)是正確的賦值方法
12、下列哪種說法是正確的(d)
A. 實例方法可直接調(diào)用超類的實例方法
B. 實例方法可直接調(diào)用超類的類方法
C. 實例方法可直接調(diào)用其他類的實例方法
D. 實例方法可直接調(diào)用本類的類方法
13、下列說法錯誤的有(c)
A.在類方法中可用this來調(diào)用本類的類方法
B.在類方法中調(diào)用本類的類方法時可直接調(diào)用
C.在類方法中只能調(diào)用本類中的類方法
D.在類方法中絕對不能調(diào)用實例方法
14、下面說法哪些是正確的? bd
A.Applet可以訪問本地文件
B.對static方法的調(diào)用不需要類實例 C.socket類在java.lang中 D.127.0.0.1地址代表本機 1.public class Test1 { 2.public float aMethod(float a, float b)throws 3.IOException { } 4.} 5.public class Test2 extends Test1 { 6.//Line6 7.} 將以下(ac)方法插入行6是不合法的。
A.float aMethod(float a, float b){} B.public int aMethod(int a, int b)throws Exception {} C.public float aMethod(float P, float q){} D.public int aMethod(int a, int b)throws IOException {}
16、關(guān)于以下程序段,正確的說法是:(b)
1.String s1 = “abc” + “def”;2.String s2 = new String(s1);3.if(s1.equals(s2))4.System.out.println(“.equals()succeeded”);5.if(s1 == s2)6.System.out.println(“== succeeded”);A.行4與行6都將執(zhí)行 B.行4執(zhí)行,行6不執(zhí)行 ??
15、類Test1、Test2定義如下:
C.行6執(zhí)行,行4不執(zhí)行 D.行
4、行6都不執(zhí)行
JAVA筆試題
17、下面程序的執(zhí)行結(jié)果為:(a)
1.public class Test { 2.static Boolean foo(char c){ 3.System.out.println(c);4.return true;5.} 6.public static void main(String[] args){ 7.int i = 0;8.for(foo(‘A’);foo(‘B’)&&(i<2);foo(‘C’)){ 9.i++;10.foo(‘D’);11.} 12.} 13.} A.ABDCBDCB B.ABCDABCD C.Compilation fails C.An exception is thrown at runtime
18、閱讀下面的程序
1.public class Outer { 2.public void someOuterMethod(){ 3.//Line3 4.} 5.public class Inner(){} 6.public static void main(String[] args){ 7.Outer o = new Outer();8.//Line8 9.} 10.} Which instantiates is an instance of Inner?(c)
A.new Inner();// At line3 B.new Inner();// At line 8 C.new o.Inner();// At line 8 C.new Outer.inner();// At line 8
19、選出能正確賦值的: public class TestA { private int a;return m;public int change(int m){
} } public class TestB extend TestA{ public int b;public static void main(){ TestA aa = new TestA();int k;
TestB bb = new TestB();
} } 在Line13處可以正確賦值的有:(d)// Line 13
JAVA筆試題
A.k= m;B.k=b;C.k=aa.a;D.k=bb.change(30);E.k=bb.a 20、已知如下代碼: switch(m){ case 0: System.out.println(“Condition 0”);case 1: System.out.println(“Condition 1”);case 2: System.out.println(“Condition 2”);case 3: System.out.println(“Condition 3”);break;default: System.out.println(“Other Condition”);} 當 m 的值為什么時輸出 “Condition 2”?(abc)A.0 B.1 C.2 D.3 E.4 F.None
21、給出程序段
public class Parent { public int addValue(int a,int b){ int s;s=a+b;return s;} } class Child extends Parent{} 可以加在Child類的方法有:(cd)A.int addValue(int a,int b){} B.public void addValue(int a,int b){} C.public int addValue(int a){} D.public int addValue(int a,int b){}
22、下述哪些說法是正確的?(d)A.實例變量是類的成員變量
B.實例變量是用static關(guān)鍵字聲明的 C.方法變量在方法執(zhí)行時創(chuàng)建 D.方法變量在使用之前必須初始化
23、對于下列代碼:
public class Sample{
long length;
public Sample(long l){ length = l;}
public static void main(String arg[]){
Sample s1, s2, s3;
s1 = new Sample(21L);
s2 = new Sample(21L);
s3 = s2;
long m = 21L;
} } 下列哪些表達式返回值為'true'?(d)
JAVA筆試題
A.s1 = = s2;B.s2 = = s3;C.m = = s1;D.s1.equals(m)
26、當 Frame 改變大小時,放在其中的按鈕大小不變,則使用如下哪個 layout?(e)A.FlowLayout B.CardLayout C.North and South of BorderLayout D.East and West of BorderLayout E.GridLayout
27、已知如下的命令執(zhí)行 java MyTest a b c 請問哪個語句是正確的?(cd)A.args[0] = “MyTest a b c” B.args[0] = “MyTest” C.args[0] = “a” D.args[1]= “b”
28、下面哪個語句是創(chuàng)建數(shù)組的正確語句?(ab)A.float f[][] = new float[6][6];B.float []f[] = new float[6][6];C.float f[][] = new float[][6];D.float [][]f = new float[6][6];E.float [][]f = new float[6][];30、以下關(guān)于數(shù)據(jù)庫范式的描述,哪些是錯誤的(c)
A.如果把多個數(shù)據(jù)項用一個大的 String 表示為一個字段,則不滿足
private String name;public String getName(){ return name;} public Ball(String name){ this.name = name;} public void play(){ ball = new Ball(“Football”);
JAVA筆試題
System.out.println(ball.getName());} } 上面代碼是否有錯,如果有錯,錯誤在何處? 紅處
2、詳細解釋下面的語句: Class.class.getClass()Class與class繼承自O(shè)bject,class試題來代表java運行時的class和interface等等 Class.class就是得到或者生成這個Class類的Class Object 而getClass()本身就是返回一個類對應(yīng)的Class Object,所以最后Class.class.getClass()最后還是返回Class Object
7、編寫一個截取字符串的函數(shù),輸入為一個字符串和字節(jié)數(shù),輸出為按字節(jié)截取的字符串。但是要保證漢字不被截半個,如“我ABC”4,應(yīng)該截為“我AB”,輸入“我ABC漢DEF”,應(yīng)該輸出為“我ABC”而不是“我ABC+漢的半個”。
public static boolean isLetter(char c){ int k=0X80;return c/k==0?true:false;}
public static int lengths(String strSrc){ if(strSrc==null){ return 0;} int len=0;char[] strChar=strSrc.toCharArray();for(int i=0;i JAVA筆試題 public static String subString(String origin,int len){ if(origin==null || origin.equals(“")|| len<1){ return ”“;} if(len>lengths(origin)){ return origin;} byte[] strByte=new byte[len];System.arraycopy(origin.getBytes(),0,strByte,0,len);int count=0;for(int i=0;i } public static void main(String[] args){ System.out.println(”“+ subString(”我ABC漢DEF",6));} 10、SQL問答題 表結(jié)構(gòu): 1、表名:g_cardapply 字段(字段名/類型/長度): g_applyno varchar 8: //申請單號(關(guān)鍵字)g_applydate bigint 8: //申請日期 g_state varchar 2: //申請狀態(tài) 2、表名:g_cardapplydetail 字段(字段名/類型/長度): g_applyno varchar 8: //申請單號(關(guān)鍵字)g_name varchar 30: //申請人姓名 g_idcard varchar 18: //申請人身份證號 g_state varchar 2: //申請狀態(tài) 其中,兩個表的關(guān)聯(lián)字為申請單號 題目: JAVA筆試題 1、查詢身份證號碼為***082的申請日期 2、查詢同一個身份證號碼有兩條以上記錄的身份證號碼及記錄個數(shù) 3、將身份證號碼為***082的記錄在兩個表中的申請狀態(tài)均改為07 4、刪除g_cardapplydetail表中所有姓李的記錄 1、select g_applydate from g_cardapply a,g_cardapplydetail b where a.g_applyno=b.g_applyno and b.g_idcard=’***082’ 2、select g_idcard,count(g_applyno)from g_cardapplydetail group by g_idcard having count(g_applyno)>2 3、update g_cardapply a,g_cardapplydetail b set a.g_state=’07’,b.g_state=’07’ where a.g_applyno=b.applyno and b.g_idcard=’ ***082’ 4、delete from g_cardapplydetail where g_name like ‘李%’ Java軟件開發(fā)工程師筆試題 一、選擇題(25 x 2’ = 50’) 1、一個Java程序運行從上到下的環(huán)境次序是() A. 操作系統(tǒng)、Java程序、JRE/JVM、硬件 B. JRE/JVM、Java程序、硬件、操作系統(tǒng) C. Java程序、JRE/JVM、操作系統(tǒng)、硬件 D. Java程序、操作系統(tǒng)、JRE/JVM、硬件 2、下面代碼中的第2行可以插入一行代碼()保證程序編譯通過。 1、public interface A{ 2、3、} A.void method();B.public void method();C.static void method();D.private void method();E.protected void method(); 3、關(guān)于異常下列描述中,錯誤的是() A.異常機制可以用于流程控制 B.finally代碼段在發(fā)生異常時不一定必須執(zhí)行 C.在catch代碼段中可以使用return語句來返回到異常拋出點 D.可以把catch到的異常對象再次拋出,使上層try—catch結(jié)構(gòu)繼續(xù)處理該異常事件 4、關(guān)于被私有訪問控制符private修飾的成員變量,以下說法正確的是() A. 可以被三種類所引用:該類自身、與它在同一個包中的其他類、在其他包中的該類的子類 B. 可以被兩種類訪問和引用:該類本身、該類的所有子類 C. 只能被該類自身所訪問和修改 D. 只能被同一個包中的類訪問 5、某類Example的main()方法參數(shù)為args,當命令行中輸入Java Example cat時,args[0]的值為()。 A. cat B. Java C. example D. null 6、下面關(guān)于Thread類提供的現(xiàn)成控制方法的說法中,錯誤的是() A. 在線程A中執(zhí)行現(xiàn)成B的join方法,則線程A等待直到線程B執(zhí)行完成。B. 線程A通過調(diào)用iterrupt方法來中斷其阻塞狀態(tài) C. 若線程A調(diào)用方法isAlive返回值為true,則說明A正在執(zhí)行中 D. currentThread方法返回當前線程的引用 7、類Test1定義如下: 1.public class Test1{ 2. public float aMethod(float a,float b){ } 1/10 3.4.} 將以下哪種方法插入行3是不合法的。() A. public float aMethod(float a,float b,float c){ } B. public float aMethod(float c,float d){ } C. public int aMethod(int a,int b){ } D. private float aMethod(int a,int b,int c){ } 8、下面程序的輸出結(jié)果是()private static void foo(){ try { System.out.println(“try”);foo();} catch(Throwable e){ System.out.println(“catch”);foo();} finally { System.out.println(“finally”);foo();} } public static void main(String[] args){ foo();} A.執(zhí)行一段時間后報棧溢出。B.會一直輸出“try”。 C.會一直輸出“try”和“finally”。D.會一直輸出“try”、“catch”和“finally” 9、下面的哪些程序片斷可能導(dǎo)致錯誤?()A.String s = “Gone with the wind”;String t = “ good ”;String k = s + t; B.String s = “Gone with the wind”;String t;t = s[3] + “one”; C.String s = “Gone with the wind”;String standard = s.toUpperCase(); D.String s = “home directory”;String t = s-“directory”; 10、已知如下代碼: 2/10 1: class Example{ 2: String str;3: public Example(){ 4: 5: } 6: public Example(String s){ 7: 8: } 9:} 10: class Demo extends Example{ 11: } 12: public class Test{ 13: public void f(){ 14: 15: 16: } } 哪句語句會導(dǎo)致錯誤?()A、line 3 B、line 6 C、line 10 D、line 14 E、line 15 11、下面的代碼中第4行創(chuàng)建的對象在什么時候符合垃圾回收的條件() 1、class Bar { } 2、class Test { 3、Bar doBar(){ 4、Bar b = new Bar(); 5、return b; 6、} 7、public static void main(String args[]){ 8、Test t = new Test(); 9、Bar newBar = t.doBar();10、11、12、newBar = new Bar();} } Example ex = new Example(“Good”);Demo d = new Demo(“Good”);str=s;str= “example”;A.程序運行第9行之后。B.程序運行第10行之后。C.doBar方法運行結(jié)束之后。D.main方法運行結(jié)束之后。 12、下列關(guān)于for循環(huán)和while循環(huán)的說法中哪個是正確的?() A. while循環(huán)能實現(xiàn)的操作,for循環(huán)也都能實現(xiàn) B. while循環(huán)判斷條件一般是程序結(jié)果,for循環(huán)判斷條件一般是非程序結(jié)果 3/10 C. 兩種循環(huán)任何時候都可替換 D. 兩種循環(huán)結(jié)構(gòu)中都必須有循環(huán)體,循環(huán)體不能為空 13、下述說法中,錯誤的是()A.Java中,方法的重載是指多個方法可以共享同一個名字 B.Java中,用abstract修飾的類稱為抽象類,它不能實例化 C.Java中,接口不包含成員變量和方法實現(xiàn) D.Java中,構(gòu)造方法可以有返回值 14、下面哪些是正確的() 11.class ClassA {} 22.ClassB p1 = new ClassB();23.ClassC p2 = new ClassC();24.ClassA p3 = new ClassB();25.ClassA p4 = new ClassC();12.class ClassB extends ClassA {} 13.class ClassC extends ClassA {} and: 21.ClassA p0 = new ClassA();A.p0 = p1; 15、以下代碼片段,正確的結(jié)果是:() 11.classA { 17.throw new IOException(); 18.} } 19.public static void main(String[] args){ 20.try { new B().process();} 21.catch(IOException e){ 22.System.out.println(”Exception”);} } 12.public void process(){ System.out.print(”A,”);} } 13.class B extends A { 15.super.process();A.Exception B.A,B,Exception C.Compilation fails because of an error in line 20.D.Compilation fails because of an error in line 14.E.A NullPointerException is thrown at runtime.16、用直接插入排序方法對下面四個序列進行排序(由小到大),元素比較次數(shù)最少的是()。 A. 94,32,40,90,80,46,21,69 B. 32,40,21,46,69,94,90,80 C. 21,32,46,40,80,69,90,94 D. 90,69,80,46,21,32,94,40 17、設(shè)棧最大長度為3,入棧順序為1,2,3,4,5,6,則不可能的出棧序列是() A.1,2,3,4,5,6 B.2,1,3,4,5,6 C.3,4,2,1,5,6 D.4,3,2,1,5,6 18、設(shè)有98個已排序列元素,采用二分法查找時,最大比較次數(shù)是() A.49 B.15 C.20 D.7 4/10 14.public void process()throws IOException { 16.System.out.print(”B,”);B.p1 =p2; C.p2 = p4; F.p2 =(ClassC)p4;D.p2 =(ClassC)p1;E.p1 =(ClassB)p3; 19、若一棵二叉樹具有10個度為2的結(jié)點,5個度為1的結(jié)點,則度為0的結(jié)點個數(shù)是() A.9 B.11 C.15 D.不確定 20、以下與數(shù)據(jù)的存儲結(jié)構(gòu)無關(guān)的術(shù)語是()。 A.循環(huán)隊列 B.鏈表 C.哈希表 D.棧 21、設(shè)數(shù)組A[10?100,20?100]以行優(yōu)先的方式順序存儲,每個元素占4個字節(jié),且已知A[10,20]的地址為 1000,則A[50,90]的地址是() A.13240 B.14250 C.24220 D.14240 22、鏈表不具有的特點是() A.插入、刪除不需要移動元素 B.可隨機訪問任一元素 C.不必事先估計存儲空間 D.所需空間與線性長度成正比 23、下面關(guān)于線性表的敘述中,錯誤的是哪一個?() A.線性表采用順序存儲,必須占用一片連續(xù)的存儲單元。B.線性表采用順序存儲,便于進行插入和刪除操作。C.線性表采用鏈接存儲,不必占用一片連續(xù)的存儲單元。D.線性表采用鏈接存儲,便于插入和刪除操作。 24、若一個棧的輸入序列為1,2,3,?,n,輸出序列的第一個元素是i,則第j個輸出元素是()。A.i-j-1 B.i-j C.j-i+1 D.不確定的 25、下列說法不正確的是()。 A.圖的遍歷是從給定的源點出發(fā)每一個頂點僅被訪問一次 B.圖的深度遍歷不適用于有向圖 C.遍歷的基本算法有兩種:深度遍歷和廣度遍歷 D.圖的深度遍歷是一個遞歸過程 二、程序改錯(5 * 2’ = 10’)1.----public class Unbelievable { static Integer i;public static void main(String[] args){ } } if(i == 42)System.out.println(“Unbelievable”);2.—————————————————————————————————— class Animal { public String noise(){ 5/10 龍通科技有限公司筆試題 } class Dog extends Animal { } class Cat extends Animal { } public class Test { } public static void main(String[] args){ } Animal animal = new Dog();Cat cat =(Cat)animal;cat.noise();public String noise(){ } return “meow”;public String noise(){ } return “bark”;} return “peep”;3.—————————————————————————————————————— abstract class Something { } private abstract String doSomething();4.—————————————————————————————————————— public class Something { } class Other { } public int i;public static void main(String[] args){ } public void addOne(final Other o){ } o.i++;Other o = new Other();new Something().addOne(o);5.—————————————————————————————————————— class Something { final int i;public void doSomething(){ System.out.println(“i = ” + i);6 龍通科技有限公司筆試題 } } 三、程序閱讀題(每空2’,共 40’) 1、閱讀以下java代碼,寫出運行結(jié)果 class StaticTest { } 2、編寫將一維數(shù)組a[]中互不相同的數(shù)按從小到大順序重新存于一維數(shù)組a[]的程序。 class A{ public static void main(String[] args){ } for(j=0;j } System.out.prinln(a[j]);int a[]={15,7,15,6,4,3,4,6,7};int i,j,k,low,high,mid,t;for(i=k=1;i static int x=1;int y;StaticTest(){ } public static void main(String args[ ]){ StaticTest st=new StaticTest();System.out.println(“x=” + x);System.out.println(“st.y=” + st.y);st=new StaticTest();System.out.println(“st.y=” + st.y); } static { x++;} y++; 龍通科技有限公司筆試題 } 3、請用JAVA編寫如下程序:此程序處理一個由0和非0數(shù)字成員組成的數(shù)組(長度自定),例如0 0 1 2 0 1 0 0 0 1 0 0 0 0 0 2 0 7 8 9 0 0 1 2 3 4,把數(shù)組中所有連續(xù)兩個以上的0去掉,將結(jié)果存入一個新數(shù)組。如上例處理后結(jié)果為,1 2 0 1 1 2 0 7 8 9 1 2 3 4。public static void main(String[] args){ int[] srcArray = {0,0,1,2,0,1,0,0,0,1,0,0,0,0,0,2,0,7,8,9,0,0,1,2,3,4};int[] destArray = new int[50];int i=0,j=0,count=0;for(i=0;i } } for(i=0;i public static void main(String[] args){ } public static int Keeper(int peo, int n){ int k = 0;int peo;System.out.println(“請輸入人數(shù):”);Scanner inp = new Scanner(System.in);peo = inp.nextInt();int k = Keeper(peo, 3);System.out.println(“最后留下的是 ” + k + “ 號!”); 4、有n個人圍成一圈,順序排號。從第一個人開始報數(shù)(從1到3報數(shù)),凡報到3的人退出圈子,再從他的下一 8 龍通科技有限公司筆試題 int[] array = new int[peo];for(int i = 1;i < peo;i++){ } for(k = 0;k < peo;k++){ } return k + 1;if(array[k] == 0){ } 4 ; ○int j = 1;while(j <= n){ } if(○1){ } if(j == n){ } j++;3 ; ○ ; ○j--; } } 5、在一個n×n的棋盤上,放置n個不能互相捕捉的國際象棋“皇后”的所有布局。以下是n皇后的算法,請完成填空部分: public class Queen { Queen(int d){ } // 放置皇后的方法 public void place(int row){ int i = 0;if(row == n){ 1 ; ○n = d;queenPos = new int[d];private int n;private int[] queenPos;private double num = 0;// 記錄共有多少種擺法 } else { 9 龍通科技有限公司筆試題 } // 判斷布局是否合法 private boolean legality(int list){ } // 測試方法 public static void main(String[] args){ }} System.out.println(“輸入個數(shù)n:”);Scanner in = new Scanner(System.in);int n = in.nextInt();try { } Queen q = new Queen(n);q.place(0);System.out.println(n + “*” + n + “時,” + “共有” + q.num + “種可能擺法。”);System.out.println(“OK!”);e.printStackTrace();if(list == 0) } return true;return true;if(queenPos[i] == queenPos[list])3 ; ○for(int i = 0;i < list;i++){ } for(i = 0;i < n;i++){ } queenPos[row] = i;if(legality(row)); ○if(○4)return false;} catch(Exception e){ 10 軟件開發(fā)工程師(JAVA)筆試題 請在120分鐘以內(nèi)做答 一、選擇題 1、下面哪項是不合法的標識符:() A.$persons B.TwoUsers C.*point D._endline E.final 2、下列運算符合法的是() A.&& B.<> C.if D.:= 3、下面描述中哪兩項相等:()[選擇兩項] A.<%= YoshiBean.size%> B.<%= YoshiBean.getSize()%> C.<%= YoshiBean.getProperty(“size”)%> D. 4、設(shè)float x = 1,y = 2,z = 3,則表達式 y+=z--/++x的值是:()A.3.5 B.3 C.4 D.5 5、下面的哪些敘述為真:() A.equals()方法判定引用值是否指向同一對象 B.==操作符判定兩個不同的對象的內(nèi)容和類型是否一致 C.equal()方法只有在兩個對象的內(nèi)容一致時返回true D.類File重寫方法equals()在兩個不同的對象的內(nèi)容和類型一致時返回true 6、如果一個對象僅僅聲明實現(xiàn)了cloneable接口,但是不聲明clone方法,外部能夠調(diào)用其clone方法嗎?() A.能 B.不能 C.不確定 7、下列說法錯誤的有() A. 能被java.exe成功運行的java class文件必須有main()方法 B. J2SDK就是Java API C. Appletviewer.exe可利用jar選項運行.jar文件 D. 能被Appletviewer成功運行的java class文件必須有main()方法 8、下列正確的有() A. call by value不會改變實際參數(shù)的數(shù)值 B. call by reference能改變實際參數(shù)的參考地址 C. call by reference不能改變實際參數(shù)的參考地址 D. call by reference能改變實際參數(shù)的內(nèi)容 9、下列說法錯誤的有()A. 數(shù)組是一種對象 B. 數(shù)組屬于一種原生類 C. int number=[]={31,23,33,43,35,63} D. 數(shù)組的大小可以任意改變 10、不能用來修飾interface的有() A.private B.public C.protected D.static 11、關(guān)于Float,下列說法正確的是 A.Float是一個類 B.Float在java.lang包中 C.Float a=1.0是正確的賦值方法 D.Float a= new Float(1.0)是正確的賦值方法 12、下列哪種說法是正確的()A. 實例方法可直接調(diào)用超類的實例方法 B. 實例方法可直接調(diào)用超類的類方法 C. 實例方法可直接調(diào)用其他類的實例方法 D. 實例方法可直接調(diào)用本類的類方法 13、下列說法錯誤的有() A.在類方法中可用this來調(diào)用本類的類方法 B.在類方法中調(diào)用本類的類方法時可直接調(diào)用 C.在類方法中只能調(diào)用本類中的類方法 D.在類方法中絕對不能調(diào)用實例方法 14、下面說法哪些是正確的? A.Applet可以訪問本地文件 B.對static方法的調(diào)用不需要類實例 C.socket類在java.lang中 D.127.0.0.1地址代表本機 15、類Test1、Test2定義如下: 1.public class Test1 { 2.public float aMethod(float a, float b)throws 3.IOException { } 4.} 5.public class Test2 extends Test1 { 6.//Line6 7.} 將以下()方法插入行6是不合法的。A.float aMethod(float a, float b){} B.public int aMethod(int a, int b)throws Exception {} C.public float aMethod(float P, float q){} D.public int aMethod(int a, int b)throws IOException {} 16、關(guān)于以下程序段,正確的說法是:()1.String s1 = “abc” + “def”;2.String s2 = new String(s1);3.if(s1.equals(s2))4.System.out.println(“.equals()succeeded”);5.if(s1 == s2)6.System.out.println(“== succeeded”); A.行4與行6都將執(zhí)行 B.行4執(zhí)行,行6不執(zhí)行 C.行6執(zhí)行,行4不執(zhí)行 D.行 4、行6都不執(zhí)行 17、下面程序的執(zhí)行結(jié)果為:()1.public class Test { 2.static Boolean foo(char c){ 3.System.out.println(c);4.return true;5.} 6.public static void main(String[] args){ 7.int i = 0;8.for(foo(‘A’);foo(‘B’)&&(i<2);foo(‘C’)){ 9.i++;10.foo(‘D’);11.} 12.} 13.} A.ABDCBDCB B.ABCDABCD C.Compilation fails C.An exception is thrown at runtime 18、閱讀下面的程序 1.public class Outer { 2.public void someOuterMethod(){ 3.//Line3 4.} 5.public class Inner(){} 6.public static void main(String[] args){ 7.Outer o = new Outer();8.//Line8 9.} 10.} Which instantiates is an instance of Inner?() A.new Inner();// At line3 B.new Inner();// At line 8 C.new o.Inner();// At line 8 C.new Outer.inner();// At line 8 19、選出能正確賦值的: public class TestA { private int a;public int change(int m){ return m;} } public class TestB extend TestA{ public int b;public static void main(){ TestA aa = new TestA();TestB bb = new TestB();int k;// Line 13 } } 在Line13處可以正確賦值的有:() A.k= m;B.k=b;C.k=aa.a;D.k=bb.change(30);E.k=bb.a 20、已知如下代碼: switch(m){ case 0: System.out.println(“Condition 0”);case 1: System.out.println(“Condition 1”);case 2: System.out.println(“Condition 2”);case 3: System.out.println(“Condition 3”);break;default: System.out.println(“Other Condition”);} 當 m 的值為什么時輸出 “Condition 2”?()A.0 B.1 C.2 D.3 E.4 F.None 21、給出程序段 public class Parent { public int addValue(int a,int b){ int s;s=a+b;return s;} } class Child extends Parent{} 可以加在Child類的方法有:()A.int addValue(int a,int b){} B.public void addValue(int a,int b){} C.public int addValue(int a){} D.public int addValue(int a,int b){} 22、下述哪些說法是正確的?()A.實例變量是類的成員變量 B.實例變量是用static關(guān)鍵字聲明的 C.方法變量在方法執(zhí)行時創(chuàng)建 D.方法變量在使用之前必須初始化 23、對于下列代碼: public class Sample{ long length;public Sample(long l){ length = l;} public static void main(String arg[]){ Sample s1, s2, s3;s1 = new Sample(21L);s2 = new Sample(21L);s3 = s2;long m = 21L;} } 下列哪些表達式返回值為'true'?()A.s1 = = s2;B.s2 = = s3;C.m = = s1;D.s1.equals(m) 24、哪個類可用于處理 Unicode? A.InputStreamReader B.BufferedReader C.Writer D.PipedInputStream 25、已知如下說明: TextArea ta = new TextArea(“Hello”, 5, 5);請問哪個語句是正確的?()A.The maximum number of characters in a line is 5.B.The displayed height is 5 lines otherwise constrain.C.The displayed string can use multiple fonts.D.The displayed strings are editable.26、當 Frame 改變大小時,放在其中的按鈕大小不變,則使用如下哪個 layout?()A.FlowLayout B.CardLayout C.North and South of BorderLayout D.East and West of BorderLayout E.GridLayout 27、已知如下的命令執(zhí)行 java MyTest a b c 請問哪個語句是正確的?()A.args[0] = “MyTest a b c” B.args[0] = “MyTest” C.args[0] = “a” D.args[1]= “b” 28、下面哪個語句是創(chuàng)建數(shù)組的正確語句?()A.float f[][] = new float[6][6];B.float []f[] = new float[6][6];C.float f[][] = new float[][6];D.float [][]f = new float[6][6];E.float [][]f = new float[6][]; 29、下面敘述那些是正確的?() A:java中的集合類(如Vector)可以用來存儲任何類型的對象,且大小可以自動調(diào)整。但需要事先知道所存儲對象的類型,才能正常使用。B:在java中,我們可以用違例(Exception)來拋出一些并非錯誤的消息,但這樣比直接從函數(shù)返回一個結(jié)果要更大的系統(tǒng)開銷。C:java接口包含函數(shù)聲明和變量聲明。 D:java中,子類不可以訪問父類的私有成員和受保護的成員。30、以下關(guān)于數(shù)據(jù)庫范式的描述,哪些是錯誤的() A.如果把多個數(shù)據(jù)項用一個大的 String 表示為一個字段,則不滿足第一范式 B.滿足數(shù)據(jù)庫范式使得數(shù)據(jù)庫的效率更高 C.如果滿足更高的范式,則必須首先滿足低級別的范式 D.數(shù)據(jù)庫第二范式要求把表中與所有鍵沒有直接關(guān)系的數(shù)據(jù)全部拆分到其他表中 31、在Hibernate中, 32、以下程序代碼對Customer的name屬性修改了兩次: tx = session.beginTransaction();Customer customer=(Customer)session.load(Customer.class, new Long(1));customer.setName(“Jack”);customer.setName(“Mike”);tx.commit();執(zhí)行以上程序,Hibernate需要向數(shù)據(jù)庫提交幾條update語句?()A.0 B.1 C.2 D.3 33、假設(shè)對Customer類的orders集合采用延遲檢索策略,編譯或運行以下程序,會出現(xiàn)什么情況?() Session session=sessionFactory.openSession();tx = session.beginTransaction();Customer customer=(Customer)session.get(Customer.class,new Long(1));tx.commit();session.close();Iterator orderIterator=customer.getOrders().iterator();A.編譯出錯 B.編譯通過,并正常運行 C.編譯通過,但運行時拋出異常 34、設(shè)棧最大長度為 3,入棧序列為 1,2,3,4,5,6,則不可能得出棧序列是() A.1,2,3,4,5,6 B.2,1,3,4,5,6 C.3,4,2,1,5,6 D.4,3,2,1,5,6 35、在 UML 方法中,使用多種類型的圖形來幫助進行設(shè)計,請問一下那些圖形不是 UML 的圖形類型() A.類圖 B.實體關(guān)系圖 C.序列圖 D.活動圖 二、問答題 1、閱讀下面的代碼 interface Playable { void play();} interface Bounceable { void play();} interface Rollable extends Playable, Bounceable { Ball ball = new Ball(“PingPang”);} class Ball implements Rollable { private String name;public String getName(){ return name;} public Ball(String name){ this.name = name;} public void play(){ ball = new Ball(“Football”);System.out.println(ball.getName());} } 上面代碼是否有錯,如果有錯,錯誤在何處? 2、詳細解釋下面的語句: Class.class.getClass() 3、解釋一下什么是MVC,IOC,AOP,ORM,JNDI,,Hibernate,SSO、Portal? 4、什么是EJB?EJB和JAVA BEAN有何區(qū)別? 5、現(xiàn)有Mysql數(shù)據(jù)庫,寫Spring + Hibernate的配置文件 數(shù)據(jù)IP:127.0.0.1 數(shù)據(jù)庫:bdtc 用戶名:root 密碼:mysql 6、請簡要描述一下J2EE應(yīng)用中的class loader的層次結(jié)構(gòu)? 7、編寫一個截取字符串的函數(shù),輸入為一個字符串和字節(jié)數(shù),輸出為按字節(jié)截取的字符串。但是要保證漢字不被截半個,如“我ABC”4,應(yīng)該截為“我AB”,輸入“我ABC漢DEF”,應(yīng)該輸出為“我ABC”而不是“我ABC+漢的半個”。 8、XML 的解析技術(shù)有哪些?區(qū)別是什么?你在項目中用到了xml技術(shù)的哪些方面?如何實現(xiàn)的? 9、寫一段代碼,實現(xiàn)銀行轉(zhuǎn)帳功能: 接口定義如下: Public interface ITransfer{ /** * 銀行內(nèi)部轉(zhuǎn)帳,從轉(zhuǎn)出帳號中扣除轉(zhuǎn)帳金額,給轉(zhuǎn)入帳號增加轉(zhuǎn)帳金額,需要保證以上兩個操作 * 要么同時成功,要么同時失敗 * fromAccountId 轉(zhuǎn)出帳號 * outAccountId 轉(zhuǎn)入帳號 * amount 轉(zhuǎn)帳金額 **/ Public void transferInner(String fromAccountId,String outAccountId, BigDecimal amount);/** * 外部轉(zhuǎn)帳-轉(zhuǎn)出,從轉(zhuǎn)出帳號中扣除轉(zhuǎn)帳金額 * fromAccountId 轉(zhuǎn)出帳號 * amount 轉(zhuǎn)帳金額 **/ Public void transferOut(String fromAccountId,BigDecimal amount);/** * 外部轉(zhuǎn)帳-轉(zhuǎn)入,給轉(zhuǎn)入帳號增加轉(zhuǎn)帳金額 * toAccountId 轉(zhuǎn)入帳號 * amount 轉(zhuǎn)帳金額 Public void transerIn(String toAccountId, BigDecimal amount);} 請編寫你的實現(xiàn)類,來實現(xiàn)上述接口 Account表 字段:accountId , 主鍵 varchar2(32), 用戶帳號 字段:amount , 金額 number(18,3) 10、SQL問答題 表結(jié)構(gòu): 1、表名:g_cardapply 字段(字段名/類型/長度): g_applyno varchar 8: //申請單號(關(guān)鍵字)g_applydate bigint 8: //申請日期 g_state varchar 2: //申請狀態(tài) 2、表名:g_cardapplydetail 字段(字段名/類型/長度): g_applyno varchar 8: //申請單號(關(guān)鍵字)g_name varchar 30: //申請人姓名 g_idcard varchar 18: //申請人身份證號 g_state varchar 2: //申請狀態(tài) 其中,兩個表的關(guān)聯(lián)字為申請單號 題目: 1、查詢身份證號碼為***082的申請日期 2、查詢同一個身份證號碼有兩條以上記錄的身份證號碼及記錄個數(shù) 3、將身份證號碼為***082的記錄在兩個表中的申請狀態(tài)均改為07 4、刪除g_cardapplydetail表中所有姓李的記錄 一、選擇題 1.Java中提供了名為()的包裝類來包裝原始字符串類型。A.Integer B.Char C.Double D.String 2.java.lang包的()方法比較兩個對象是否相等,相等返回true。A.toString()B.equals()C.compare() D.以上所有選項都不正確 3.下面的集合中,()不可以存儲重復(fù)元素。A.Set B.Collection C.Map D.List 4.Java接口的修飾符可以為() A private B protected C final D abstract 5.下面哪些是Thread類的方法() A start()B run()C exit()D getPriority() 6.下面關(guān)于java.lang.Exception類的說法正確的是() A 繼承自Throwable B Serialable C集成自Error D以上都不正確 7.下面程序的運行結(jié)果:() public static void main(String[] args){ // TODO Auto-generated method stub Thread t = new Thread(){ public void run(){ pong();} };t.run();System.out.print(“ping”);} static void pong(){ System.out.print(“pong”);} A pingpong B pongping C pingpong和pongping都有可能 D 都不輸出 8.下面哪個流類屬于面向字符的輸入流()A BufferedWriter B FileInputStream C ObjectInputStream D InputStreamReader 9.ArrayList list = new ArrayList(20);中的list擴充幾次() A 0 B 1 C 2 D 3 二、問答題 1.String與StringBuffer的區(qū)別? 2.談?wù)刦inal、finally、finalize的區(qū)別? 3.創(chuàng)建一個對象的方法有哪些? 4.編寫一個程序,產(chǎn)生ArrayIndexOutOfBoundsException異常,并捕獲該異常,在控制臺輸出異常信息。 5.寫一個線程安全的Singleton實例 6.請用JAVA代碼實現(xiàn)拷貝一個大于2G的文件到其他盤。 7.設(shè)計四個線程,其中兩個線程每次對變量i加1,另外兩個線程每次對i減1.8.自己編寫代碼,實現(xiàn)生產(chǎn)者-消費者模型功能.內(nèi)容自由發(fā)揮,只需要表達思想.9.在Mysql中,請用一條SQL語句將現(xiàn)有的三條記錄復(fù)制一下,達到以下的效果: ID name pass aaa 111 bbb 222 ccc 333 aaa 111 bbb 222 ccc 333 10.用SQL語句刪除上一題的重復(fù)記錄.。 JAVA軟件開發(fā)工程師筆試題 2009年高校招聘專用試題 第一部分 選擇題 單選題。 1. Java中,關(guān)于char類型敘述錯誤的是(C) A.占2字節(jié) B.可以存儲一個英文字母 C.不能存儲一個漢字 D.其對應(yīng)的封裝類是Character 2.下列代碼中,將引起編譯錯誤的行是(B) 1)public class Exercise{ 2)public static void main(String args[]){ 3)float f=0.0; 4)f+=1.0; 5)} 6)} A.第2行 B.第3行 C.第4行 D.第6行 3.下面程序運行后的結(jié)果是什么?(A) Public class Test{ Static Boolean foo(char c){ System.out.print(c); Return true; } Public static void main(String[] argv){ Int i=0; For(foo(?A?);foo(?B?)&&(i<2);foo(?C?)){ i++; foo(?D?); } } } A.ABDCBDCB B.ABCDABCD C.Compilation fails.D.An exception is thrown at runtime.4.下面正確的是(A) A.在java中類只允許單一繼承 B.在java中一個類只允許實現(xiàn)一個借口 C.在java中類不能同時繼承一個類和實現(xiàn)一個借口 D.在java中一個接口只能繼承一個接口 5.下列敘述中,錯誤的是(B) A.File類能夠存儲文件 B.File類能夠讀寫文件 C.File能夠建立文件 D.File類能夠獲取文件目錄信息 6.下列關(guān)于java多線程并發(fā)控制機制的敘述中,錯誤的是(B) A.java中對共享數(shù)據(jù)操作的并發(fā)控制是采用加鎖技術(shù) B.線程之間的交互,提倡采用suspend()/resume()方法 C.共享數(shù)據(jù)的訪問權(quán)限都必須定義為private D.java中沒有提供檢測與避免死鎖的專門機制,但應(yīng)用程序員可以采用某些策略防止 死鎖的發(fā)生 7.Jsp頁面中哪句有錯?(A) A.<> B.<%!request.isUserInRole(“manager”)%> C.<%=request.getRemoteHost()%> D.<% out.println(“Hello.”);%> 8.關(guān)于Servlet的描述正確的是?(B) A.Servlet在init方法可以處理application的配置參數(shù) B.每次請求會依次調(diào)用servlet的init,service,destroy方法 C.在Servlet中定義的類的實例變量可以被多次請求共享使用 D.用戶可以創(chuàng)建Servlet的實例 9.下面說法正確的是 A.客戶端可以直接使用實體Bean B.會話Bean,消息Bean都是同步的C.無狀態(tài)會話Bean更容易在集群環(huán)境布署 D.狀態(tài)會話Bean不可以被重用 10.下面說法錯誤的是 A.SQLException的getErrorCode返回的是廠商相關(guān)錯代碼 B.使用一個Connection可以創(chuàng)建多個Statement C.當Statement關(guān)閉時,相關(guān)連的ResultSet也會被關(guān)閉 D.JNDI可以用于訪問網(wǎng)絡(luò)目錄和文件 多選題 1.執(zhí)行下列代碼后,那個結(jié)論是正確的?(B) String[]s=new String[10]; A.s[10]為 “ “; B.s[9]為null; C.s[0]為 未定義; D.s.length 為10 2.下列那個方法是對方法public void add(int a){}合理的重載?(B,C,D) A.public int add(int a); B.public void add(long a); C.public void add(int a,int b) D.public void add(float a) 3.下面繼承A 的類中的方法定義哪兩個是正確的?(A,C) Class A { Protected int method1(int a, int b){return 0;}} A.public int method1(int a,int b){return 0;} B.private int method1(int a,int b){return 0;} C.public short method1(int a ,long b){return 0;} D.static protrcted int method1(int a, int b){return 0;} 4.下面方法運行后,在控制臺上那些將會被顯示?(B,C,D) Publicvoid example(){ Try{ Unsafe(0; System.out.println(“Test 1”); }catch(SafeException e){ System.out.println(“Test 2”); }Finally{ System.out.println(“Test 3”); } System.out.println(“Test 4”); } A.Test 1 B.Test 2 C.Test 3 D.Test 4 簡答題 1. 調(diào)試一個數(shù)據(jù)庫操作的程序時,后臺報告 IoException: The Network Adapter could not establish the connection 錯誤,如何解決? 這個異常的出現(xiàn)一般與數(shù)據(jù)庫和你的PC的設(shè)置有關(guān)這種異常的出現(xiàn)大致上有下面幾種:1。IP錯誤。在設(shè)置URL時錯誤,例如:jdbc:oracle:thin:@192.168.0.36:1521:sharp 數(shù)據(jù)庫服務(wù)器不正確:ping 服務(wù)器IP是否正確。不正確,將URL更改為正確 端口號錯誤:一般不會錯誤。進行一下操作:在DOS上鍵入sqlplus,檢查oracle是否開啟 一卻正常,2。防火墻如果機器上安裝有放火墻,可能是服務(wù)器端口號屏蔽而造的。關(guān)閉防火墻后,嘗試重新連接。3。數(shù)據(jù)庫監(jiān)聽未啟動 修改PC上注冊表中的ImagePath值。 2.數(shù)據(jù)庫表結(jié)構(gòu)如下; 學(xué)生(學(xué)號,名稱) 科目(科目號,科目名稱,科目學(xué)分) 得分(學(xué)號,科目號,得分) 編寫SQL語句,查詢學(xué)分之和大于20,且科目平均得分大于4.2的學(xué)生名單。 Select * from 學(xué)生 where 學(xué)號 in(select 學(xué)號 from 科目 join 得分 on 科目.科目號=得分.科目號 group by 學(xué)號 having avg(得分)>20 and sum(科目學(xué)分)>20) 編程題 1.費波那其數(shù)列,1,1,2,3,5……編寫程序求第十項(不能用遞歸) public class Test { public static void main(String args[]){ int n=10; int a=1, b=1, temp; int sum=2; for(int i=3;i<=n;i++){ temp=a+b;a=b;b=temp; sum=sum+temp; } 2.用數(shù)據(jù)結(jié)構(gòu)描述圖,比設(shè)計方法判斷圖是否連通。 3.設(shè)計一個排序接口,并編寫接口實現(xiàn)。將對象數(shù)組(Object[]array)進行升序排序,對相間的大小比較策略可以定制擴展。(例如,對于人員,可以使用相同排序算法,不同的比較策略方便的實現(xiàn)按體重、身高或年齡等屬性排序)。 4.關(guān)鍵資源的使用對系統(tǒng)的性能影響很大,請?zhí)峁┮粋€改進方案,可以高效使用關(guān)鍵資源。第二篇:Java軟件開發(fā)工程師筆試題
第三篇:軟件開發(fā)工程師(JAVA)筆試題
第四篇:JAVA工程師筆試題
第五篇:JAVA軟件開發(fā)工程師筆試題 2009年高校招聘專用試題