Java程序員面試分類模擬20_第1頁(yè)
Java程序員面試分類模擬20_第2頁(yè)
Java程序員面試分類模擬20_第3頁(yè)
Java程序員面試分類模擬20_第4頁(yè)
Java程序員面試分類模擬20_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Java程序員面試分類模擬20一、單項(xiàng)選擇題1.

以下關(guān)于關(guān)鍵字break的描述中,正確的是______。A.只中斷最外層的循環(huán)B.只中斷最內(nèi)層的循環(huán)C.借助于標(biāo)號(hào),可以實(shí)現(xiàn)任何外層循環(huán)中斷D.只(江南博哥)中斷某一層的循環(huán)正確答案:C[解析]關(guān)鍵字break的作用是直接強(qiáng)行跳出當(dāng)前循環(huán),不再執(zhí)行剩余部分代碼。當(dāng)循環(huán)中遇到break語(yǔ)句時(shí),忽略循環(huán)體中任何其他語(yǔ)句和循環(huán)條件測(cè)試,程序控制在循環(huán)后面語(yǔ)句重新開始。所以,當(dāng)多層循環(huán)嵌套,并且break語(yǔ)句出現(xiàn)在嵌套循環(huán)中的內(nèi)層循環(huán)時(shí),它將僅僅只是終止了內(nèi)層循環(huán)的執(zhí)行,而不影響外層循環(huán)的執(zhí)行。

由于break只能跳出當(dāng)前的循環(huán),那么如何才能實(shí)現(xiàn)跳出多重循環(huán)呢?可以在多重循環(huán)的外面定義一個(gè)標(biāo)識(shí),然后在循環(huán)體里使用帶有標(biāo)識(shí)的break語(yǔ)句即可跳出多重循環(huán)。

程序示例如下:publicclassTest{publicstaticvoidmain(String[]args){out:for(inti=0;i<5;i++){for(intj=0;<5;j++){if(j>=2)breakout;System.out.println(j);}}System.out.pfintln("break");}}程序的運(yùn)行結(jié)果為:01break

上例中,當(dāng)內(nèi)部循環(huán)執(zhí)行到j(luò)等于2時(shí),程序跳出雙重循環(huán),執(zhí)行System.out.println("break")語(yǔ)句。

從以上分析可以看出,break可以借助標(biāo)記跳出多重循環(huán),選項(xiàng)C正確。

2.

有如下代碼:intx=8,y=2,z;x=++x*y;z==x/y++;

在執(zhí)行完后,變量x和變量y的值分別是______。A.16,3B.18,4C.18,2D.18,3正確答案:D[解析]前置自增運(yùn)算符++與后置自增運(yùn)算符++有本質(zhì)的區(qū)別,它們的相同點(diǎn)都是為自身加1,不同點(diǎn)是前置自增運(yùn)算符++是先加1,再使用操作數(shù)的值,后置自增運(yùn)算符++是先使用操作數(shù)的值,再加1。

本題中,在執(zhí)行語(yǔ)句x=++x*y的時(shí)候,首先,變量x的值變?yōu)?,然后,乘以y,y的值為2,得到x的值為18,在執(zhí)行語(yǔ)句z=x/y++的時(shí)候,首先會(huì)執(zhí)行z=x/y,運(yùn)算結(jié)束后再執(zhí)行y++,運(yùn)行結(jié)束后y的值為3。所以,選項(xiàng)D正確。

3.

選項(xiàng)______中代碼可以替換題目中//addcodehere的內(nèi)容,同時(shí)不產(chǎn)生編譯錯(cuò)誤。publicabstractclassExample{publicintconstInt=5;//addcodeherepublicvoidmethod(){}}

A.publicabstractvoidmethod(floata);B.constInt=constInt+7;C.publicintmethod();D.publicabstractvoidmethod1(){}正確答案:A[解析]如果一個(gè)類中包含抽象方法,那么這個(gè)類就是抽象類。在Java語(yǔ)言中,可以通過把類或者類中的某些方法聲明為abstract來表示一個(gè)類是抽象類。

只要包含一個(gè)抽象方法的類就必須被聲明為抽象類,抽象類可以聲明方法的存在而不去實(shí)現(xiàn)它,被聲明為抽象的方法不能包含方法體。

對(duì)于選項(xiàng)A,定義了一個(gè)方法,這個(gè)方法與已有的方法有不同的參數(shù),可以作為方法的重載。因此,選項(xiàng)A正確。

對(duì)于選項(xiàng)B,任何執(zhí)行語(yǔ)句必須存在于一個(gè)代碼塊中(方法體、靜態(tài)快等),不能單獨(dú)存在于類的定義中。因此,選項(xiàng)B錯(cuò)誤。

對(duì)于選項(xiàng)C,這個(gè)方法與已知的方法名以及參數(shù)相同,因此,會(huì)導(dǎo)致編譯錯(cuò)誤。因?yàn)闊o法通過返回值來進(jìn)行重載。此外,這個(gè)方法沒有被聲明為abstract,說明它不是抽象方法,必須有方法體,但選項(xiàng)C的寫法也沒有方法體。因此,選項(xiàng)C錯(cuò)誤。

對(duì)于選項(xiàng)D,使用關(guān)鍵字abstract修飾的方法為抽象方法,不能有方法體,也就是說不能有{}。因此,選項(xiàng)D錯(cuò)誤。

4.

有如下代碼:publicclassTest{publicstaticvoidmain(String[]args){try{return;}finally{System.out.println("Finally");}}}

上述代碼的輸出結(jié)果是______。A.FinallyB.編譯失敗C.運(yùn)行時(shí)拋出異常D.代碼正常運(yùn)行但沒有任何輸出正確答案:A[解析]本題中,對(duì)于異常處理而言,即使有return語(yǔ)句存在,也得保證finally塊中的語(yǔ)句能運(yùn)行,所以,語(yǔ)句System.out.println("Finally")最終會(huì)被執(zhí)行,因此,程序的運(yùn)行結(jié)果為Finally。所以,選項(xiàng)A正確。

5.

