版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、Java期末考試題一、簡答題(共 8 個題,每題5分 ,共 40分 )1. java語言有哪些特點,(1)簡單的a) Java最初是為對家用電器進行集成控制而設(shè)計的一種語言,因此它必須簡單明了。b) Java的風(fēng)格類似于C+,因而C+®序員初次接觸Java語言,就會感到很熟悉。從某種意義上講,Java語言是C及C+畸言的一個變種。c) Java摒棄了 C+沖容易引發(fā)程序錯誤的一些特性,如指針、結(jié)構(gòu)、枚舉以及內(nèi)存管理等。d) Java提供了豐富的類庫,可以幫助我們很方便的開發(fā)Java程序。(2)面向?qū)ο蟮拿嫦驅(qū)ο罂梢哉f是Java最重要的特性,所以它支持繼承、重載、多態(tài)等面向?qū)ο蟮奶匦浴?/p>
2、Java語言的設(shè)計是完全面向?qū)ο蟮?,它不支持類似C語言那樣的面向過程的程序設(shè)計技術(shù)。(3)健壯的Java致力于檢查程序在編譯和運行時的錯誤。Java也是一種強類型的語言,其類型檢查比C+鏈要嚴格。類型檢查幫助我們檢查出許多開發(fā)早期出現(xiàn)的錯誤。Java自己負責(zé)內(nèi)存管理,提供了垃圾內(nèi)存回收機制,有效的避免了C+4最頭疼的內(nèi)存泄漏問題。(4)安全的Java的安全性可從兩個方面得到保證。一方面,在 Java語言里,刪除了指 針和釋放內(nèi)存等C+剛能,避免了非法內(nèi)存操作。另一方面,通過Java的安全體系架構(gòu)來確保Java代碼的 xx。從一開始,Java就被設(shè)計成能夠防范各種襲擊,包括:禁止運行時堆棧溢 出
3、。例如,蠕蟲等病毒常用的襲擊手段;禁止在自己的處理空間之外破壞內(nèi)存;未經(jīng)授權(quán)禁止讀寫文件;許多安全特性相繼不斷的被加入 Java中。(5)解釋的Java代碼是解釋執(zhí)行的,我們使用 Java編譯器將Java代碼編譯成字節(jié)碼, 這是一種中間代碼,然后由Java解釋器解釋執(zhí)行。而C+卷序是編譯執(zhí)行的,C+理序代 碼被編譯為本地機器指令,然后執(zhí)行。(6)與平臺無關(guān)的Java作為一種網(wǎng)絡(luò)語言,其源代碼被編譯成一種結(jié)構(gòu)中立的中間文件格式。只要有Java運行系統(tǒng)的機器都能執(zhí)行這種中間代碼。Java源程序被編譯成一種與機器無關(guān)的字節(jié)碼格式,1在Java虛擬機上運行。(7)多線程的Java語言的一個重要特性就是
4、在語言級支持多線程的程序設(shè)計。多線程就好像我們做一張桌子,如果你一個人完成這張桌子就好像單線程,那么你需要先做桌面,做完桌面后,再做4 個桌子腿,如果現(xiàn)在有5 個人來做桌子在程序中開辟5 個線程,其中1個人做桌面,另外4 個人分別做4 個桌子腿,那么這兩種方式效率的高低,相信大家都能區(qū)分出來。(8)動態(tài)的Java的動態(tài)特性是其面向?qū)ο笤O(shè)計方法的擴展。它允許程序動態(tài)地裝入運行過程中所需要的類。在C+銀序設(shè)計過程中,每當在類中增加一個實例變量或一個成員函數(shù)后,引用該類的所有子類都必須重新編譯,否則將導(dǎo)致程序崩潰。Java從以下幾個方面采取措施來解決這個問題。a)Java編譯器不是將對實例變量和成員
5、函數(shù)的引用編譯為數(shù)值引用,而是將符號引用信息在字節(jié)碼中保存下來,傳遞給解釋器,再由解釋器在完成動態(tài)連接類后,將符號引用信息轉(zhuǎn)換為數(shù)值偏移量。)一個在存儲器中生成的對象不在編譯過程中決定,而是延遲到運行時由解釋器確定。這b樣,對類中的變量和方法進行更新時就不至于影響現(xiàn)存的代碼。c)解釋執(zhí)行字節(jié)碼時,這種符號信息的查找和轉(zhuǎn)換過程僅在一個新的名字出現(xiàn)時才進行一次,隨后代碼便可以全速執(zhí)行。在運行時確定引用的好處是可以使用已被更新的類,而不必擔(dān)心會影響原有的代碼。如果程序連接了網(wǎng)絡(luò)中另一系統(tǒng)中的某一 類,該類的所有者也可以自由地對該類進行更新,而不會使任何引用該類的程序崩潰。d)Java還簡化了使用一個
6、升級的或全新協(xié)議的方法。如果你的系統(tǒng)運行Java程序時遇到了不知怎樣處理的程序,Java能自動下載你所需要的功能程序。2.什么是java虛擬機,Java虛擬機JVMJava Virtual Machine在JAVA編程里面具有非常重要的地 位。約相當于JAVA運行環(huán)境JRE JAVA虛擬機是在真實機器中用軟件模擬實現(xiàn) 的一種想象機器,它為不同的硬件平臺提供了一種編譯JAVA技術(shù)代碼的規(guī)范,該規(guī)范使JAVA軟件獨立于平臺。JVM 對下列各項做出了定義:指令集,寄存器,類文件格式,棧,垃圾收集堆,存儲區(qū)。Java虛擬機的功能:2(1)通過ClassLoade尋找和裝載 Class文件(2)解釋字節(jié)
7、碼成為指令并執(zhí)行,提供 Class文件的運行環(huán)境(3)進行運行期間垃圾回收(4)提供與硬件交互的平臺正是因為有虛擬機這中間層,JAVA才能夠?qū)崿F(xiàn)與平JAVA虛擬機是JAVA平 臺無關(guān)的保障。臺無關(guān)。虛擬機就好比是一個JAVA運行的基本平臺,所有的JAVA程序都運行在虛擬機上。所有與平臺有關(guān)的東西都是由虛擬機去處理。3 .什么是方法重載(Overloading)W方法覆蓋(Overriding),(1)方法重載(Overloading):方法重載是指同名的方法在不同的地方具有多種含義。方法重載使得在類中可以存在方法名相同的多個方法,但方法的原型不能完全相同,由方法的參數(shù)不同來決定所使用的是哪個方
8、法。方法的原型包括方法名和方法參數(shù)類型。(2)方法覆蓋(overriding)方法覆蓋也叫方法重寫,是指方法的含義被重新編寫后的方法所替代。對于方法覆蓋,子類可以重新實現(xiàn)父類的某些方法,并具有自己的特征。這樣,覆蓋隱藏了父類的方法,使子類可以具有自己的實現(xiàn)方法。子類覆蓋父類的方法時,子類中方法的訪問權(quán)限不能低于父類中該方法的訪問權(quán)限4 . java 中 equals 和"=勺區(qū)另L使用 “ = =比較基本類型字段,使用 ”equals 方法比較對象字段。= =操作比較的是兩個變量的值是否相等,對于引用型變量表示的是兩個變量在堆中存儲的地址是否相同,即棧中的內(nèi)容是否相同;equals操
9、作表示的兩個變量是否是對同一個對象的引用,即堆中的內(nèi)容是否相同。二=比較的是2個對象的地址,而equals比較的是2個對象的內(nèi)容。顯然, 當 equals 為 true 時, = =不一定為true。5 .什么是抽象類,什么是接口,一般稱含有抽象方法的類稱為抽象類。抽象類是不能被實例化的類,用abstract修飾。接口是一種與類相似的結(jié)構(gòu),但接口不是類,而是一組對類的要 求,這些類要與接口一致一3個類可以實現(xiàn)一個或多個接口,并在需要接口的地方,隨時使用實現(xiàn)了相應(yīng)接口的對象。6 .什么是多態(tài),一個對象變量可以指向多種實際類型對象的現(xiàn)象被稱為“多態(tài) ” (polymorphism。 )7 .異常的
10、分類,它們的區(qū)別是什么,Error:稱為錯誤,由Java虛擬機生成并拋出,包括動態(tài)連接失敗、虛擬機錯 誤等,程序?qū)ζ洳蛔魈幚?。Exception:所以異常類的父類,其子類對應(yīng)了各種各樣可能出現(xiàn)的異常事 件,一般需要用戶顯式的聲明或捕獲。Runtime Exception:一類特殊的異常,如被0除、數(shù)組下標超范圍等,其產(chǎn) 生比較頻繁,處理麻煩,如果顯式的聲明或捕獲將會對程序的可讀性和運行效率影響很大。因此由系統(tǒng)自動檢測并將它們交給缺省的異常處理程序(用戶可不必對其處理)。8 .什么是流,流(stream)是輸入和輸出設(shè)備的一種抽象表示,這些設(shè)備是數(shù)據(jù)源或數(shù)據(jù)終點??梢韵罅髦袑懭霐?shù)據(jù),也可以從流中
11、讀出數(shù)據(jù)。可以把流想象為流入自己程序或從自己程序中流出的字節(jié)序列。當把數(shù)據(jù)寫入流時,該流稱為輸出流。輸出流可以通往任何可以傳輸字節(jié)序列的設(shè)備,例如硬盤上的文件,或連接用戶系統(tǒng)至遠程系統(tǒng)的電話線路。輸出流也可以通向顯示器,但這會大大限制其真正的功能。二、程序設(shè)計題(共 4 個題,每題15 分,共 60 分 )1 、輸出1 到 100 以內(nèi)的前10 個質(zhì)數(shù)。public class Zhishu public static void main(String args)System.out.println("1 到 100 以內(nèi)的前10 個質(zhì)數(shù) :");int s,i,j=0;f
12、or(s=2;s<=100;s+)4for(i=2;i<=s/2;i+)if(s%i=0)break;if(i>s/2)j+;if(j<=10)System.out.println("第"+j+"個:"+s);2、計算并輸出result=1+2+3+ ,+10的結(jié)果。public class Sum public static void main(String args)System.out.println("result=1 +2 +3 + ,+10");int s=0,t=1;int n;for(n=1;n
13、<=20;n+)t=t*n;s=s+t;System.out.println("result=" + s);3、定義一個長方形類,該類具有長和寬兩種屬性,并具有相應(yīng)的構(gòu)造方法、屬性訪問方法和計算周長和面積的方法,要求輸出長是5 寬是 4 的長方形的面積和周長。public class Rectangle private double length;/ 長private double width;/ 寬public Rectangle ()/無參數(shù)的構(gòu)造方法public Rectangle (double length, double width)this.length
14、=length;this.width=width; / 帶參數(shù)的構(gòu)造方法public void setLength(double lLength)5length=lLength;public void setWidth(double wWidth)width=wWidth;public double getLength()return length;public double getWidth()return width;public double area(double i, double j)/ 計算面積return (length*width);public double permcte
15、r (double i, double j)/ 計算周長return (length+width)*2);public static void main(String args)System.out.println(" 長為5,寬為4 的長方形的周長與面積:");RectangleRectangle =new Rectangle (5,4);System.out.println(" 周長 (5,4)="+Rectangle.permcter(5,4);System.out.println( 面積 (5,4)="+Rectangle.area(5
16、,4);10 / 154、定義一個父類 Parents和兩個子類Father類和Mother類:Parents類具有 兩個屬性:姓名和年齡,該類所包含的方法除了構(gòu)造方法和相應(yīng)的get和set方法,還有一個print()用來打印對象的具體的信息,例如,輸出我是家長,我的名字是,我的年齡是歲”;Father類增加了一個屬性:愛好,并重寫了父類 Parents中的print()方法,輸出 我是父親,我的名字是,我的年齡是歲,我的愛 好是.” ;Mother增加了一個屬性:頭發(fā)的顏色,并重寫了父類 Parents中的 print()方法,輸出 我是母親,我的名字是,我的年齡是歲,我頭發(fā)的顏 色是?!弊?/p>
17、后定義一個測試類Test,要求顯示如下信息:5、我是家長,我的名字是王瑞,我的年齡是36 歲6、我是父親,我的名字是張峰,我的年齡是45 歲,我的愛好是打保齡球7、我是母親,我的名字是孫娟,我的年齡是36 歲,我的頭發(fā)顏色是棕色Parents:public abstract class Parents 6private String name;姓名private int age;/ 年齡public Parents()public Parents(String name,int age)this.setName(name);this.setAge(age);public void setNam
18、e(String name) = name;public String getName() return name;public void setAge(int age)this.age = age;public int getAge()return age;void Sys()System.out.println("我是家長,"+"我的名字是"+this.getName()+”,我的年齡 this.getAge()+"歲)Father:public class Father extends Parentsprivate St
19、ring favor;public Father(String name,int age, String favor)super(name,age);this.favor=favor;public void setFavor(String favor) this.favor = favor;public String getFavor() return favor;void Sys()7System.out.println("我是父親,"+"我的名字是"+this.getName()+”,我的年齡 this.getAge()+”歲,我的愛好是"+this.getFavor();Mother:public class
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年高新技術(shù)產(chǎn)業(yè)區(qū)股權(quán)轉(zhuǎn)讓協(xié)議
- 2024年貨物運輸合同運輸標的說明
- 2024年項目開發(fā)建議文檔編制協(xié)議典范版B版
- 2024年高級會所會員身份認證協(xié)議3篇
- 2024年項目外包合作合同具體描述
- 2025年度桉樹苗木病蟲害防治與預(yù)防合同2篇
- 2024年運動鞋品牌授權(quán)授權(quán)經(jīng)營及品牌推廣合同2篇
- 2024年銷售職位勞動協(xié)議樣書版B版
- 2024年電子商務(wù)爭議解決合同
- 2024年股權(quán)投資基金收益分配協(xié)議
- 《電線電纜常用計算公式》
- 美國簽證-個人信息表
- 關(guān)于心理健康教育情況的調(diào)研報告
- 內(nèi)側(cè)蒂直線短瘢痕法治療乳房肥大癥的臨床研究
- 天一大聯(lián)考2024屆物理高一上期末學(xué)業(yè)水平測試試題含解析
- 整改回復(fù)書樣板后邊附帶圖片
- 空氣能施工方案
- 常見藻類圖譜(史上最全版本)
- 硫酸裝置操作規(guī)程
- 2.1特種設(shè)備安全法、容規(guī)、管規(guī)等法律法規(guī)培訓(xùn)
- Python數(shù)據(jù)分析案例實戰(zhàn)PPT完整全套教學(xué)課件
評論
0/150
提交評論