二級Java練習及解析.doc_第1頁
二級Java練習及解析.doc_第2頁
二級Java練習及解析.doc_第3頁
二級Java練習及解析.doc_第4頁
二級Java練習及解析.doc_第5頁
已閱讀5頁,還剩24頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

計算機等級考試二級Java練習題及解析(1)1在結(jié)構(gòu)化方法中,用數(shù)據(jù)流程圖(DFD)作為描述工具的軟件開發(fā)階段是(B)。A、可行性分析B、需求分析C、詳細設(shè)計D、程序編碼2下面敘述正確的是_C。A、算法的執(zhí)行效率與數(shù)據(jù)的存儲結(jié)構(gòu)無關(guān)B、算法的空間復雜度是指算法程序中指令(或語句)的條數(shù)C、算法的有窮性是指算法必須能在執(zhí)行有限個步驟之后終止D、以上三種描述都不對3在一棵二叉樹上第5層的結(jié)點數(shù)最多是_B_。A、8B、16C、32D、154下面描述中,符合結(jié)構(gòu)化程序設(shè)計風格的是_A_。A、使用順序、選擇和重復(循環(huán))三種基本控制結(jié)構(gòu)表示程序的控制邏輯B、模塊只有一個入口,可以有多個出口C、注重提高程序的執(zhí)行效率D、不使用goto語句5下列模式中,能夠給出數(shù)據(jù)庫物理存儲結(jié)構(gòu)與物理存取方法的是_A_。A、內(nèi)模式B、外模式C、概念模式D、邏輯模式6在下面附屬類方法中的下劃線處,應填入的正確參數(shù)是C。publicvoidwriteData(throwsIOExceptionGregoranCalendarcalendar=newGregorianCalendar()calendar.setTime(hireDay);out.println(name+|+salary+|+calendar.get(Calendar.YEAR)+|+(calendar.get(Calendar.MONTH)+1)+|A、EmployeeeB、employee.datC、PrintWriteroutD、BufferedWriter7在匹配器(Matcher)類中,用于輸入字符串與模式串比較的方法是A。A、staticbooleanmatches()B、booleanmatcher.find()C、intmatcher.start()D、intmatcher.end()8下列內(nèi)部類的正確用途是B。btnn.addActionListener(newActionListener()/注冊監(jiān)聽器publicvoidactionPerformed(ActionEventevent)Strings=input.getText();output.setText(Hello+s+,WelcomeYou!;)A、用于訪問外部類的數(shù)據(jù)B、用于進行事件處理C、隱藏起來不被同一包中的其他類所見D、生成事件適配器9下面程序段:booleana=false;booleanb=true;booleanc=(a&b)&(!b);booleanresult=(a&b)&(!b);執(zhí)行完后,正確的結(jié)果是A。A、c=false;result=falseB、c=true;result=trueC、c=true;result=falseD、c=false;result=true10下列屬于正則表達式的是_D_。A、一個數(shù)組B、一組二進制數(shù)據(jù)C、一個字符串D、一個公式11下列關(guān)于Applet的敘述中,錯誤的是A。A、Applet是Java類,所以可以由JDK中的解釋器java.exe直接解釋運行B、Applet應該定義為java.applet.Applet類或javax.swing.JApplet類的子類C、Applet與Application的主要區(qū)別在執(zhí)行方式上D、通過在HTML文件中采用標記可以向Applet傳遞參數(shù)12java中對Applet設(shè)置了嚴格的安全限制。下列關(guān)于Applet在Java2中安全限制敘述正確的是C。A、根本無法解除B、只有部分限制可以解除,而其它限制無法解除C、可以在安全策略的控制下解除D、已經(jīng)缺省地全部解除13下列數(shù)組a中,版本較新的能在程序運行時動態(tài)調(diào)整大小的是C。A、intaB、StringaC、a=newArrayList()D、a=newArray()14調(diào)用線程的下列方法,不會改變該線程的生命周期中狀態(tài)的方法是D。A、yield()B、wait()C、sleep()D、isAlive()15下列敘述中,錯誤的是D。A、接口與類的層次無關(guān)B、通過接口說明類所實現(xiàn)的方法C、通過接口可了解對象的交互界面D、接口與存儲空間有關(guān)16與Applet生命周期相關(guān)的方法的數(shù)量是A。A、4種B、3種C、2種D、5種17下列情況中,不會使線程返回所持有的對象鎖的是B。A、當synchronized()語句塊執(zhí)行完畢B、當調(diào)用了線程的suspend()方法C、當在synchronized()語句塊中出現(xiàn)異常(exception)D、當持有鎖的線程調(diào)用該對象的wait()方法二填空題1關(guān)系數(shù)據(jù)庫管理系統(tǒng)能實現(xiàn)的專門關(guān)系運算包括選擇、連接和投影2數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機存儲空間中的存放形式稱為數(shù)據(jù)的模式或邏輯模式或概念模式如果有一個類MyFrame是Frame的子類,能夠被不同包中的類所使用,請寫出該類的聲明頭:publicclassMyFrameextendsFrame3接口可以看作是僅容納抽象方法或抽象的方法、常量,而又不能直接生成對象的特殊抽象類。4Java簡單性首先表現(xiàn)在自身系統(tǒng)的精練,它的基本解釋程序和類庫的支持或類庫支持占內(nèi)存40KB,附加的基本標準類庫和支持線程程序占175KB。5包含Swing構(gòu)件的Applet(小應用程序)應該是javax.swing.JApplet或JApplet類的直接子類。6Java對象串行化技術(shù),主要是通過ObjectInputStream類和ObjectOutputStream類來實現(xiàn)。計算機等級考試二級Java練習題及解析(2)1數(shù)據(jù)庫的設(shè)計包括兩個方面的設(shè)計內(nèi)容,他們是:概念設(shè)計和邏輯設(shè)計2操作是對象的動態(tài)屬性,對象間的通訊靠消息傳遞,對象是屬性和方法的封裝體。3一種數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲結(jié)構(gòu),數(shù)據(jù)的存儲結(jié)構(gòu)與數(shù)據(jù)處理的效率密切相關(guān),數(shù)據(jù)的存儲結(jié)構(gòu)在計算機種所占的空間不一定是連續(xù)的。4線性連表中的各元素在存儲空間中的位置不一定是連續(xù)的,切各元素的存儲順序也是任意的。5檢查軟件產(chǎn)品是否符合需求定義的過程稱為:確認測試6二叉連表為非線性結(jié)構(gòu),線性結(jié)構(gòu)的數(shù)據(jù)結(jié)構(gòu)有:線性連表、帶鏈的棧、帶鏈的隊列。7軟件設(shè)計原則:抽象化、模塊化、信息隱蔽,不包括:自底向上。8該程序段執(zhí)行后顯示的結(jié)果是:2intm=8;if(B(5)m%=6;System.out.println(m);9為區(qū)分重載多態(tài)中同名的不同方法,要求:采用不同形式參數(shù)列表(既參數(shù)的數(shù)量和類型不同)10在某個類中定義一個方法:voidGetSort(intx),以下關(guān)于能否做為這個方法的重載錯誤的是:_D_A)voidGetSort(floatx)x*=x;B)intGetSort(doubley)return(int)(s*y);C)doubleGetSort(intx,inty)returnx+YD)都不能11內(nèi)部類、方法重載12下面在命令行運行Java應用程序A:javaAthefirstsnow,thefirstsnowcame.怎樣才能雜main(Stringargs)方法中訪問單詞”firt”_D_Aa0Ba2Cc4Da513面向?qū)ο蟪绦驅(qū)嶋H的基本特征的是:抽象、繼承、封裝(不包括:靜態(tài))14類是Java語言的一種復合數(shù)據(jù)類型。15子類必須通過super關(guān)鍵字調(diào)用父類有參數(shù)的構(gòu)造函數(shù)。16在軟件測試方法中,黑盒測試和白盒測試是常用的方法,其中黑盒測試主要用于測試:軟件外部功能。17關(guān)系型數(shù)據(jù)庫管理系統(tǒng)中存儲與管理數(shù)據(jù)的基本形式是:二維表18算法的基本要素包括:對數(shù)據(jù)對象的運算的操作、算法的控制結(jié)構(gòu)19棧的基本運算主要有:入棧運算、退棧運算、讀棧運算計算機等級考試二級Java練習題及解析(3)1算法的時間復雜度是指_算法執(zhí)行過程中所需要的基本運算次數(shù)_2設(shè)一棵完全二叉樹共有699個結(jié)點,則在該二叉樹中的葉子結(jié)點數(shù)為_350_。3結(jié)構(gòu)化程序設(shè)計主要強調(diào)的是_程序的易讀性_。4在軟件生命周期中,能準確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是_D、需求分析_5數(shù)據(jù)流圖用于抽象描述一個軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標識的圖符不屬于數(shù)據(jù)流圖合法圖符的是_控制流_。6軟件需求分析階段的工作,可以分為四個方面:需求獲取、需求分析、編寫需求規(guī)格說明書以及_需求評審_。7下述關(guān)于數(shù)據(jù)庫系統(tǒng)的敘述中正確的是_數(shù)據(jù)庫系統(tǒng)減少了數(shù)據(jù)冗余_。8數(shù)據(jù)庫設(shè)計包括兩個方面的設(shè)計內(nèi)容,它們是_概念設(shè)計和邏輯設(shè)計_。9以下B不是Java中有效的關(guān)鍵字。A、constB、NULLC、falseD、this10Panel默認的布局管理器是A、FlowLayout。11下面B方法與applet的顯示無關(guān)。A、update()B、draw()C、repaint()D、paint()12下列內(nèi)容是異常的含義。A、程序的語法錯B、程序編譯或運行中所發(fā)生的異常事件C、程序預定義好的異常事件D、程序編譯錯誤13當方法遇到異常又不知如何處理時,下列C做法是正確的。A、捕獲異常B、拋出異常C、聲明異常D、嵌套異常14計算機中的流是D。A、流動的字節(jié)B、流動的對象C、流動的文件D、流動的數(shù)據(jù)緩沖區(qū)15當檢索一個壓縮文件時,首先要建立壓縮文件輸入流對象。該對象B。A、以選中的壓縮文件為參數(shù)B、以FileInputStream對象為參數(shù)C、以InputStreamReader對象為參數(shù)D、以BufferedReader對象為參數(shù)16一個JavaApplication運行后,在系統(tǒng)中是作為一個B。A、線程B、進程C、進程或線程D、不可預知17要串行化某些類的對象,這些類就必須實現(xiàn)A。A、Serializable接口B、java.io.Externalizable接口C、java.io.DataInput接口D、DataOutput接口18Swing構(gòu)件的程序不具有A。A、本地代碼B、標簽C、菜單D、容器19結(jié)構(gòu)化程序設(shè)計方法的主要原則可以概括為自頂向下、逐步求精、模塊化和限制使用goto語句。20軟件的調(diào)試方法主要有:強行排錯法、回朔法_和原因排除法。21數(shù)據(jù)庫系統(tǒng)的三級模式分別為概念級模式、內(nèi)部級模式與外部級模式。22數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,它通常包括5個部分,即數(shù)據(jù)項、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲和處理過程。23Java語言的各種數(shù)據(jù)類型之間提供兩種轉(zhuǎn)換:強制轉(zhuǎn)換和自動轉(zhuǎn)換。24Java語言中,臨界區(qū)用Synchronized關(guān)鍵字標識。解析:1通常,將軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程稱為軟件生命周期。也就是說,軟件產(chǎn)品從考慮其概念開始,到該軟件產(chǎn)品不能使用為止的整個時期都屬于軟件生命周期。軟件生命周期的主要活動階段為:(1)可行性研究和計劃制定。確定待開發(fā)軟件系統(tǒng)的開發(fā)目標和總的要求,給出它的功能、性能、可靠性以及接口等方面的可能方案,制定完成開發(fā)任務(wù)的實施計劃。(2)需求分析。對待開發(fā)軟件提出的需求進行分析并給出詳細定義,即準確地確定軟件系統(tǒng)的功能。編寫軟件規(guī)格說明書及初步的用戶手冊,提交評審。(3)軟件設(shè)計。系統(tǒng)設(shè)計人員和程序設(shè)計人員應該在反復理解軟件需求的基礎(chǔ)上,給出軟件的結(jié)構(gòu)、模塊的劃分、功能的分配以及處理流程。(4)軟件實現(xiàn)。把軟件設(shè)計轉(zhuǎn)換成計算機可以接受的程序代碼。即完成源程序的編碼,編寫用戶手冊、操作手冊等面向用戶的文檔,編寫單元測試計劃。(5)軟件測試。在設(shè)計測試用例的基礎(chǔ)上,檢驗軟件的各個組成部分。編寫測試分析報告。(6)運行和維護。將已交付的軟件投入運行,并在運行使用中不斷地維護,根據(jù)新提出的需求進行必要而且可能的擴充和刪改。2數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,來刻畫數(shù)據(jù)流從輸入到輸出的移動變換過程。數(shù)據(jù)流圖中的主要圖形元素有:加工(轉(zhuǎn)換)、數(shù)據(jù)流、存儲文件(數(shù)據(jù)源)、源和潭。3軟件的需求分析階段的工作,可以概括為四個方面:需求獲取、需求分析、編寫需求規(guī)格說明書和需求評審。需求獲取的目的是確定對目標系統(tǒng)的各方面需求。涉及到的主要任務(wù)是建立獲取用戶需求的方法框架,并支持和監(jiān)控需求獲取的過程。需求分析是對獲取的需求進行分析和綜合,最終給出系統(tǒng)的解決方案和目標系統(tǒng)的邏輯模型。編寫需求規(guī)格說明書作為需求分析的階段成果,可以為用戶、分析人員和設(shè)計人員之間的交流提供方便,可以直接支持目標軟件系統(tǒng)的確認,又可以作為控制軟件開發(fā)進程的依據(jù)。需求評審是對需求分析階段的工作進行復審,驗證需求文檔的一致性、可行性、完整性和有效性。4標識符命名規(guī)則為:1、標識符是以字母、下劃線、美元符()作為首字符的字符串序列。在首字符后面可以跟字母、下劃線、美元符和數(shù)字。2、標識符區(qū)分大小寫。3、標識符的字符數(shù)目沒有限制,但為便于閱讀和記憶,不宜太長。5數(shù)組中l(wèi)ength是屬性,而字符串中是通過length()方法獲得字符長度的,6對于二元算術(shù)運算符,其表達式結(jié)果的類型歸納為以下幾類情況:(1)操作數(shù)全為整型,那么,只要其中有一個為long型,則表達式結(jié)果為long型。(2)兩個操作數(shù)全是byte型或short型,表達式結(jié)果也為int型。(3)操作數(shù)為浮點型,只要其中有一個為double型,表達式結(jié)果就是double型。(4)兩個操作數(shù)全是float型或其中一個是float型,而另外一個是整型,則表達式結(jié)果為float型。7BorderLayout是Window,Frame和Dialog的默認布局管理器。BorderLayout布局管理器把容器分成5個區(qū)域:North,South,East,West和Center,每個區(qū)域只能放置一個構(gòu)件。8FlowLayout是Panel和Applet的默認布局管理器。構(gòu)件在容器中的放置規(guī)律是從上到下、從左到右進行放置,如果容器足夠?qū)?,第一個構(gòu)件先添加到容器中第一行的最左邊,后續(xù)的構(gòu)件依次添加到上一個構(gòu)件的右邊,如果當前行已放置不下該構(gòu)件,則放置到下一行的最左邊。構(gòu)件的大小不隨容器的大小改變而改變。9Applet顯示相關(guān)的3個方法:(1)、paint()方法:Applet的paint()方法具體執(zhí)行Applet的繪制,該方法定義如下:publicvoidpaint(Graphicsg)paint()方法有一個參數(shù)g是Graphics類的實例,該實例對象由瀏覽器生成,它包含了Applet的圖形上下文信息,通過它向Applet中顯示信息,該對象相當于Applet的畫筆。在調(diào)用paint()方法時,由瀏覽器將該對象傳遞給paint()方法。(2)、update()方法:publicvoidupdate(Graphicsg)用于更新Applet的顯示。該方法將首先清除背景,再調(diào)用paint()方法完成Applet的具體繪制。(3)、repaint()方法:publicvoidrepaint()repaint()方法主要用于Applet的重新顯示,它調(diào)用update()方法實現(xiàn)對Applet的更新。10流,最早從C語言中引入的。其可以看成是一個流動的數(shù)據(jù)緩沖區(qū)。數(shù)據(jù)從數(shù)據(jù)源方向經(jīng)過緩沖區(qū)流向數(shù)據(jù)的目的地。在傳送的過程中,其傳送方式是串行的。在Java中的java.io包中定義了Java中常見流的接口與類。其中包括兩個最基本的流的抽象類,它們分別是OutputStream與InputStream。其余的流都分別從這兩個基本類中繼承而來。11在java.io包中提供了對壓縮文件進行操作的能力。它是通過壓縮文件輸入流與壓縮文件輸出流來實現(xiàn)的,其分別繼承自InflaterInputStream與DeflaterOutputStream。在創(chuàng)建壓縮文件輸入流時,其初始化參數(shù)是一個FileInputStream類的實例。12在先左后右的原則下,根據(jù)訪問根結(jié)點的次序,二叉樹的遍歷可以分為三種:前序遍歷、中序遍歷和后序遍歷。前序遍歷是指在訪問根結(jié)點、遍歷左子樹與遍歷右子樹這三者中,首先訪問根結(jié)點,然后遍歷左子樹,最后遍歷右子樹;并且遍歷左、右子樹時,仍然先訪問根結(jié)點,然后遍歷左子樹,最后遍歷右子樹。中序遍歷指在訪問根結(jié)點、遍歷左子樹與遍歷右子樹這三者中,首先遍歷左子樹,然后訪問根結(jié)點,最后遍歷右子樹;并且遍歷左、右子樹時,仍然先遍歷左子樹,然后訪問根結(jié)點,最后遍歷右子樹。后序遍歷指在訪問根結(jié)點、遍歷左子樹與遍歷右子樹這三者中,首先遍歷右子樹,然后訪問根結(jié)點,最后遍歷左子樹;并且遍歷左、右子樹時,仍然先遍歷右子樹,然后訪問根結(jié)點,最后遍歷左子樹。13調(diào)式的關(guān)鍵在于推斷程序內(nèi)部的錯誤位置及原因。其主要的調(diào)試方法有:強行排錯法、回溯法和原因排除法。強行排錯法:是傳統(tǒng)的調(diào)試方法,其過程可概括為:設(shè)置斷點、程序暫停、觀察程序狀態(tài)、繼續(xù)運行程序。這是目前使用較多、效率較低的調(diào)試方法?;厮莘ǎ涸摲椒ㄟm合于小規(guī)模程序的排錯。即一旦發(fā)現(xiàn)了錯誤,先分析錯誤征兆,確定最先發(fā)現(xiàn)癥狀的位置。然后,從發(fā)現(xiàn)癥狀的地方開始,沿程序的控制流程,逆向跟蹤源程序代碼,直到找到錯誤根源或確定錯誤產(chǎn)生的原因。原因排除法:是通過演繹和歸納,以及二分法來實現(xiàn)的。數(shù)據(jù)庫系統(tǒng)在其內(nèi)部具有三級模式及二級映射,三級模式分別是概念級模式、內(nèi)部級模式和外部級模式。14概念模式是數(shù)據(jù)庫系統(tǒng)中全局數(shù)據(jù)邏輯結(jié)構(gòu)的描述,是全體用戶(應用)公共數(shù)據(jù)視圖。內(nèi)模式又稱物理模式,它給出了數(shù)據(jù)庫物理存儲結(jié)構(gòu)與物理存取方法,如數(shù)據(jù)存儲的文件結(jié)構(gòu)、索引、集簇及hash等存取方式與存取路徑,內(nèi)模式的物理性主要體現(xiàn)在操作系統(tǒng)及文件級上,它還未深入到設(shè)備級上(如磁盤及磁盤操作)。外模式也稱子模式或用戶模式,它是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式,它由概念模式推導而出。數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,它通常包括5個部分,即數(shù)據(jù)項,是數(shù)據(jù)的最小單位;數(shù)據(jù)結(jié)構(gòu),是若干數(shù)據(jù)項有意義的集合;數(shù)據(jù)流,可以是數(shù)據(jù)項,也可以是數(shù)據(jù)結(jié)構(gòu),表示某一處理過程的輸入或輸出;數(shù)據(jù)存儲,處理過程中存取的數(shù)據(jù),常常是手工憑證、手工文檔或計算機文件;處理過程。15在Java語言中,異常機制是:一旦出現(xiàn)異常,可以由運行的方法或虛擬機生成一個異常對象,它包含異常事件的類型以及發(fā)生異常時程序的狀態(tài)等信息。16異常對象從產(chǎn)生到被傳遞提交給Java運行系統(tǒng)的過程稱為拋出(throw)異常。一個程序中單獨的、并發(fā)的線程對同一個對象進行訪問的代碼段,稱為臨界區(qū)。在Java語言中,臨界區(qū)可以是一個語句塊或是一個方法,并且用synchronized關(guān)鍵字標識。計算機等級考試二級Java練習題及解析(4)1、算法的空間復雜度是指:算法執(zhí)行過程中所需的存儲空間。一個算法所占用的存儲空間包括算法程序所占的空間、輸入的初始數(shù)據(jù)所占的存儲空間以及算法執(zhí)行過程中所需要的額外空間。2所謂滿二叉樹是指這樣的一種二叉樹:除最后一層外,每層上的所有結(jié)點都有兩個子結(jié)點。這就是說,在滿二叉樹中,每一層上的結(jié)點數(shù)都達到最大值,即在滿二叉樹的第K層上有2K-1個結(jié)點,且深度為m的滿二叉樹有2m個結(jié)點。在滿二叉樹中,最后一層的結(jié)點個數(shù)就是葉子結(jié)點的個數(shù),本題中深度為5,故葉子結(jié)點數(shù)為25-1=24=16。3程序編寫要做到清晰第一,效率第二。4軟件工程包括3個要素,即方法、工具和過程。5程序流程圖(PFD)是一種傳統(tǒng)的、應用廣泛的軟件過程設(shè)計表示工具,通常也稱為程序框圖,其箭頭代表的是控制流。6在數(shù)據(jù)管理技術(shù)的發(fā)展過程中,經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。其中數(shù)據(jù)獨立性最高的階段是數(shù)據(jù)庫系統(tǒng)。7關(guān)系數(shù)據(jù)庫管理系統(tǒng)能實現(xiàn)的專門關(guān)系運算,包括選擇運算、投影運算、連接運算。8Java語言不同于C+,它可以自動跟蹤內(nèi)存的使用情況,釋放一些不再需要使用的空間,從而保證了不會由于程序的運行而生成大量無法釋放的空間,該機置被稱垃圾回收機制,由于這種機制的引入,從很大程度上減輕了程序員的負擔。9Java對+進行了擴展,不僅可以連接字符串,而且還能將字符串與其它類型數(shù)據(jù)進行連接,結(jié)果是字符串。若+的第一個操作數(shù)是字符串,Java會自動將后面的操作數(shù)類型轉(zhuǎn)換成字符串類型。10對于復合數(shù)據(jù)類型的數(shù)據(jù)的=運算,其比較目標是兩個操作數(shù)是否是同一個對象。若需要比較兩個對象的值是否相同,則用equals()方法,equals()是Object的方法,和=一樣,功能是比較兩個操作數(shù)是否是同一個對象,但類庫中許多子類重寫了equals()方法,使其變?yōu)楸容^兩個操作數(shù)的內(nèi)容是否一樣。11當switch后面表達式的值與任一case子句中的值都不匹配時,程序執(zhí)行default后面的語句;break語句用來在執(zhí)行完一個case分支后,使程序跳出switch語句;若沒有break語句,當程序執(zhí)行完匹配的case語句序列后,繼續(xù)向下執(zhí)行,向下執(zhí)行時,并不與case后面的數(shù)據(jù)進行比較,而是直接執(zhí)行下面的所有語句,直到遇到break語句為止。12在JScroolPane類中,主要是通過JViewport(視口)類來實現(xiàn)內(nèi)容的滾動的。JViewport是一種特殊的對象,用于查看基層構(gòu)件,滾動條實際上就是沿著構(gòu)件移動視口,同時描繪出它能看到的內(nèi)容。13Java語言為一些Listener接口提供了適配器(Adapter)類??梢酝ㄟ^繼承事件所對應的Adapter類,重寫需要的方法,無關(guān)方法不用實現(xiàn)。java.awt.event包中定義的事件適配器類包括以下幾個:1、ComponentAdapter,構(gòu)件適配器。2、ContainerAdapter,容器適配器。3、FocusAdapter,焦點適配器。4、KeyAdapter,鍵盤適配器。5、MouseMotionAdapter,鼠標運動適配器。6、MouseAdapter,鼠標適配器。7、WindowAdapter,窗口適配器。14容器java.awt.Container是Component的子類,一個容器可以容納多個構(gòu)件,并使他們成為一個整體。常用的容器有Frame(窗口容器),Panel(面板容器),Applet(java小程序的容器),Dialog(對話框容器)等。而本題選項中的Scrollbar是滾動條,它是一個構(gòu)件,并不是容器。15Java語言的類庫中提供一個Throwable類,所有的異常對象都必須是它的實例或它子類的實例。Throwable類又分為Error和Exception兩子類,Error類包括動態(tài)連接失敗、硬件設(shè)備和虛擬機出錯等,通常的Java應用程序不會捕獲和拋出這類異常,而是捕獲和拋出Exception這類異常。所以自定義的異常是從Exception及其子集繼承的。16過濾流為I/O訪問提供了同步處理機制。保證在某時刻只能有一個線程訪問一個I/O流。要保證讀取的內(nèi)容進行處理后能夠正確的輸出,要使用過濾流(Filterstream),否則不能保證輸出數(shù)據(jù)的正確性。17對JFrame添加構(gòu)件有兩種方式:1、用getContentPane()方法獲得JFrame的內(nèi)容面板,再對其加入構(gòu)件frame.getContentPane().add(childComponent)。2、建立一個Jpanel或JDesktopPane之類的中間容器,把構(gòu)件添加到容器中,再用setContentPane()方法把該容器置為JFrame的內(nèi)容面板:JpanelcontentPane=newJpanel();/把其他構(gòu)件添加到Jpanel中frame.setContentPane(contentPane);/把contentPane對象設(shè)置成為frame的內(nèi)容面板。18將Java程序中的對象保存在外存中,稱為對象永久化。對象永久化的關(guān)鍵是將它的狀態(tài)以一種串行格式表示出來,以便以后讀該對象時能夠把它重構(gòu)出來。19在Java中可通過兩種方法來產(chǎn)生一個線程。在Java中,可以通過繼承類Thread來構(gòu)造線程,即通過繼承Thread類并覆蓋其中的run方法來生成一個線程。同時也可以通過建立一個實現(xiàn)了Runnable接口的對象,并以其作為線程的目標對象來建立一個線程,通過這種方法可以打破Java中單一繼承類方式的限制,在這種方法中,所有實現(xiàn)了Runnable接口的對象都是以線程方式在運行。20數(shù)據(jù)庫設(shè)計是數(shù)據(jù)庫應用的核心。在數(shù)據(jù)庫應用系統(tǒng)中的一個核心問題就是設(shè)計一個能滿足用戶要求,性能良好的數(shù)據(jù)庫,這就是數(shù)據(jù)庫設(shè)計。21新建的線程調(diào)用start()方法,將使線程的狀態(tài)從New轉(zhuǎn)換為Runnable。start()方法使系統(tǒng)為線程分配必要的資源,將線程中虛擬的CPU置為Runnable狀態(tài),并將線程交給系統(tǒng)調(diào)度。Runnable表示系統(tǒng)處于運行就緒狀態(tài),此時線程僅僅是可以運行,但不一定在運行中。計算機等級考試二級Java練習題及解析(5)1 在進行順序查找過程中,如果線性表中被查的元素是線性表中的最后一個,或者被查元素根本不在線性表中,則為了查找這個元素需要與線性表中所有元素進行比較,這是順序查找最壞的情況。信息隱蔽是指在一個模塊內(nèi)包含的信息(過程或數(shù)據(jù)),對于不需要這些信息的其他模塊來說是不能訪問的。2模塊獨立性是指每個模塊只完成系統(tǒng)要求的獨立的子功能,并且與其他模塊的聯(lián)系最少且接口簡單。衡量軟件的模塊獨立性的度量標準是耦合性和內(nèi)聚性。一個模塊的內(nèi)聚性越強,則該模塊的模塊獨立性越強。而內(nèi)聚性是信息隱蔽和局部化概念的自然擴展。面向?qū)ο蟮脑O(shè)計方法與傳統(tǒng)的的面向過程的方法有本質(zhì)不同,它的基本原理是,使用現(xiàn)實世界的概念抽象地思考問題從而自然地解決問題。它強調(diào)模擬現(xiàn)實世界中的概念而不強調(diào)算法,它鼓勵開發(fā)者在軟件開發(fā)的絕大部分中都用應用領(lǐng)域的概念去思考。總體設(shè)計過程通常由兩個主要階段組成:系統(tǒng)設(shè)計,確定系統(tǒng)的具體實現(xiàn)方案;結(jié)構(gòu)設(shè)計,確定軟件結(jié)構(gòu)。為確定軟件結(jié)構(gòu),首先需要從實現(xiàn)角度把復雜的功能進一步分解。分析員結(jié)合算法描述仔細分析數(shù)據(jù)流圖中的每個處理,如果一個處理的功能過分復雜,必須把它的功能適當?shù)胤纸獬梢幌盗斜容^簡單的功能。3數(shù)據(jù)庫概念設(shè)計的過程中,視圖設(shè)計一般有三種設(shè)計次序,它們是:1、自頂向下。這種方法是先從抽象級別高且普遍性強的對象開始逐步細化、具體化與特殊化。2、由底向上。這種設(shè)計方法是先從具體的對象開始,逐步抽象,普遍化與一般化,最后形成一個完整的視圖設(shè)計。3、由內(nèi)向外。這種設(shè)計方法是先從最基本與最明顯的對象著手逐步擴充至非基本、不明顯的其它對象。4在方法中定義的局部變量在方法退出時被自動撤消,只有靜態(tài)變量不會被撤消。如果未對變量指定修釋符,在JAVA中將自動將其設(shè)置為局部變量,局部變量也叫自動變量,對于方法外面的變量,將在對象被創(chuàng)建時一起被創(chuàng)建,其初值可通過構(gòu)造函數(shù)對其進行初始化。如果方法中是一個簡單類型的形參,由于其是按值傳遞,在編譯時會占用存儲空間,直到該對象釋放時為止。如果形參為一個類類型,其參數(shù)是按地址傳遞,編譯時不會為其分配空間,因此該參變量不會存在于方法中。5類加載器(classloader)加載程序運行所需要的所有類,它通過區(qū)分本機文件系統(tǒng)的類和網(wǎng)絡(luò)系統(tǒng)導入的類增加安全性,這可以限制任何的特洛伊木馬程序,因為本機類總是先被加載,一旦所有的類被加載完,執(zhí)行文件的內(nèi)存劃分就固定了,在這個時候特定的內(nèi)存地址被分配給對應的符號引用,查找表(lookuptable)也被建立,由于內(nèi)存劃分發(fā)生在運行時,解釋器在受限制的代碼區(qū)增加保護防止未授權(quán)的訪問;然后字節(jié)碼校驗器(bytecodeverifier)進行校驗,主要執(zhí)行下面的檢查:類符合JVM規(guī)范的類文件格式,沒有違反訪問限制,代碼沒有造成堆棧的上溢或者下溢,所有操作代碼的參數(shù)類型都是正確的,沒有非法的數(shù)據(jù)類型轉(zhuǎn)換(例如將整型數(shù)轉(zhuǎn)換成對象類型)發(fā)生;校驗通過的字節(jié)碼被解釋器(interpreter)執(zhí)行,解釋器在必要時通過運行時系統(tǒng)執(zhí)行對底層硬件的合適調(diào)用。7publicclassParentpublicintaddValue(inta,intb)ints;s=a+b;returns;classChildextendsParent選項中_B_方法可以正確加入類Child中且父類的方法不會被覆蓋。A、intaddValue(inta,intb)/dosomething.B、publicvoidaddValue()/dosomething.C、publicintaddValue(inta,intb)throwsMyException/dosomething.D、publicfloataddValue(inta,intb,floatb=1.0)/dosomething.解析:此題涉及方法重載(overload),方法重寫(override)以及類派生時方法重寫的規(guī)則。方法重載的規(guī)則是:一、參數(shù)列表必須不同,個數(shù)的不同完全可以,如果個數(shù)相同,則參數(shù)類型的不同不會引起歧意,例如int和long,float和double就不能作為唯一的類型不同;二、返回值可以不同,但是不能是重載時唯一的不同點(這點和c+中不同,c+中返回類型必須一致)。方法重寫發(fā)生在類繼承時,子類可以重寫一個父類中已有的方法,必須在返回類型和參數(shù)列表一樣時才能說是重寫,否則就是重載,java中方法重寫的一個重要而且容易被忽略的規(guī)則是重寫的方法的訪問權(quán)限不能比被重寫的方法的訪問權(quán)限低!重寫的另一個規(guī)則是重寫的方法不能比被重寫的方法拋棄(throws)更多種類的異常,其拋棄的異常只能少,或者是其子類,不能以拋棄異常的個數(shù)來判斷種類,而應該是異常類層次結(jié)果上的種類。此題中選取項A的錯誤就是重寫的訪問權(quán)限比被重寫的方法的低,而B屬于重載,選項C的錯誤在于比被重寫的方法拋棄了更多種類的異常。選項D中,當只傳遞兩個變量的值的時候,那系統(tǒng)就不知道倒底調(diào)用哪個方法了,因為b為常量,可以不指定,所以只有選項B是符合題意的。8假設(shè)有以下代碼Strings=hello;Stringt=hello;charc=h,e,l,l,o;下列選項中返回false的語句是B。A、s.equals(t);B、t.equals(c);C、s=t;D、t.equals(newString(hello);解析:=操作符比較的是操作符兩端的操作數(shù)是否是同一個對象,而String的equals()方法比較的是兩個String對象的內(nèi)容是否一樣,其參數(shù)是一個String對象時才有可能返回true,其它對象都返回假。需要指出的是由于s和t并非使用new創(chuàng)建的,他們指向內(nèi)存池中的同一個字符串常量,因此其地址實際上是相同的(這個可以從反編譯一個簡單的測試程序的結(jié)果得到,限于篇幅不列出測試代碼和反編譯的分析),因此答案C也是正確的。9欲構(gòu)造ArrayList類的一個實例,此類實現(xiàn)了List接口,下列_B_方法是正確的。A、ArrayListmyList=newObject();B、ListmyList=newArrayList();C、ArrayListmyList=newList();D、ListmyList=newList();解析:不能直接建立接口的實例,只能通過實現(xiàn)接口的相應的類來實現(xiàn)接口。10下列程序運行的結(jié)果是_B_。publicclassExampleStringstr=newString(good);charch=a,b,c;publicstaticvoidmain(Stringargs)Exampleex=newExample();ex.change(ex.str,ex.ch);System.out.print(ex.str+and);System.out.print(ex.ch);publicvoidchange(Stringstr,charch)A、goodandabcB、goodandgbcC、testokandabcD、testokandgbc11Java語言中,原始數(shù)據(jù)類型變量是按值傳遞的,引用類型變量是按地址傳遞的。12要從文件file.dat文件中讀出第10個字節(jié)到變量C中,下列_A_方法適合。A、FileInputStreamin=newFileInputStream(file.dat);in.skip(9);intc=in.read();B、FileInputStreamin=newFileInputStream(file.dat);in.skip(10);intc=in.read();C、FileInputStreamin=newFileInputStream(file.dat);intc=in.read();D、RandomAccessFilein=newRandomAccessFile(file.dat);in.skip(9);intc=in.readByte();解析:Java提供FileInputStream是將文件作為流的方式讀取,它是按照文件的順序從0位置開始進行讀取,RandomAccessFile是隨機讀取數(shù)據(jù),讀取的位置不一定是從0開始,可以使用skip(n)方法來跳過n個字符,通過readByte()讀取一個字符,通過read()可以讀取輸入流中的一個字符。13下列代碼_C_會出錯。1)publicvoidmodify()2)inti,j,k;3)i=100;4)while(i0)5)j=i*2;6)System.out.println(Thevalueofjis+j);7)k=k+1;8)i-;A、line4B、line6C、line7D、line8解析:由于Java中聲明變量并沒有分配內(nèi)存空間,必須通過初始化才能使用變量。14下面關(guān)于Applet的說法正確的是_B_。A、Applet也需要main方法B、Applet繼承自java.awt.Applet或javax.swing.JAppletC、Applet能訪問本地文件D、Applet程序不需要編譯解析:JavaApplet的字節(jié)碼文件必須嵌入HTML的文件中并由負責解釋HTML文件的WWW瀏覽器充當解釋器來解釋運行。因此Applet不需要main方法,但必須繼承java.awt.Applet類或javax.swing.JApplet,因為這兩個類實現(xiàn)了Applet程序于瀏覽器的通訊。15為了系統(tǒng)的安全,一般情況下Applet程序不能訪問本地文件,只有通過授權(quán)后才能讀寫。16下列關(guān)于for循環(huán)和while循環(huán)的說法中_A_是正確的。A、while循環(huán)能實現(xiàn)的操作,for循環(huán)也都能實現(xiàn)B、while循環(huán)判斷條件一般是程序結(jié)果,for循環(huán)判斷條件一般是非程序結(jié)果C、兩種循環(huán)任何時候都可替換D、兩種循環(huán)結(jié)構(gòu)中循環(huán)體都不可以為空解析:for循環(huán)的一般形式為:for(;)語句;初始化總是一個賦值語句,它用來給循環(huán)控制變量賦初值;條件表達式是一個關(guān)系表達式,它決定什么時候退出循環(huán);增量定義循環(huán)控制變量每循環(huán)一次后按什么方式變化。這三個部分之間用;分開。例如:for(i=1;i10時,結(jié)束循環(huán)。注意:1、for循環(huán)中語句可以為語句體,但要用和將參加循環(huán)的語句括起來。2、for循環(huán)中的初始化、條件表達式和增量都是選擇項,即可以缺省,但;不能缺省。省略了初始化,表示不對循環(huán)控制變量賦初值。省略了條件表達式,則不做其它處理時便成為死循環(huán)。省略了增量,則不對循環(huán)控制變量進行操作,這時可在語句體中加入修改循環(huán)控制變量的語句。與for循環(huán)一樣,while循環(huán)總是在循環(huán)的頭部檢驗條件,這就意味著循環(huán)可能什么也不執(zhí)行就退出。17下列關(guān)于JavaApplication與JavaApplet程序的差別描述正確的是D。A、運行方式不同,程序結(jié)構(gòu)相同,運行工具不同,受到的限制相同B、運行方式相同,程序結(jié)構(gòu)不同,運行工具不同,受到的限制相同C、運行方式相同,程序結(jié)構(gòu)相同,運行工具不同,受到的限制也不同D、運行方式不同,程序結(jié)構(gòu)不同,運行工具不同,受到的限制也不同解析:Application和JavaApplet的區(qū)別。Java語言是一種半編譯半解釋的語言。Java的用戶程序分為兩類:JavaApplication和JavaApplet。這兩類程序在組成結(jié)構(gòu)和執(zhí)行機制上都有一

溫馨提示

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

評論

0/150

提交評論