可以完成編寫一個(gè)C語(yǔ)言編譯器的語(yǔ)言是______。A.匯編B.C語(yǔ)言C.VBD.以上全可以正確答案:D[解析]編譯器的目的就是把編程語(yǔ)言編譯成匯編語(yǔ)言或者機(jī)器語(yǔ)言,主要是詞法分析、語(yǔ)法分析和語(yǔ)義分析等。從理論上講,用任何程序設(shè)計(jì)語(yǔ)言都可以編寫一個(gè)C語(yǔ)言編譯器。所以,選項(xiàng)D正確。

所以,本題的答案為D。

6.

關(guān)于下面這段代碼的描述正確的是______。

publicclassCard{

privateStringcardid;

publicStringgetCardid(){

returncardid;

}

publicvoidsetCardid(Stringcardid){

this.cardid=cardid;

}

}A.這個(gè)類不符合JavaBean的定義規(guī)則,因?yàn)闆]有無參數(shù)的構(gòu)造方法B.這個(gè)類不符合JavaBean的定義規(guī)則,方法名setCardid應(yīng)該改為setcardidC.這個(gè)類符合JavaBean的定義規(guī)則D.這個(gè)類不符合JavaBean定義的規(guī)則,因?yàn)闆]有實(shí)現(xiàn)序列化接口正確答案:D[解析]JavaBean是一種由Java語(yǔ)言編寫的可重用組件,也就是Java類。定義一個(gè)JavaBean必須滿足以下幾個(gè)條件:

1)需要有一個(gè)公共的、無參數(shù)的構(gòu)造方法。

2)定義實(shí)例變量為prirate,同時(shí)提供一組public存取方法(getXXX和setXXX)。例如屬性name,get方法就要寫成publicstringgetName(){},N大寫。

3)類必須要能序列化,也就是說必須實(shí)現(xiàn)Serializable接口。

從上面分析可知,選項(xiàng)D正確。

對(duì)于選項(xiàng)A,當(dāng)一個(gè)類沒有構(gòu)造方法的時(shí)候,編譯器會(huì)提供一個(gè)默認(rèn)的無參數(shù)的構(gòu)造方法。所以,選項(xiàng)A錯(cuò)誤。

對(duì)于選項(xiàng)B,對(duì)于屬性的存取方法(getXXX和setXXX),get與set后面第一個(gè)字母為大寫,因此,題目中的寫法是正確的。所以,選項(xiàng)B錯(cuò)誤。

7.

使i+1<i的數(shù)______。A.存在B.不存在C.不確定正確答案:A[解析]假設(shè)變量i為int類型,當(dāng)i為int能表示的最大整數(shù)時(shí),i+1就會(huì)溢出變成負(fù)數(shù)了,此時(shí)就滿足i+1<i。如下例所示:publicclassTest{publicstaticvoidmain(Stringargs[]){inti=Integer.MAX_VALUE;if(i>i+1){System.out.println("存在");}}}程序輸出結(jié)果為:存在

8.

在關(guān)系數(shù)據(jù)庫(kù)中,用來表示實(shí)體之間聯(lián)系的是______。A.樹結(jié)構(gòu)B.網(wǎng)結(jié)構(gòu)C.線性表D.二維表正確答案:D[解析]關(guān)系數(shù)據(jù)庫(kù)中用二維表來表示實(shí)體之間的聯(lián)系??梢园褦?shù)據(jù)看成一個(gè)二維表,而每一個(gè)二維表稱為一個(gè)關(guān)系。所以,選項(xiàng)D正確。

9.

在Java語(yǔ)言中,下面可以用作正確的變量名稱的是______。A.1xB.ageC.extendsD.implements正確答案:B[解析]對(duì)于選項(xiàng)A,這個(gè)名稱是以數(shù)字開頭的,因此,它不符合定義規(guī)則。所以,選項(xiàng)A錯(cuò)誤。

對(duì)于選項(xiàng)B,符合定義規(guī)則。所以,選項(xiàng)B正確。

對(duì)于選項(xiàng)C和選項(xiàng)D,它們是Java中的關(guān)鍵字,extends是類繼承的關(guān)鍵字,implements是實(shí)現(xiàn)接口的關(guān)鍵字,它們不能用來作為變量名稱。所以,選項(xiàng)C和選項(xiàng)D錯(cuò)誤。

10.

有如下代碼:publicclassTest{publicintf(){return1%5;}publicstaticvoidmain(String[]args){System.out.println(f());}}

編譯運(yùn)行結(jié)果是______。A.編譯錯(cuò)誤B.運(yùn)行錯(cuò)誤C.正常運(yùn)行,輸出1D.正常運(yùn)行,輸出0正確答案:A[解析]在Java語(yǔ)言中,被聲明為static的方法為靜態(tài)方法,靜態(tài)方法內(nèi)部只能調(diào)用靜態(tài)方法,不能調(diào)用非靜態(tài)方法,原因是靜態(tài)方法是類的方法,是不依賴于對(duì)象而存在的,在不創(chuàng)建對(duì)象的時(shí)候就可以調(diào)用。而非靜態(tài)方法是對(duì)象的方法,只有對(duì)象被實(shí)例化后才存在。因此,當(dāng)靜態(tài)方法調(diào)用非靜態(tài)方法的時(shí)候,就會(huì)出現(xiàn)編譯錯(cuò)誤。所以,選項(xiàng)A正確。

11.

下列不屬于RTSP的方法的是______。A.OPTIONSB.CALLC.PLAYD.PALJSE正確答案:B[解析]RTSP(RealTimeStreamingProtocol,實(shí)時(shí)流傳輸協(xié)議)是TCP/IP協(xié)議體系中的一個(gè)應(yīng)用層協(xié)議。

RTSP請(qǐng)求報(bào)文的方法包括OPTIONS、DESCRIBE、SETUP、TEARDOWN、PLAY、PAUSE、GETPARAMETER和SET_PARAMETER。

很顯然,CALL不是RTSP的方法。所以,選項(xiàng)B正確。

12.

下列情況中,不能使用棧(stack)來解決問題的是______。A.將數(shù)學(xué)表達(dá)式轉(zhuǎn)換為后輟形式B.實(shí)現(xiàn)遞歸算法C.高級(jí)編程語(yǔ)言的過程調(diào)用D.操作系統(tǒng)分配資源(例如CPU)正確答案:D[解析]棧的性質(zhì)是先進(jìn)先出。

