計(jì)算機(jī)等級(jí)考試二級(jí)Java練習(xí)題及解析(3)

字號(hào):

1 算法的時(shí)間復(fù)雜度是指__算法執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)____
    2 設(shè)一棵完全二叉樹(shù)共有699個(gè)結(jié)點(diǎn),則在該二叉樹(shù)中的葉子結(jié)點(diǎn)數(shù)為_(kāi)_350____。
    3 結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是___程序的易讀性___。
    4 在軟件生命周期中,能準(zhǔn)確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是__ D、需求分析____
    5 數(shù)據(jù)流圖用于抽象描述一個(gè)軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標(biāo)識(shí)的圖符不屬于數(shù)據(jù)流圖合法圖符的是__控制流____。
    6 軟件需求分析階段的工作,可以分為四個(gè)方面:需求獲取、需求分析、編寫(xiě)需求規(guī)格說(shuō)明書(shū)以及___需求評(píng)審___。
    7下述關(guān)于數(shù)據(jù)庫(kù)系統(tǒng)的敘述中正確的是___數(shù)據(jù)庫(kù)系統(tǒng)減少了數(shù)據(jù)冗余___。
    8 數(shù)據(jù)庫(kù)設(shè)計(jì)包括兩個(gè)方面的設(shè)計(jì)內(nèi)容,它們是__概念設(shè)計(jì)和邏輯設(shè)計(jì)____。
    91以下 B 不是Java中有效的關(guān)鍵字。
    A、const B、NULL C、false D、this
    10 Panel默認(rèn)的布局管理器是 A、FlowLayout 。
    11 下面 B 方法與applet的顯示無(wú)關(guān)。
    A、update() B、draw() C、repaint() D、paint()
    12下列 內(nèi)容是異常的含義。
    A、程序的語(yǔ)法錯(cuò) B、程序編譯或運(yùn)行中所發(fā)生的異常事件 C、程序預(yù)定義好的異常事件 D、程序編譯錯(cuò)誤
    13 當(dāng)方法遇到異常又不知如何處理時(shí),下列 C 做法是正確的。
    A、捕獲異常 B、拋出異常 C、聲明異常 D、嵌套異常
    14 計(jì)算機(jī)中的流是 D 。
    A、流動(dòng)的字節(jié) B、流動(dòng)的對(duì)象 C、流動(dòng)的文件 D、流動(dòng)的數(shù)據(jù)緩沖區(qū)
    15 當(dāng)檢索一個(gè)壓縮文件時(shí),首先要建立壓縮文件輸入流對(duì)象。該對(duì)象 B 。
    A、以選中的壓縮文件為參數(shù) B、以FileInputStream對(duì)象為參數(shù)
    C、以InputStreamReader對(duì)象為參數(shù) D、以BufferedReader對(duì)象為參數(shù)
    16 一個(gè)Java Application運(yùn)行后,在系統(tǒng)中是作為一個(gè) B 。
    A、線程 B、進(jìn)程 C、進(jìn)程或線程 D、不可預(yù)知
    17 要串行化某些類(lèi)的對(duì)象,這些類(lèi)就必須實(shí)現(xiàn) A 。
    A、Serializable接口 B、java.io.Externalizable接口
    C、java.io.DataInput接口 D、DataOutput接口
    18 Swing構(gòu)件的程序不具有 A 。
    A、本地代碼 B、標(biāo)簽 C、菜單 D、容器
    19 結(jié)構(gòu)化程序設(shè)計(jì)方法的主要原則可以概括為自頂向下、逐步求精、模塊化和限制使用goto語(yǔ)句。
    20 軟件的調(diào)試方法主要有:強(qiáng)行排錯(cuò)法、回朔法_和原因排除法。
    21 數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式分別為 概念級(jí) 模式、內(nèi)部級(jí)模式與外部級(jí)模式。
    22 數(shù)據(jù)字典是各類(lèi)數(shù)據(jù)描述的集合,它通常包括5個(gè)部分,即數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、 數(shù)據(jù)存儲(chǔ) 和處理過(guò)程。
    23 Java語(yǔ)言的各種數(shù)據(jù)類(lèi)型之間提供兩種轉(zhuǎn)換:強(qiáng)制轉(zhuǎn)換和 自動(dòng)轉(zhuǎn)換 。
    24 Java語(yǔ)言中,臨界區(qū)用 Synchronized 關(guān)鍵字標(biāo)識(shí)。 解析:
    1 通常,將軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過(guò)程稱(chēng)為軟件生命周期。也就是說(shuō),軟件產(chǎn)品從考慮其概念開(kāi)始,到該軟件產(chǎn)品不能使用為止的整個(gè)時(shí)期都屬于軟件生命周期。
     軟件生命周期的主要活動(dòng)階段為:
    (1)可行性研究和計(jì)劃制定。確定待開(kāi)發(fā)軟件系統(tǒng)的開(kāi)發(fā)目標(biāo)和總的要求,給出它的功能、性能、可靠性以及接口等方面的可能方案,制定完成開(kāi)發(fā)任務(wù)的實(shí)施計(jì)劃。
     (2)需求分析。對(duì)待開(kāi)發(fā)軟件提出的需求進(jìn)行分析并給出詳細(xì)定義,即準(zhǔn)確地確定軟件系統(tǒng)的功能。編寫(xiě)軟件規(guī)格說(shuō)明書(shū)及初步的用戶(hù)手冊(cè),提交評(píng)審。
    (3)軟件設(shè)計(jì)。系統(tǒng)設(shè)計(jì)人員和程序設(shè)計(jì)人員應(yīng)該在反復(fù)理解軟件需求的基礎(chǔ)上,給出軟件的結(jié)構(gòu)、模塊的劃分、功能的分配以及處理流程。
    (4)軟件實(shí)現(xiàn)。把軟件設(shè)計(jì)轉(zhuǎn)換成計(jì)算機(jī)可以接受的程序代碼。即完成源程序的編碼,編寫(xiě)用戶(hù)手冊(cè)、操作手冊(cè)等面向用戶(hù)的文檔,編寫(xiě)單元測(cè)試計(jì)劃。
    (5)軟件測(cè)試。在設(shè)計(jì)測(cè)試用例的基礎(chǔ)上,檢驗(yàn)軟件的各個(gè)組成部分。編寫(xiě)測(cè)試分析報(bào)告。
     (6)運(yùn)行和維護(hù)。將已交付的軟件投入運(yùn)行,并在運(yùn)行使用中不斷地維護(hù),根據(jù)新提出的需求進(jìn)行必要而且可能的擴(kuò)充和刪改。
    2 數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,來(lái)刻畫(huà)數(shù)據(jù)流從輸入到輸出的移動(dòng)變換過(guò)程。數(shù)據(jù)流圖中的主要圖形元素有:加工(轉(zhuǎn)換)、數(shù)據(jù)流、存儲(chǔ)文件(數(shù)據(jù)源)、源和潭。
    3 軟件的需求分析階段的工作,可以概括為四個(gè)方面:需求獲取、需求分析、編寫(xiě)需求規(guī)格說(shuō)明書(shū)和需求評(píng)審。
     需求獲取的目的是確定對(duì)目標(biāo)系統(tǒng)的各方面需求。涉及到的主要任務(wù)是建立獲取用戶(hù)需求的方法框架,并支持和監(jiān)控需求獲取的過(guò)程。
     需求分析是對(duì)獲取的需求進(jìn)行分析和綜合,最終給出系統(tǒng)的解決方案和目標(biāo)系統(tǒng)的邏輯模型。
     編寫(xiě)需求規(guī)格說(shuō)明書(shū)作為需求分析的階段成果,可以為用戶(hù)、分析人員和設(shè)計(jì)人員之間的交流提供方便,可以直接支持目標(biāo)軟件系統(tǒng)的確認(rèn),又可以作為控制軟件開(kāi)發(fā)進(jìn)程的依據(jù)。
     需求評(píng)審是對(duì)需求分析階段的工作進(jìn)行復(fù)審,驗(yàn)證需求文檔的一致性、可行性、完整性和有效性。
    4 標(biāo)識(shí)符命名規(guī)則為:
     1、標(biāo)識(shí)符是以字母、下劃線、美元符($)作為首字符的字符串序列。在首字符后面可以跟字母、下劃線、美元符和數(shù)字。
     2、標(biāo)識(shí)符區(qū)分大小寫(xiě)。
     3、標(biāo)識(shí)符的字符數(shù)目沒(méi)有限制,但為便于閱讀和記憶,不宜太長(zhǎng)。
    5 數(shù)組中l(wèi)ength是屬性,而字符串中是通過(guò)length()方法獲得字符長(zhǎng)度的,
    6 對(duì)于二元算術(shù)運(yùn)算符,其表達(dá)式結(jié)果的類(lèi)型歸納為以下幾類(lèi)情況:
     (1)操作數(shù)全為整型,那么,只要其中有一個(gè)為long型,則表達(dá)式結(jié)果為long型。
     (2)兩個(gè)操作數(shù)全是byte型或short型,表達(dá)式結(jié)果也為int型。
     (3)操作數(shù)為浮點(diǎn)型,只要其中有一個(gè)為double型,表達(dá)式結(jié)果就是double型。
     (4)兩個(gè)操作數(shù)全是float型或其中一個(gè)是float型,而另外一個(gè)是整型,則表達(dá)式結(jié)果為float型。
    7 BorderLayout是Window,Frame和Dialog的默認(rèn)布局管理器。BorderLayout布局管理器把容器分成5個(gè)區(qū)域:North,South,East,West和Center,每個(gè)區(qū)域只能放置一個(gè)構(gòu)件。
    8 FlowLayout是Panel和Applet的默認(rèn)布局管理器。構(gòu)件在容器中的放置規(guī)律是從上到下、從左到右進(jìn)行放置,如果容器足夠?qū)?,第一個(gè)構(gòu)件先添加到容器中第一行的最左邊,后續(xù)的構(gòu)件依次添加到上一個(gè)構(gòu)件的右邊,如果當(dāng)前行已放置不下該構(gòu)件,則放置到下一行的最左邊。構(gòu)件的大小不隨容器的大小改變而改變?!? Applet顯示相關(guān)的3個(gè)方法:
     (1)、paint()方法:Applet的paint()方法具體執(zhí)行Applet的繪制,該方法定義如下:
     public void paint(Graphics g)
     paint()方法有一個(gè)參數(shù)g是Graphics類(lèi)的實(shí)例,該實(shí)例對(duì)象由瀏覽器生成,它包含了Applet的圖形上下文信息,通過(guò)它向Applet中顯示信息,該對(duì)象相當(dāng)于Applet的畫(huà)筆。在調(diào)用paint()方法時(shí),由瀏覽器將該對(duì)象傳遞給paint()方法。
     (2)、update()方法:
     public void update(Graphics g)
     用于更新Applet的顯示。該方法將首先清除背景,再調(diào)用paint()方法完成Applet的具體繪制。
     (3)、repaint()方法:
     public void repaint()
     repaint()方法主要用于Applet的重新顯示,它調(diào)用update()方法實(shí)現(xiàn)對(duì)Applet的更新。
    10 流,最早從C語(yǔ)言中引入的。其可以看成是一個(gè)流動(dòng)的數(shù)據(jù)緩沖區(qū)。數(shù)據(jù)從數(shù)據(jù)源方向經(jīng)過(guò)緩沖區(qū)流向數(shù)據(jù)的目的地。在傳送的過(guò)程中,其傳送方式是串行的。在Java中的java.io包中定義了Java中常見(jiàn)流的接口與類(lèi)。其中包括兩個(gè)最基本的流的抽象類(lèi),它們分別是OutputStream與InputStream。其余的流都分別從這兩個(gè)基本類(lèi)中繼承而來(lái)。
    11 在java.io包中提供了對(duì)壓縮文件進(jìn)行操作的能力。它是通過(guò)壓縮文件輸入流與壓縮文件輸出流來(lái)實(shí)現(xiàn)的,其分別繼承自InflaterInputStream與DeflaterOutputStream。在創(chuàng)建壓縮文件輸入流時(shí),其初始化參數(shù)是一個(gè)FileInputStream類(lèi)的實(shí)例。
    12 在先左后右的原則下,根據(jù)訪問(wèn)根結(jié)點(diǎn)的次序,二叉樹(shù)的遍歷可以分為三種:前序遍歷、中序遍歷和后序遍歷。
     前序遍歷是指在訪問(wèn)根結(jié)點(diǎn)、遍歷左子樹(shù)與遍歷右子樹(shù)這三者中,首先訪問(wèn)根結(jié)點(diǎn),然后遍歷左子樹(shù),最后遍歷右子樹(shù);并且遍歷左、右子樹(shù)時(shí),仍然先訪問(wèn)根結(jié)點(diǎn),然后遍歷左子樹(shù),最后遍歷右子樹(shù)。
     中序遍歷指在訪問(wèn)根結(jié)點(diǎn)、遍歷左子樹(shù)與遍歷右子樹(shù)這三者中,首先遍歷左子樹(shù),然后訪問(wèn)根結(jié)點(diǎn),最后遍歷右子樹(shù);并且遍歷左、右子樹(shù)時(shí),仍然先遍歷左子樹(shù),然后訪問(wèn)根結(jié)點(diǎn),最后遍歷右子樹(shù)。
     后序遍歷指在訪問(wèn)根結(jié)點(diǎn)、遍歷左子樹(shù)與遍歷右子樹(shù)這三者中,首先遍歷右子樹(shù),然后訪問(wèn)根結(jié)點(diǎn),最后遍歷左子樹(shù);并且遍歷左、右子樹(shù)時(shí),仍然先遍歷右子樹(shù),然后訪問(wèn)根結(jié)點(diǎn),最后遍歷左子樹(shù)。
    13 調(diào)式的關(guān)鍵在于推斷程序內(nèi)部的錯(cuò)誤位置及原因。其主要的調(diào)試方法有:強(qiáng)行排錯(cuò)法、回溯法和原因排除法。
     強(qiáng)行排錯(cuò)法:是傳統(tǒng)的調(diào)試方法,其過(guò)程可概括為:設(shè)置斷點(diǎn)、程序暫停、觀察程序狀態(tài)、繼續(xù)運(yùn)行程序。這是目前使用較多、效率較低的調(diào)試方法。
     回溯法:該方法適合于小規(guī)模程序的排錯(cuò)。即一旦發(fā)現(xiàn)了錯(cuò)誤,先分析錯(cuò)誤征兆,確定最先發(fā)現(xiàn)"癥狀"的位置。然后,從發(fā)現(xiàn)"癥狀"的地方開(kāi)始,沿程序的控制流程,逆向跟蹤源程序代碼,直到找到錯(cuò)誤根源或確定錯(cuò)誤產(chǎn)生的原因。
     原因排除法:是通過(guò)演繹和歸納,以及二分法來(lái)實(shí)現(xiàn)的。
    數(shù)據(jù)庫(kù)系統(tǒng)在其內(nèi)部具有三級(jí)模式及二級(jí)映射,三級(jí)模式分別是概念級(jí)模式、內(nèi)部級(jí)模式和外部級(jí)模式。
    14 概念模式是數(shù)據(jù)庫(kù)系統(tǒng)中全局?jǐn)?shù)據(jù)邏輯結(jié)構(gòu)的描述,是全體用戶(hù)(應(yīng)用)公共數(shù)據(jù)視圖。
     內(nèi)模式又稱(chēng)物理模式,它給出了數(shù)據(jù)庫(kù)物理存儲(chǔ)結(jié)構(gòu)與物理存取方法,如數(shù)據(jù)存儲(chǔ)的文件結(jié)構(gòu)、索引、集簇及hash等存取方式與存取路徑,內(nèi)模式的物理性主要體現(xiàn)在操作系統(tǒng)及文件級(jí)上,它還未深入到設(shè)備級(jí)上(如磁盤(pán)及磁盤(pán)操作)。
     外模式也稱(chēng)子模式或用戶(hù)模式,它是用戶(hù)的數(shù)據(jù)視圖,也就是用戶(hù)所見(jiàn)到的數(shù)據(jù)模式,它由概念模式推導(dǎo)而出。
    數(shù)據(jù)字典是各類(lèi)數(shù)據(jù)描述的集合,它通常包括5個(gè)部分,即數(shù)據(jù)項(xiàng),是數(shù)據(jù)的最小單位;數(shù)據(jù)結(jié)構(gòu),是若干數(shù)據(jù)項(xiàng)有意義的集合;數(shù)據(jù)流,可以是數(shù)據(jù)項(xiàng),也可以是數(shù)據(jù)結(jié)構(gòu),表示某一處理過(guò)程的輸入或輸出;數(shù)據(jù)存儲(chǔ),處理過(guò)程中存取的數(shù)據(jù),常常是手工憑證、手工文檔或計(jì)算機(jī)文件;處理過(guò)程。
    15 在Java語(yǔ)言中,異常機(jī)制是:一旦出現(xiàn)異常,可以由運(yùn)行的方法或虛擬機(jī)生成一個(gè)異常對(duì)象,它包含異常事件的類(lèi)型以及發(fā)生異常時(shí)程序的狀態(tài)等信息。
    16 異常對(duì)象從產(chǎn)生到被傳遞提交給Java運(yùn)行系統(tǒng)的過(guò)程稱(chēng)為拋出(throw)異常。
    一個(gè)程序中單獨(dú)的、并發(fā)的線程對(duì)同一個(gè)對(duì)象進(jìn)行訪問(wèn)的代碼段,稱(chēng)為臨界區(qū)。在Java語(yǔ)言中,臨界區(qū)可以是一個(gè)語(yǔ)句塊或是一個(gè)方法,并且用"synchronized"關(guān)鍵字標(biāo)識(shí)