Java考核試題(含答案)_第1頁
Java考核試題(含答案)_第2頁
Java考核試題(含答案)_第3頁
Java考核試題(含答案)_第4頁
Java考核試題(含答案)_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

軟件開發(fā)評測題

(考核時間120分鐘,總分100分+附加題15分)

一、選擇題(每題2分,共30分)

1、請判斷一下程序的正確結果是哪項(D)

publicclassmyprogram{

publicstaticvoidmain(Stringargs[]){

try(

System.out.print(zzHelloworld");}

finally{

System.out.println(zzFinallyexecuting");

)

}

}

A、無法編譯,因為沒有指定異常

B、無法編譯,因為沒有catch子句

C、Helloworld

D、HelloworldFinallyexecuting

2、JDBC中要顯式地關閉連接的命令是(A)

A、Connection.close();B、RecordSet.close()

C^Connection.stop()D、Connection.release()

3、[多選題]根據下面的代碼,Strings=null;會拋出NullPointerException異常的有(AC)。

A、if((s!=null)&(s.length()>0))

B、if((s!=null)&&(s.length()>0))

C>if((s==null)|(s.length()==0))

D^if((s==null)11(s.length()==0))

4、執(zhí)行完以下代碼int[]x=newint[25];后,以下哪項說明是正確的(A):

A、x[24]為0

B、x[24]未定義

C、x[25]為0

D、x⑼為空

5、[多選題]執(zhí)行下列代碼后,哪個結論是正確的String[]s=newString[10](AD);

A、s[9]為null;

B、s[10]為“”;

C、s[0]為未定義

D^s.length為10

6、[多選題]有關線程的哪些敘述是對的(BCD)

A、一旦一個線程被創(chuàng)建,它就立即開始運行。

B、使用start。方法可以使一個線程成為可運行的,但是它不一定立即開始運行。

C、當一個線程因為搶先機制而停止運行,它被放在可運行隊列的前面。

D、一個線程可能因為不同的原因停止并進入就緒狀態(tài)。

7、使用"=="比較操作符,是為了判斷兩個對象(C)

A、是否為同一個類的實例

B、是否值相同

C、是否為完全相同的對象

8、[多選題]下面說法哪項是正確的(BD)

A、Java虛擬機中的自動垃圾回收機阻止程序運行溢出內存

B、一段程序可以建議垃圾回收執(zhí)行,但不能強迫它執(zhí)行

C、垃圾回收是一個獨立的平臺

D、當一個對象的所有引用都被置空時,這個對象就可以變?yōu)槟鼙焕厥?/p>

9」多選題]JDBC編程的異常類型分為(AC)

A、SQLException

B、SQLError

C^SQLWarning

D、SQLFatal

E、SQLTruncation

10、如果要限制某個查詢語句返回的最多的記錄數,可以通過調用Statement的方法(C)

來實現。

A、setFetchSize

B、setMaxFieldSize

C>setMaxRows

11、[多選題]以下哪些是定義在ResultSet中用于Cursor定位的方法:(ABCEF)

A、next?!ù朔椒ㄊ鞘褂螛讼蛳乱粭l記錄移動。

B、beforeFirst?!ò延螛艘苿拥降谝粭l記錄的前面(邏輯位置)。

C、afterLast。〃把游標移動到最后一條記錄的后面(邏輯位置)。

D、isBeforeFirst()〃判斷的,不是定位

E、absolute(int)〃定位至IJ指定的記錄位置

F、relative(int)〃相對定位方法

12>DataSource是(B)類型,可以調用DataSource的方法(D)獲得數據庫連接。

A、Delegate

B、Factory

C、connect

D、getConnection

13、[多選題]我們實現的基于HTTP協議的Servlet的服務方法簽名正確的有(BCD)。

A、publicvoiddoGet(ServletRequestreq,ServletResponseres)throwslOException,

ServletException//參數不對

B、publicvoiddoPost(HttpServletRequestreq,HttpServletResponseres)throwslOException,

ServletException

C、publicvoidservice(HttpServletRequestreq,HttpServletResponseres)throwslOException,

ServletException

D、publicvoidservice(ServletRequestreq,ServletResponseres)throwslOException,

ServletException

14、[多選題]典型的JDBC程序按(DBECFA)順序編寫。

A、釋放資源

B、獲得與數據庫的物理連接

C、執(zhí)行SQL命令

D、注冊JDBCDriver

E、創(chuàng)建不同類型的Statement

F、如果有結果集,處理結果集

選擇題答案:

D、A、AC、A、AD

BCD、C、BD、AC、C

ABCEF、BD、BCD>DBECFA

二、簡答題(每題5分,共計10分)

1>簡述Collection與Map的共同點和區(qū)別。

二者都作為容器存儲對象,能夠在添加更多對象時,自動調整其尺寸。

Collection只保存單一元素;Map保存對象關聯的鍵值對。

2、簡述String與StringBuffer的區(qū)別。

String類對象為不可變對象,一旦修改了String對象的值,隱性重新創(chuàng)建了一個新的對象,

釋放原String對象;StringBuffer類對象為可修改對象,可以通過append。方法來修改值;對

同一字符串做頻繁更改時,String類對象的性能遠不如StringBuffer類。

三、程序閱讀題(每題5分,共計20分)

1、請寫出以下程序的運行結果。

publicclassShortCircuit{

staticbolleantestl(intval){

print(〃testl(〃+val+〃)”);

print(z/result:w+(val<1));

returnval<1;

)

staticbolleantest2(intval){

print(〃test2(〃+val+〃)〃);

print(z/result:w+(val<2));

returnval<2;

)

staticbolleantest3(intval){

print(〃test3(〃+val+〃門;

print(/zresult:z,+(val<3));

returnval<3;

)

Publicstaticvoidmain(String[]args){

Bolleanb=testl(O)&&test2(2)&&test3(2);

Print(/Zexpressionis〃+b);

)

)

答案:

Testi(0)

result:true

test2(2)

result:false

expressionisfalse

2、請寫出以下程序的運行結果。

PublicclassStringOperators{

Publicstaticvoidmain(String[]args){

Intx=0,y=1,z=2;

Strings="x,y,z

print(s+x+y+z);

print(x+"〃+s);

s+="(summed)=

print(s+(x+y+z));

print(〃〃+x);

)

)

答案:

x,y,z012

0x,y,z

x,y,z(summed)=3

0

3、請寫出以下程序的運行結果。

publicclassCastingNumbers{

publicstaticvoidmain(String[]args){

doubleabove=0.7,below=0.4;

floatfabove=0.7f,fbelow=0.4f;

print("(int)above:〃+(int)above);

print("(int)below:"+(int)below);

print(z/(int)fabove:"+(int)fabove);

print(z/(int)fbelow:"+(int)fbelow);

)

)

答案:

(int)above:0

(int)below:0

(int)fabove:0

(int)fbelow:0

4、請寫出以下程序的運行結果。

publicclassArraysOfPrimitives{

publicstaticvoidmain(String[]args){

int[]al={l,2,3,4,5};

int[]a2;

a2=al;

for(inti=0;I<a2.length;i++)

a2[i]=a2[i]+1;

for(intI=0;I<al.length;i++)

print(〃al[〃+l+〃]=〃+al[i]);

)

}

答案:

al[0]=2

al[l]=3

al[2]=4

al[3]=5

al[4]=6

四、編程題(每題10分,共計40分)

1、題目:輸入三個整數x,y,z,請把這三個數由小到大輸出。(寫出符合的偽代碼即可)

幫助分析:我們想辦法把最小的數放到x上,先將x與y進行比較,如果x>y則將x與y的

值進行交換,然后再用x與z進行比較,如果x>z則將x與z的值進行交換,這樣能使x最

小。

答案:

importjava.util.*;

publicclasstest{

publicstaticvoidmain(String[]args){

inti=0;

intj=0;

intk=0;

intx=0;

System.out.print(”請輸入三個數\n“);

Scannerinput=newScanner(System.in);

i=input.nextlnt();

j=input.nextlnt();

k=input.nextlnt();

if(i>j)

(

x=i;

i=j;

j=x;

)

if(i>k)

(

x=i;

i=k;

k=x;

)

if(j>k)

(

x=j;

j=k;

k=x;

)

System.out.println(i+","+j+","+k);

}

)

2、編寫一個Java程序將當100,101,102,103,104,105個數以數組的形式寫入到Dest.txt文件

中,并以相反的順序讀出顯示在屏幕上。(寫出符合的偽代碼即可)

importjava.io.*;

publicclasslODemo{

publicstaticvoidmain(Stringargs[]){

intdata[]={100,101,102,103404,105};

intt;

try{DataOutputStreamout=newDataOutputStream(newFileOutputStream("dest.txt〃));

for(inti=O;i<data.length;i++)

out.Writelnt(data[i]);

out.close();

DatalnputStreamin=newDatalnputStream(newFilelnputStream("dest.txt"));

for(inti=data.length-l;i>=0;i-){

t=in.readlnt(data[i]);

System.out.print(z/"+t);

}

System.out.println();

in.close();

}catch(IOExceptione){

System.out.println(e.getMessage());

)

)

)

3、錄入用戶的18位身份證號,從中提取用戶的生日。(寫出符合的偽代碼即可)

importjava.util.Scanner;

publicclassGetBirthday{

publicstaticvoidmain(String[]args){

System.out.print(”請輸入用戶的身份證號碼:");

Scannerinput=newScanner(System.in);

Stringid=input.next();

Stringyear=,,H;

Stringmonth=

Stringday=

if(id.length()!=18){〃有效身份證號碼為18位

System.out.println("\n身份證號碼無效!");

}else{year=id.substring(6,10);〃提取年

month=id.substring(10,12);〃提取月

day=id.substring(12,14);〃提取日

System.out.println(”\n該用戶生日是:"+year+“年”+month+“月”+day+”曰”);

)

)

)

4、實現server和client模型程序

服務器,使用Serversocket監(jiān)聽指定的端口,端口可以隨意指定,等待客戶連接請求,客

戶連接后,會話產生;在完成會話后,關閉連接。

客戶端,使用Socket對網絡上某一個服務器的某一個端口發(fā)出連接請求,一旦連接成功,

打開會話;會話完成后,關閉Socket??蛻舳瞬恍枰付ù蜷_的端口,通常臨時的、動態(tài)的

分配一個1024以上的端口。

服務端:

packagecom.basic.socket.server;

importjava.io.DataOutputStream;

importjava.io.lOException;

importjava.io.OutputStream;

import.ServerSocket;

import.Socket;

*服務器斷的工作就是在指定的端口上監(jiān)聽

*1、建立連接

*2、打開輸出流

*3、封裝輸出流

*4、向客戶端發(fā)送數據

*5、關閉打開的輸出流

*6、關閉打開的socket對象*/

publicclassChat_Server{

publicstaticvoidmain(String[]args){

try(

//指定服務器端的端口號為8888

ServerSockets=newServerSocket(8888);

while(true){

〃建立連接

Socketsocket=s.accept();

〃打開輸出流

Outputstreamos=socket.getOutputStream();

〃封裝輸出流

DataOutputStreamdos=newDataOutputStream(os);

〃s.getlnetAddress()獲取遠程ip地址,s.getPort。遠程客戶端的斷后好

〃向客戶端發(fā)送數據

dos.writeUTF("你好,客服端地址信息:"socket.getlnetAddress()+”\t客服端通訊端口

號:“+socket.getPort());

dos.writeUTF("i'maserver,mynameisMercury!");

〃關閉打開的輸出流

dos.close();

〃關閉打開的socket對象

socket.close();

}〃開始下一次循環(huán)

}catch(lOExceptione){

e.printStackTrace();

)

)

客戶端:

packagecom.basic.socket.client;

importjava.io.DatalnputStream;

importjava.io.lOException;

importjava.io.Inputstream;

import.Socket;

/**

*1、創(chuàng)建socket對象,指定服務器的ip地址,和服務器監(jiān)聽的端口號

*2、打開輸入流

*3、封裝輸入流

*4、打印服務器端發(fā)送過來的信息

*5

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論