對(duì)于選項(xiàng)A,后綴表達(dá)式指的是不包含括號(hào),運(yùn)算符放在兩個(gè)運(yùn)算對(duì)象的后面,所有的計(jì)算按運(yùn)算符出現(xiàn)的順序,嚴(yán)格從左向右進(jìn)行(不再考慮運(yùn)算符的優(yōu)先規(guī)則),例如,對(duì)于表達(dá)式(2+1)*3,其后綴表達(dá)式為21+3*,通過定義可知,可以通過棧來實(shí)現(xiàn)。所以,選項(xiàng)A正確。

對(duì)于選項(xiàng)B,根據(jù)遞歸算法的性質(zhì)可知,可以通過棧來實(shí)現(xiàn)。所以,選項(xiàng)B正確。

對(duì)于選項(xiàng)C,根據(jù)過程調(diào)用的性質(zhì)可知,可以通過棧來實(shí)現(xiàn)。所以,選項(xiàng)C正確。

對(duì)于選項(xiàng)D,操作系統(tǒng)資源分配有多種分配策略,例如先到先執(zhí)行,此時(shí)就可以使用隊(duì)列來完成。

所以,選項(xiàng)D不正確。

所以,本題的答案為D。

13.

下面不屬于SQL語(yǔ)句的子類的是______。A.數(shù)據(jù)查詢語(yǔ)言(DQL)B.數(shù)據(jù)定義語(yǔ)言(DDL)C.事務(wù)控制語(yǔ)言(TCL)D.數(shù)據(jù)插入語(yǔ)言(DIL)正確答案:C[解析]SQL語(yǔ)言可以分為四大類:數(shù)據(jù)定義語(yǔ)言DDL(DataDefinitionLanguage)、數(shù)據(jù)查詢語(yǔ)言DOL(DataQueryLanguage)、數(shù)據(jù)操縱語(yǔ)言DML(DataManipulationLanguage)以及數(shù)據(jù)控制語(yǔ)言DCL(DatacontrolLanguage)。

1)數(shù)據(jù)定義語(yǔ)言用來建立、修改和刪除數(shù)據(jù)庫(kù)中的對(duì)象(包括表、視圖、索引等)。

2)數(shù)據(jù)查詢語(yǔ)言主要用來檢索數(shù)據(jù)庫(kù),主要是指select語(yǔ)句。

3)數(shù)據(jù)操縱語(yǔ)句是指用來改變數(shù)據(jù)庫(kù)中數(shù)據(jù)的語(yǔ)句,主要包含insert、update和delete語(yǔ)句。

4)數(shù)據(jù)控制語(yǔ)言用于對(duì)數(shù)據(jù)庫(kù)的訪問,例如,①給用戶授予訪問權(quán)限(GRANT);②取消用戶訪問權(quán)限。

通過上面分析可知,選項(xiàng)A和選項(xiàng)B屬于SQL語(yǔ)句的子類,所以,選項(xiàng)A與選項(xiàng)B錯(cuò)誤。選項(xiàng)D的數(shù)據(jù)插入語(yǔ)言也屬于數(shù)據(jù)操作語(yǔ)言的一種,因此,它也是SQL語(yǔ)句的子類,所以,選項(xiàng)D錯(cuò)誤。對(duì)于選項(xiàng)C,事務(wù)控制語(yǔ)言不屬于SQL語(yǔ)句的子類,所以,選項(xiàng)C正確。

14.

有如下代碼:classSuper{publicIntegergetLenght(){returnnewInteger(4);}}publicclassSubextendsSuper{publicLonggetLenght(){returnnewLong(5);}publicstaticvoidmain(String[]args){Supersuper=newSuper();Subsub=newSub();System.out.println(super.getLenght().toString()+","+sub.getLenght());}}

上述代碼的輸出結(jié)果是______。A.4,5B.4,4C.5,4D.編譯失敗正確答案:D[解析]如果有兩個(gè)方法的方法名相同,但參數(shù)不一致,那么一個(gè)方法是另一個(gè)方法的重載。如果在子類中定義了一個(gè)方法,其方法名稱、返回值類型及參數(shù)列表正好與父類中某個(gè)方法的名稱、返回值類型及參數(shù)列表一致,那么,此時(shí)子類的方法覆蓋了父類的方法。

本題是典型的方法Override(覆蓋),它要求子類中的方法必須與父類完全相同(相同的方法名、相同的參數(shù)列表及相同的返回值)。

對(duì)于本題而言,父類中定義了一個(gè)getLenght方法,子類中也有同樣的方法,但是卻有著不同的返回值,因此,編譯錯(cuò)誤。所以,選項(xiàng)D正確。

15.

某系統(tǒng)中有3個(gè)并發(fā)進(jìn)程,都需要同類資源4個(gè),試問該系統(tǒng)不會(huì)發(fā)生死鎖的最少資源數(shù)是______。A.9B.10C.11D.12正確答案:B[解析]系統(tǒng)不會(huì)發(fā)生死鎖的最少資源數(shù)=每個(gè)進(jìn)程擁有(4-1=3)個(gè)資源+多出1個(gè)資源=3*3+1=10。所以,選項(xiàng)B正確。

16.

設(shè)某棵二叉樹中有360個(gè)結(jié)點(diǎn),則該二叉樹的最小高度是______。A.7B.9C.10D.8正確答案:B[解析]本題中的二叉樹并沒有說明到底是一棵什么類型的二叉樹(完全二叉樹、滿二叉樹、普通二叉樹還是其他二叉樹),所以,其高度存在不確定性。

定義二叉樹中的結(jié)點(diǎn)總數(shù)為n,當(dāng)每個(gè)結(jié)點(diǎn)只有一棵子樹的時(shí)候,其高度值最大,為n。當(dāng)該二叉樹為完全二叉樹時(shí),其高度值最小,為(其中符號(hào)表示取下整),其他情況的二叉樹的高度都是介于這兩個(gè)值之間,即,不大于最大值也不小于最小值。

本題中要想求二叉樹的最小高度,那么此時(shí)該二叉樹為完全二叉樹,其對(duì)應(yīng)的高度為。所以,選項(xiàng)B正確。

17.

在進(jìn)程間通信的方式中,訪問速度最快的是______。A.管道B.消息隊(duì)列C.共享內(nèi)存D.套接字正確答案:C[解析]共享內(nèi)存就是映射一段能被其他進(jìn)程所訪問的內(nèi)存,這段內(nèi)存由一個(gè)進(jìn)程創(chuàng)建,但多個(gè)進(jìn)程都可以訪問。共享內(nèi)存是最快的進(jìn)程間通信的方式,它是針對(duì)其他進(jìn)程間通信方式運(yùn)行效率低而專門設(shè)計(jì)的。所以,選項(xiàng)C正確。

18.

新建一個(gè)流對(duì)象,下面代碼中,描述錯(cuò)誤的是______。A.newBufferedWriter(newFileWriter("d.txt"));B.newBufferedReader(newFilelnputStream("d.dat"));C.newObjectInputStream(newFilelnputStream("d.dat"));D.newGZlPOutputStream(newFileOutputStream("d.zip"));正確答案:B[解析]本題中,選項(xiàng)A、選項(xiàng)C、選項(xiàng)D的方法寫法都是正確的,只有選項(xiàng)B的方法寫法不正確。BufferedReader是Reader的一個(gè)子類,具有緩沖的作用,避免了頻繁地從物理設(shè)備中讀取信息。它有以下兩個(gè)構(gòu)造函數(shù):

1)BufferedReader(Readerin)

2)BufferedReader(Readerin,intsz)//sz是指定緩沖區(qū)的大小

由此可見,BufferedReader類只能用來包裝Reader類或其子類。因此,選項(xiàng)B錯(cuò)誤。

19.

以下獲取ResutlSet對(duì)象rst的第一行數(shù)據(jù)的方法中,正確的是______。A.rst.hashNext();B.rst.next();C.rst.first();D.rst.nextRow();正確答案:B[解析]ResultSet(結(jié)果集)是數(shù)據(jù)中查詢結(jié)果返回的一種對(duì)象,通常通過執(zhí)行查詢數(shù)據(jù)庫(kù)的語(yǔ)句生成。ResultSet對(duì)象不僅具有存儲(chǔ)功能,還具有操縱數(shù)據(jù)的功能。

ResultSet對(duì)象具有指向其當(dāng)前數(shù)據(jù)行的指針,它包含了符合SQL語(yǔ)句查詢結(jié)果的所有行,提供了一套get方法(訪問當(dāng)前行的不同列)用于對(duì)這些行中數(shù)據(jù)進(jìn)行訪問。ResultSet的next方法用于移動(dòng)到ResultSet中的下一行,使下一行成為當(dāng)前行。因此,對(duì)于剛獲取到的ResultSet對(duì)象,第一次調(diào)用next方法就會(huì)得到第一行的數(shù)據(jù)。所以,選項(xiàng)B正確。

所以,本題的答案為B。

20.

以下不是內(nèi)核對(duì)象的是______。A.進(jìn)程B.線程C.互斥器D.臨界區(qū)正確答案:D[解析]一個(gè)內(nèi)核對(duì)象就是在系統(tǒng)堆中占據(jù)一塊空間的結(jié)構(gòu)體。不同種類的內(nèi)核對(duì)象用來管理操作系統(tǒng)中不同的資源,例如進(jìn)程、線程和文件等。所有內(nèi)核對(duì)象都會(huì)保存該對(duì)象的引用計(jì)數(shù),進(jìn)程對(duì)象會(huì)保存進(jìn)程ID,文件對(duì)象會(huì)保存當(dāng)前字節(jié)偏移量、共享模式和打開模式等。操作系統(tǒng)中所有內(nèi)核對(duì)象都是保存在一塊內(nèi)存空間中的,系統(tǒng)上所有的進(jìn)程都共享這一塊內(nèi)存空間。

每個(gè)進(jìn)程中訪問臨界資源的那段程序稱為臨界區(qū)(臨界資源是一次僅允許一個(gè)進(jìn)程使用的共享資源)。每次只允許一個(gè)進(jìn)程進(jìn)入臨界區(qū),進(jìn)入后不允許其他進(jìn)程進(jìn)入。

互斥對(duì)象是一種最簡(jiǎn)單的內(nèi)核對(duì)象,用它可以方便地實(shí)現(xiàn)對(duì)某一資源的互斥訪問。而臨界區(qū)并不是內(nèi)核對(duì)象,而是系統(tǒng)提供的一種數(shù)據(jù)結(jié)構(gòu),程序中可以聲明一個(gè)該類型變量,之后用它來實(shí)現(xiàn)對(duì)資源的互斥訪問。當(dāng)希望訪問某一臨界資源時(shí),先將該臨界區(qū)加鎖(如果臨界區(qū)不空閑,則等待),用完該資源后,將臨界區(qū)釋放。

21.

可以對(duì)對(duì)象加互斥鎖的關(guān)鍵字是______。A.transientB.synchronizedC.serializeD.static正確答案:B

22.

用樹形結(jié)構(gòu)表示實(shí)體之間聯(lián)系的模型是______。A.關(guān)系模型B.網(wǎng)狀模型C.層次模型D.以上三個(gè)都是正確答案:C[解析]數(shù)據(jù)庫(kù)模型是數(shù)據(jù)庫(kù)管理的形式框架,用來描述一組數(shù)據(jù)的概念和定義。模型的結(jié)構(gòu)部分規(guī)定了數(shù)據(jù)如何被描述(例如樹、表等)。

本題中,對(duì)于選項(xiàng)A,關(guān)系模型是二維表,一張表即為一個(gè)關(guān)系,例如教師關(guān)系(教師編號(hào),姓名,出生年月,性別),就像office中的電子表格excel的表格,關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)單、清晰,用戶理解容易,應(yīng)用方便。鑒于此,當(dāng)今大多數(shù)數(shù)據(jù)庫(kù)系統(tǒng)都采用關(guān)系數(shù)據(jù)模型。所以,選項(xiàng)A錯(cuò)誤。

對(duì)于選項(xiàng)B,網(wǎng)狀模型是一種用網(wǎng)絡(luò)結(jié)構(gòu)表示實(shí)體類型及其實(shí)體之間聯(lián)系的模型,它相當(dāng)于一個(gè)有向圖。與層次模型結(jié)構(gòu)不同的是,在網(wǎng)狀模型中,一個(gè)結(jié)點(diǎn)可以有多個(gè)雙親結(jié)點(diǎn),且允許一個(gè)以上的結(jié)點(diǎn)無雙親。所以,選項(xiàng)B錯(cuò)誤。

對(duì)于選項(xiàng)C與選項(xiàng)D,層次模型指的是使用樹形結(jié)構(gòu)表示實(shí)體及其之間的聯(lián)系,其結(jié)構(gòu)是一棵有向樹,樹中的每個(gè)結(jié)點(diǎn)代表一種記錄類型,在這些結(jié)點(diǎn)中,有且僅有一個(gè)結(jié)點(diǎn)無雙親(根結(jié)點(diǎn)),其他結(jié)點(diǎn)有且僅有一個(gè)雙親結(jié)點(diǎn)。所以,選項(xiàng)C正確,選項(xiàng)D錯(cuò)誤。

所以,本題的答案為C。

23.

以下關(guān)于繼承的描述中,正確的是______。A.在Java語(yǔ)言中類只允許單一繼承B.在Java語(yǔ)言中一個(gè)類只能實(shí)現(xiàn)一個(gè)接口C.在Java語(yǔ)言中,一個(gè)類不能同時(shí)繼承一個(gè)類和實(shí)現(xiàn)一個(gè)接口D.在Java語(yǔ)言中接口只允許單一實(shí)現(xiàn)正確答案:A[解析]繼承指的是從已有的類中派生出新的類,新的類能吸收已有類的數(shù)據(jù)屬性和行為,并能擴(kuò)展新的能力。在Java語(yǔ)言中,繼承是使用已存在的類的定義作為基礎(chǔ)建立新類的技術(shù),新類的定義可以增加新的數(shù)據(jù)或新的功能,也可以使用父類的功能,但不能選擇性地繼承父類。類只允許單繼承,但是為了實(shí)現(xiàn)類似于C++語(yǔ)言中多繼承的特性,Java語(yǔ)言引入了接口的概念,雖然Java語(yǔ)言只允許繼承一個(gè)類,但是卻可以同時(shí)實(shí)現(xiàn)多個(gè)接口,因此,也就間接地實(shí)現(xiàn)了多繼承。

從以上分析可知,選項(xiàng)A正確,選項(xiàng)B和選項(xiàng)D錯(cuò)誤。

對(duì)于選項(xiàng)C,一個(gè)類只能繼承一個(gè)類,在繼承的同時(shí),還可以實(shí)現(xiàn)多個(gè)接口。因此,選項(xiàng)C錯(cuò)誤。

24.

下列的進(jìn)程狀態(tài)變化中,不可能發(fā)生的是______。A.運(yùn)行→就緒B.運(yùn)行→等待C.等待→運(yùn)行D.等待→就緒正確答案:C[解析]狀態(tài)不能直接從等待狀態(tài)(也稱為阻塞狀態(tài))跳轉(zhuǎn)到運(yùn)行狀態(tài),只能跳轉(zhuǎn)到就緒狀態(tài)。所以,選項(xiàng)C正確。

25.

在Java語(yǔ)言中,位于集合框架的頂層的接口是______。A.CollectionB.CollectionsC.ListD.Iterator正確答案:A[解析]Collection是一個(gè)集合接口。它提供了對(duì)集合對(duì)象進(jìn)行基本操作的通用接口方法。實(shí)現(xiàn)該接口的類主要有List和Set,該接口的設(shè)計(jì)目標(biāo)是為各種具體的集合提供最大化的統(tǒng)一的操作方式。

由此可見,選項(xiàng)A正確,選項(xiàng)C和選項(xiàng)D錯(cuò)誤。

Collections是針對(duì)集合類的一個(gè)包裝類,它提供一系列靜態(tài)方法實(shí)現(xiàn)對(duì)各種集合的搜索、排序和線程安全化等操作,其中的大多數(shù)方法都是用來處理線性表。Collections類不能實(shí)例化,如同一個(gè)工具類,服務(wù)于Collection框架。因此,Collections不是一個(gè)集合框架類,選項(xiàng)D錯(cuò)誤。

所以,本題的答案為A。

26.

有如下代碼:publicclassTest{publicstaticvoidmain(Stringargv[]){Testh=newTest();}protectedTest(){for(inti=0;i<10;i++){System.out.println(i);}}}

當(dāng)編譯并運(yùn)行上面程序時(shí),輸出結(jié)果是______。A.編譯錯(cuò)誤,構(gòu)造方法不能被聲明為protectedB.運(yùn)行錯(cuò)誤,構(gòu)造方法不能被聲明為protectedC.編譯并運(yùn)行輸出0到10D.編譯并運(yùn)行輸出0到9正確答案:D[解析]一般而言,構(gòu)造方法都是被public修飾的,這個(gè)構(gòu)造方法對(duì)所有的類都是可見的。當(dāng)構(gòu)造方法被protected修飾時(shí),只有當(dāng)前類、當(dāng)前包和子類可見。當(dāng)構(gòu)造方法被private修飾時(shí),該方法只對(duì)本類可見,常被用來實(shí)現(xiàn)單例模式。

對(duì)于本題而言,定義了一個(gè)protected的構(gòu)造方法,由于main方法在這個(gè)類內(nèi)部,因此,這個(gè)構(gòu)造方法對(duì)main方法是可見的,故會(huì)調(diào)用這個(gè)構(gòu)造方法,輸出0到9。因此,選項(xiàng)D正確。

27.

有以下二叉樹:

對(duì)其進(jìn)行后序遍歷的結(jié)果是______。A.丙乙丁甲戊己B.甲乙丙丁戊己C.丙丁乙己戊甲D.丙丁己乙戊甲正確答案:C

28.

有如下代碼:publicclassPerson{staticintarr[]=newint[10];publicstaticvoidmain(Stringa[]){System.out.println(arr[1]);}}

下面語(yǔ)句正確的是______。A.編譯時(shí)將產(chǎn)生錯(cuò)誤B.編譯時(shí)正確,運(yùn)行時(shí)將產(chǎn)生錯(cuò)誤C.輸出零D.輸出空正確答案:C

29.

Java語(yǔ)言是從______語(yǔ)言改進(jìn)重新設(shè)計(jì)。A.BASICB.C++C.PascalD.Ada正確答案:B[解析]對(duì)于選項(xiàng)A,BASIC語(yǔ)言是一種為了讓用戶容易控制計(jì)算機(jī)開發(fā)的語(yǔ)言,其特點(diǎn)是簡(jiǎn)單易懂,且可以用解釋和編譯兩種方法執(zhí)行。

對(duì)于選項(xiàng)B,C++語(yǔ)言是一種靜態(tài)數(shù)據(jù)類型檢查的、支持多重編程范式的通用程序設(shè)計(jì)語(yǔ)言,它支持過程化程序設(shè)計(jì)、數(shù)據(jù)抽象、面向?qū)ο蟪绦蛟O(shè)計(jì)、泛型程序設(shè)計(jì)等多種程序設(shè)計(jì)風(fēng)格。

對(duì)于選項(xiàng)C,Pascal語(yǔ)言是為提倡結(jié)構(gòu)化編程而發(fā)明的語(yǔ)言。

對(duì)于選項(xiàng)D,Ada語(yǔ)言是美國(guó)軍方為了整合不同語(yǔ)言開發(fā)的系統(tǒng)而發(fā)明的一種語(yǔ)言,其最大的特點(diǎn)是實(shí)時(shí)性,在ADA95中已加入面向?qū)ο髢?nèi)容。

Java語(yǔ)言是一種面向?qū)ο笳Z(yǔ)言,從語(yǔ)法結(jié)構(gòu)上看,與C++語(yǔ)言類似。所以,選項(xiàng)B正確。

30.

下列描述中,正確的是______。A.Java程序經(jīng)編譯后會(huì)產(chǎn)生MachineCode(機(jī)器碼)B.Java程序經(jīng)編譯后會(huì)產(chǎn)生ByteCode(字節(jié)碼)C.Java程序經(jīng)編譯后會(huì)產(chǎn)生DLL(動(dòng)態(tài)鏈接庫(kù))D.以上描述都不正確正確答案:B[解析]Java語(yǔ)言為解釋性語(yǔ)言,運(yùn)行的過程為:源代碼經(jīng)過Java編譯器編譯成字節(jié)碼(ByteCode),然后由JVM(JavaVirtualMachine,Java虛擬機(jī))解釋執(zhí)行。而C/C++語(yǔ)言為編譯型語(yǔ)言,源代碼經(jīng)過編譯和鏈接后生成可執(zhí)行的二進(jìn)制代碼。因此,Java語(yǔ)言的執(zhí)行速度比C/C++語(yǔ)言慢,但是Java語(yǔ)言能夠跨平臺(tái)執(zhí)行,而C/C++語(yǔ)言不能夠跨平臺(tái)執(zhí)行。

所以,Java程序經(jīng)編譯后會(huì)產(chǎn)生ByteCode(字節(jié)碼),選項(xiàng)B正確,而選項(xiàng)A、選項(xiàng)C和選項(xiàng)D描述都不正確。

二、論述題1.

為什么需要publicstaticvoidmain(String[]args)這個(gè)方法?正確答案:publicstaticvoidmain(String[]args)為Java程序的入口方法,JVM在運(yùn)行程序時(shí),會(huì)首先查找main()方法。其中,public是權(quán)限修飾符,表明任何類或?qū)ο蠖伎梢栽L問這個(gè)方法,static表明main()方法是一個(gè)靜態(tài)方法,即方法中的代碼是存儲(chǔ)在靜態(tài)存儲(chǔ)區(qū)的,只要類被加載后,就可以使用該方法而不需要通過實(shí)例化對(duì)象來訪問,可以直接通過類名.main()直接訪問,JVM在啟動(dòng)時(shí)就是按照上述方法的簽名(必須有public與static修飾,返回值為void,且方法的參數(shù)為字符串?dāng)?shù)組)來查找方法的入口地址,若能找到,就執(zhí)行;找不到,則會(huì)報(bào)錯(cuò)。void表明方法沒有返回值,main是JVM識(shí)別的特殊方法名,是程序的入口方法。字符串?dāng)?shù)組參數(shù)args為開發(fā)人員在命令行狀態(tài)下與程序交互提供了一種手段。

因?yàn)閙ain是程序的入口方法,所以當(dāng)程序運(yùn)行時(shí),第一個(gè)執(zhí)行的方法就是main()方法。通常來講,要執(zhí)行一個(gè)類的方法,先必須實(shí)例化一個(gè)類的對(duì)象,然后通過對(duì)象來調(diào)用這個(gè)方法。但由于main是程序的入口方法,此時(shí)還沒有實(shí)例化對(duì)象,因此在編寫main()方法時(shí)就要求不需要實(shí)例化對(duì)象就可以調(diào)用這個(gè)方法,鑒于此,main()方法需要被定義成public與static。下例給出了在調(diào)用main()方法時(shí)傳遞參數(shù)的方法。

publicclassTest{

publicstaticvoidmain(String[]args){

for(inti=0;i<args.length;i++){

System.out.println(args[i]);

}

}

}

在控制臺(tái)下,使用javacTestjava指令編譯上述程序,使用javaTestarg1arg2arg3指令運(yùn)行程序,程序運(yùn)行結(jié)果為:

arg1

arg2

arg3

引申:

1.main()方法是否還有其他可用的定義格式?

1)由于public與static沒有先后順序關(guān)系,因此下面的定義也是合理的。

staticpublicvoidmain(String[]args)

2)也可以把main()方法定義為final。

publicstaticfinalvoidmain(String[]args)

3)也可以用synchronized來修飾main()方法。

staticpublicsynchronizedvoidmain(String[]args)

不管哪種定義方式,都必須保證main()方法的返回值為void,并有static與public關(guān)鍵字修飾。同時(shí)由于main()方法為程序的入口方法,因此不能用abstract關(guān)鍵字來修飾。

2.同一個(gè)java文件中是否可以有多個(gè)main()方法?

雖然每個(gè)類中都可以定義main()方法,但是只有與文件名相同的用public修飾的類中的main()方法才能作為整個(gè)程序的入口方法。如下例所示,創(chuàng)建了一個(gè)名為Test.java的文件。

classT{

publicstaticvoidmain(String[]args){

System.out.println("Tmain");

}

}

publicclassTest{

//程序入口函數(shù)

publicstaticvoidmain(String[]args){

System.out.println("Testmain");

}

}

程序運(yùn)行結(jié)果為:

Testmain

常見筆試題:

Java程序中程序運(yùn)行入口方法main的簽名正確的有______。

A.publicstaticvoidmain(String[]args)

B.publicstaticfinalvoidmain(String[]args)

C.staticpublicvoidmain(String[]args)

D.staticpublicsynchronizedvoidmain(String[]args)

E.staticpublicabstractvoidmain(String[]args)

答案:A、B、C、D。見上面講解。

2.

Java與C/C++有什么異同?正確答案:Java與C++都是面向?qū)ο笳Z(yǔ)言,都使用了面向?qū)ο笏枷?例如封裝、繼承、多態(tài)等),由于面向?qū)ο笥性S多非常好的特性(繼承、組合等),因此二者都有很好的可重用性。

需要注意的是,二者并非完全一樣,下面主要介紹它們的不同點(diǎn):

1)Java為解釋性語(yǔ)言,其運(yùn)行過程為:程序源代碼經(jīng)過Java編譯器編譯成字節(jié)碼,然后由JVM解釋執(zhí)行。而C/C++為編譯型語(yǔ)言,源代碼經(jīng)過編譯和鏈接后生成可執(zhí)行的二進(jìn)制代碼。因此,Java的執(zhí)行速度比C/C++慢,但是Java能夠跨平臺(tái)執(zhí)行,而C/C++不能。

2)Java為純面向?qū)ο笳Z(yǔ)言,所有代碼(包括函數(shù)、變量等)必須在類中實(shí)現(xiàn),除基本數(shù)據(jù)類型(包括int、float等)外,所有類型都是類。此外,Java語(yǔ)言中不存在全局變量或全局函數(shù),而C++兼具面向過程和面向過程編程的特點(diǎn),可以定義全局變量和全局函數(shù)。

3)與C/C++語(yǔ)言相比,Java語(yǔ)言中沒有指針的概念,這有效防止了C/C++語(yǔ)言中操作指針可能引起的系統(tǒng)問題,從而使程序變得更加安全。

4)與C++語(yǔ)言相比,Java語(yǔ)言不支持多重繼承,但是Java語(yǔ)言引入了接口的概念,可以同時(shí)實(shí)現(xiàn)多個(gè)接口。由于接口也具有多態(tài)特性,因此在Java語(yǔ)言中可以通過實(shí)現(xiàn)多個(gè)接口來實(shí)現(xiàn)與C++語(yǔ)言中多重繼承類似的目的。

5)在C++語(yǔ)言中,需要開發(fā)人員去管理對(duì)內(nèi)存的分配(包括申請(qǐng)與釋放),而Java語(yǔ)言提供了垃圾回收器來實(shí)現(xiàn)垃圾的自動(dòng)回收,不需要程序顯式地管理內(nèi)存的分配。在C++語(yǔ)言中,通常都會(huì)把釋放資源的代碼放到析構(gòu)函數(shù)中,Java語(yǔ)言中雖然沒有析構(gòu)函數(shù),但卻引入了一個(gè)finalize()方法,當(dāng)垃圾回收器將要釋放無用對(duì)象的內(nèi)存時(shí),會(huì)首先調(diào)用該對(duì)象的finalize()方法,因此,開發(fā)人員不需要關(guān)心也不需要知道對(duì)象所占的內(nèi)存空間何時(shí)會(huì)被釋放。

C++語(yǔ)言支持運(yùn)算符重載,而Java語(yǔ)言不支持運(yùn)算符重載。C++語(yǔ)言支持預(yù)處理,而Java語(yǔ)言沒有預(yù)處理器,雖然不支持預(yù)處理功能(包括頭文件、宏定義等),但它提供的import機(jī)制與C++中的預(yù)處理器功能類似。C++支持默認(rèn)函數(shù)參數(shù),而Java不支持默認(rèn)函數(shù)參數(shù)。C/C++支持goto語(yǔ)句,而Java不提供goto語(yǔ)句(但Java中g(shù)oto是保留關(guān)鍵字)。C/C++支持自動(dòng)強(qiáng)制類型轉(zhuǎn)換,這會(huì)導(dǎo)致程序的不安全;而Java不支持自動(dòng)強(qiáng)制類型轉(zhuǎn)換,必須由開發(fā)人員進(jìn)行顯式地強(qiáng)制類型轉(zhuǎn)換。C/C++中,結(jié)構(gòu)和聯(lián)合的所有成員均為公有,這往往會(huì)導(dǎo)致安全性問題的發(fā)生,而Java根本就不包含結(jié)構(gòu)和聯(lián)合,所有內(nèi)容都封裝在類里面。

Java具有平臺(tái)無關(guān)性,即對(duì)每種數(shù)據(jù)類型都分配固定長(zhǎng)度,例如,int類型總是占據(jù)32位,而C/C++卻不然,同一個(gè)數(shù)據(jù)類型在不同的平臺(tái)上會(huì)分配不同的字節(jié)數(shù)。

Java提供對(duì)注釋文檔的內(nèi)建支持,所以源碼文件也可以包含它們自己的文檔。通過一個(gè)單獨(dú)的程序,這些文檔信息可以提取出來,并重新格式化成HTML。

Java包含了一些標(biāo)準(zhǔn)庫(kù),用于完成特定的任務(wù),同時(shí)這些庫(kù)簡(jiǎn)單易用,能夠大大縮短開發(fā)周期,例如,Java提供了用于訪問數(shù)據(jù)庫(kù)的JDBC庫(kù),用于實(shí)現(xiàn)分布式對(duì)象的RMI等標(biāo)準(zhǔn)庫(kù)。C++則依靠一些非標(biāo)準(zhǔn)的、由其他廠商提供的庫(kù)。

常見筆試題:

下列說法中,錯(cuò)誤的有______。

A.Java面向?qū)ο笳Z(yǔ)言容許單獨(dú)的過程與函數(shù)存在

B.Java面向?qū)ο笳Z(yǔ)言容許單獨(dú)的方法存在

C.Java語(yǔ)言中的方法屬于類中的成員(member)

D.Java語(yǔ)言中的方法必定隸屬于某一類(對(duì)象),調(diào)用方法與過程或函數(shù)相同

答案:A、B、C。見上面講解。

3.

如何尋找單鏈表的中間結(jié)點(diǎn)?正確答案:如何尋找單鏈表的中間結(jié)點(diǎn)?最容易想到的思路是先求解單鏈表的長(zhǎng)度length,然后遍歷length/2的距離即可查找到單鏈表的中間結(jié)點(diǎn),但是此種方法需要遍歷兩次鏈表,即第一次遍歷求解單鏈表的長(zhǎng)度,第二次遍歷根據(jù)索引獲取中間結(jié)點(diǎn)。

如果是雙向鏈表,可以首尾并行,利用兩個(gè)指針一個(gè)從頭到尾遍歷,一個(gè)從尾到頭遍歷,當(dāng)兩個(gè)指針相遇時(shí),就找到了中間元素。以此思想為基礎(chǔ),如果是單鏈表,也可以采用雙指針的方式來實(shí)現(xiàn)中間結(jié)點(diǎn)的快速查找。

具體而言,第一步,有兩個(gè)指針同時(shí)從頭開始遍歷;第二步,一個(gè)快指針一次走兩步,一個(gè)慢指針一次走一步;第三步,快指針先到鏈表尾部,而慢指針則恰好到達(dá)鏈表中部(快指針到鏈表尾部時(shí),當(dāng)鏈表長(zhǎng)度為奇數(shù)時(shí),慢指針指向的即是鏈表中間指針,當(dāng)鏈表長(zhǎng)度為偶數(shù)時(shí),慢指針指向的結(jié)點(diǎn)和慢指針指向結(jié)點(diǎn)的下一個(gè)結(jié)點(diǎn)都是鏈表的中間結(jié)點(diǎn))。

具體實(shí)現(xiàn)代碼如下:

publicNodeSearchMid(Nodehead){

Nodep=this.head;

Nodeq=this.head;

while(p!=null&&p.next!=null&&p.next.next!=null){

p=p.next.next;

q=q.next;

}

returnq;

4.

關(guān)鍵字static的作用是什么?正確答案:關(guān)鍵字static主要有兩種作用:第一,為某特定數(shù)據(jù)類型或?qū)ο蠓峙鋯我坏拇鎯?chǔ)空間,而與創(chuàng)建對(duì)象的個(gè)數(shù)無關(guān)。第二,希望某個(gè)方法或?qū)傩耘c類而不是對(duì)象關(guān)聯(lián)在一起,也就是說,在不創(chuàng)建對(duì)象的情況下可以通過類來直接調(diào)用方法或使用類的屬性。具體而言,static在Java語(yǔ)言中主要有四種使用情況:成員變量、成員方法、代碼塊和內(nèi)部類。以下將分別對(duì)這4種情況進(jìn)行介紹。

(1)static成員變量

雖然Java語(yǔ)言中沒有全局的概念,但可以通過static關(guān)鍵字來達(dá)到全局的效果。Java類提供了兩種類型的變量:用static關(guān)鍵字修飾的靜態(tài)變量和沒有static關(guān)鍵字的實(shí)例變量。靜態(tài)變量屬于類,在內(nèi)存中只有一個(gè)副本(所有實(shí)例都指向同一個(gè)內(nèi)存地址),只要靜態(tài)變量所在的類被加載,這個(gè)靜態(tài)變量就會(huì)被分配空間,因此,就可以被使用了。對(duì)靜態(tài)變量的引用有兩種方式,分別為“類.靜態(tài)變量”和“對(duì)象.靜態(tài)變量”。

實(shí)例變量屬于對(duì)象,只有對(duì)象被創(chuàng)建后,實(shí)例變量才會(huì)被分配空間,才能被使用,它在內(nèi)存中存在多個(gè)副本。只能用“對(duì)象.靜態(tài)變量”的方式來引用。以下是靜態(tài)變量與實(shí)例變量的使用例子。publicclassTestAttribute{publicstaticintstaticInt=0;publicintnonStaticInt=0;publicstaticvoidmain(String[]args){TestAttributet=newTestAttribute();System.out.println("t.staticInt="+t.staticInt);System.out.println("TestAttribute.staticInt="+TestAttribute.staticInt);System.out.println("t.nonStaticInt="+t.nonStaficInt);System.out.println("對(duì)靜態(tài)變量和實(shí)例變量分別+1");t.staticInt++;t.nonStaticInt++;TestAttfibutet1=newTestAttribute();System.out.pfintln("t1.staticInt="+t1.staticInt);System.out.pfintln("TestAttribute.staticInt="+TestAttribute.staticInt);System.out.println("t1.nonStaticInt="+t1.nonStatictnt);}}上例的運(yùn)行結(jié)果為:t.staticInt=0TestAttribute.staticInt=0t.nonStaticInt=0對(duì)靜態(tài)變量和實(shí)例變量分別+1t1.staticInt=1TestAttribute.staficInt=1t1.nonStaticInt=0從上例可以看出,靜態(tài)變量只有一個(gè),被類擁有,所有的對(duì)象都共享這個(gè)靜態(tài)變量,而實(shí)例對(duì)象是與具體對(duì)象相關(guān)的。需要注意的是,與C++語(yǔ)言不同的是,在Java語(yǔ)言中,不能在方法體中定義static變量。(2)static成員方法與變量類似,Java類同時(shí)也提供了static方法與非static方法。static方法是類的方法,不需要?jiǎng)?chuàng)建對(duì)象就可以被調(diào)用,而非static方法是對(duì)象的方法,只有對(duì)象被創(chuàng)建出來后才可以被使用。static方法中不能使用this和super關(guān)鍵字,不能調(diào)用非static方法,只能訪問所屬類的靜態(tài)成員變量和成員方法,因?yàn)楫?dāng)static方法被調(diào)用的時(shí)候,這個(gè)類的對(duì)象可能還沒被創(chuàng)建,即使已經(jīng)被創(chuàng)建了,也無法確定調(diào)用哪個(gè)對(duì)象的方法。同理,static方法也不能訪問非static類型的變量。static的一個(gè)很重要的用途是實(shí)現(xiàn)單例模式。單例模式的特點(diǎn)是該類只能有一個(gè)實(shí)例。為了實(shí)現(xiàn)這一功能,必須隱藏類的構(gòu)造方法,即把構(gòu)造方法聲明為private,并提供一個(gè)創(chuàng)建對(duì)象的方法。由于構(gòu)造對(duì)象被聲明為private,外界無法直接創(chuàng)建這個(gè)類型的對(duì)象,只能通過該類提供的方法來獲取類的對(duì)象,要達(dá)到這樣的目的只能把創(chuàng)建對(duì)象的方法聲明為static。程序示例如下:classSingleton{privatestaticSingleto

溫馨提示

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

評(píng)論

0/150

提交評(píng)論