




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Java期末考試題及答案內(nèi)部編號(hào):(YUUTTBBYMMUTURRUYUOOYDBUYI01Java期末考試題一、簡(jiǎn)答題(共8個(gè)題,每題5分,共40分)1. java語(yǔ)言有哪些特點(diǎn)?(1)簡(jiǎn)單的a)Java最初是為對(duì)家用電器進(jìn)行集成控制而設(shè)計(jì)的一種語(yǔ)言,因此它必須簡(jiǎn) 單明了。b)Java的風(fēng)格類似于C+,因而C+程序員初次接觸Java語(yǔ)言,就會(huì)感到很 熟悉。從某種意義上講,Java語(yǔ)言是C及C+語(yǔ)言的一個(gè)變種。c)Java摒棄了 C卄中容易引發(fā)程序錯(cuò)誤的一些特性,如指針、結(jié)構(gòu)、枚舉以 及內(nèi)存管理等。d)Java提供了豐富的類庫(kù),可以幫助我們很方便的開發(fā)Java程序。(2)面向?qū)ο蟮拿嫦驅(qū)ο罂梢?/p>
2、說(shuō)是Java最重要的特性,所以它支持繼承、重載、多態(tài)等 面向?qū)ο蟮奶匦?。Java語(yǔ)言的設(shè)計(jì)是完全面向?qū)ο蟮?它不支持類似C語(yǔ)言那 樣的面向過(guò)程的程序設(shè)計(jì)技術(shù)。(3)健壯的Java致力于檢查程序在編譯和運(yùn)行時(shí)的錯(cuò)誤。Java也是一種強(qiáng)類型的語(yǔ) 言,其類型檢查比C+還要嚴(yán)格。類型檢查幫助我們檢查出許多開發(fā)早期出現(xiàn) 的錯(cuò)誤。Java自己負(fù)責(zé)內(nèi)存管理,提供了垃圾內(nèi)存回收機(jī)制,有效的避免了 C卄中最頭疼的內(nèi)存泄漏問(wèn)題。(4)安全的Java的安全性可從兩個(gè)方面得到保證。一方面,在Java語(yǔ)言里,刪除 了指針和釋放內(nèi)存等C+功能,避免了非法內(nèi)存操作。另一方面,通過(guò)Java的安全體系架構(gòu)來(lái)確保Java代碼的安
3、全性。從一開始,Java就被設(shè)計(jì)成能夠防范各種襲擊,包括:禁止運(yùn)行時(shí)堆棧 溢出。例如,蠕蟲等病毒常用的襲擊手段;禁止在自己的處理空間之外破壞內(nèi) 存;未經(jīng)授權(quán)禁止讀寫文件;許多安全特性相繼不斷的被加入Java中。(5)解釋的Java代碼是解釋執(zhí)行的,我們使用Java編譯器將Java代碼編譯成字節(jié) 碼,這是一種中間代碼,然后由Java解釋器解釋執(zhí)行。而C+程序是編譯執(zhí) 行的,C+程序代碼被編譯為本地機(jī)器指令,然后執(zhí)行。(6)與平臺(tái)無(wú)關(guān)的Java作為一種網(wǎng)絡(luò)語(yǔ)言,其源代碼被編譯成一種結(jié)構(gòu)中立的中間文件格 式。只要有Java運(yùn)行系統(tǒng)的機(jī)器都能執(zhí)行這種中間代碼。Java源程序被編譯 成一種與機(jī)器無(wú)關(guān)的字
4、節(jié)碼格式,在Java虛擬機(jī)上運(yùn)行。(7)多線程的Java語(yǔ)言的一個(gè)重要特性就是在語(yǔ)言級(jí)支持多線程的程序設(shè)計(jì)。多線程就 好像我們做一張桌子,如果你一個(gè)人完成這張桌子一就好像單線程,那么你需 要先做桌面,做完桌面后,再做4個(gè)桌子腿,如果現(xiàn)在有5個(gè)人來(lái)做桌子一在 程序中開辟5個(gè)線程,其中1個(gè)人做桌面,另外4個(gè)人分別做4個(gè)桌子腿,那 么這兩種方式效率的高低,相信大家都能區(qū)分出來(lái)。(8)動(dòng)態(tài)的Java的動(dòng)態(tài)特性是其面向?qū)ο笤O(shè)計(jì)方法的擴(kuò)展。它允許程序動(dòng)態(tài)地裝入運(yùn) 行過(guò)程中所需要的類。在C+程序設(shè)計(jì)過(guò)程中,每當(dāng)在類中增加一個(gè)實(shí)例變量或一個(gè)成員函數(shù)后,引用該類的所有子類都必須重新編譯,否則將導(dǎo)致程序崩潰。Ja
5、va從以下兒個(gè)方面采取措施來(lái)解決這個(gè)問(wèn)題。a) Java編譯器不是將對(duì)實(shí)例變量和成員函數(shù)的引用編譯為數(shù)值引用,而是 將符號(hào)引用信息在字節(jié)碼中保存下來(lái),傳遞給解釋器,再由解釋器在完成 動(dòng)態(tài)連接類后,將符號(hào)引用信息轉(zhuǎn)換為數(shù)值偏移量。b) 個(gè)在存儲(chǔ)器中生成的對(duì)象不在編譯過(guò)程中決定,而是延遲到運(yùn)行時(shí)由解 釋器確定。這樣,對(duì)類中的變量和方法進(jìn)行更新時(shí)就不至于影響現(xiàn)存的代 碼。c) 解釋執(zhí)行字節(jié)碼時(shí),這種符號(hào)信息的查找和轉(zhuǎn)換過(guò)程僅在一個(gè)新的名字出 現(xiàn)時(shí)才進(jìn)行一次,隨后代碼便可以全速執(zhí)行。在運(yùn)行時(shí)確定引用的好處是 可以使用已被更新的類,而不必?fù)?dān)心會(huì)影響原有的代碼。如果程序連接了 網(wǎng)絡(luò)中另一系統(tǒng)中的某一類,該
6、類的所有者也可以自由地對(duì)該類進(jìn)行更 新,而不會(huì)使任何引用該類的程序崩潰。d) Java還簡(jiǎn)化了使用一個(gè)升級(jí)的或全新協(xié)議的方法。如果你的系統(tǒng)運(yùn)行Java 程序時(shí)遇到了不知怎樣處理的程序,Java能自動(dòng)下載你所需要的功能程 序。2.什么是java虛擬機(jī)?Java虛擬機(jī)JVM(Java Virtual Machine)在JAVA編程里面具有非常重要的地 位。約相當(dāng)于JAVA運(yùn)行環(huán)境JRE。JAVA虛擬機(jī)是在真實(shí)機(jī)器中用軟件模擬實(shí)現(xiàn)的 一種想象機(jī)器,它為不同的硬件平臺(tái)提供了一種編譯JAVA技術(shù)代碼的規(guī)范,該規(guī) 范使JAVA軟件獨(dú)立于平臺(tái)。JVM對(duì)下列各項(xiàng)做出了定義:指令集,寄存器,類文件格式,棧,垃圾
7、收集 堆,存儲(chǔ)區(qū)。Java虛擬機(jī)的功能:(1) 通過(guò)ClassLoader尋找和裝載Class文件(2) 解釋字節(jié)碼成為指令并執(zhí)行,提供Class文件的運(yùn)行環(huán)境(3) 進(jìn)行運(yùn)行期間垃圾回收(4) 提供與硬件交互的平臺(tái)JAVA虛擬機(jī)是JAVA平臺(tái)無(wú)關(guān)的保障。正是因?yàn)橛刑摂M機(jī)這中間層,JAVA才 能夠?qū)崿F(xiàn)與平臺(tái)無(wú)關(guān)。虛擬機(jī)就好比是一個(gè)JAVA運(yùn)行的基本平臺(tái),所有的JAVA 程序都運(yùn)行在虛擬機(jī)上。所有與平臺(tái)有關(guān)的東西都是由虛擬機(jī)去處理。3. 什么是方法重載(Overloading)與方法覆蓋(Overriding) ?(1) 方法重載(Overloading):方法重載是指同名的方法在不同的地方具有
8、多種含義。方法重載使得在類 中可以存在方法名相同的多個(gè)方法,但方法的原型不能完全相同,由方法的參 數(shù)不同來(lái)決定所使用的是哪個(gè)方法。方法的原型包括方法名和方法參數(shù)類型。(2) 方法覆蓋(overriding)方法覆蓋也叫方法重寫,是指方法的含義被重新編寫后的方法所替代。對(duì)于 方法覆蓋,子類可以重新實(shí)現(xiàn)父類的某些方法,并具有自己的特征。這樣,覆蓋 隱藏了父類的方法,使子類可以具有自己的實(shí)現(xiàn)方法。子類覆蓋父類的方法時(shí), 子類中方法的訪問(wèn)權(quán)限不能低于父類中該方法的訪問(wèn)權(quán)限4. java 中 equals 和"="的區(qū)別?使用“二二二二”比較基本類型字段,使用equals方法比較對(duì)象
9、字段。=二二操作比較的是兩個(gè)變量的值是否相等,對(duì)于引用型變量表示的是兩個(gè)變 量在堆中存儲(chǔ)的地址是否相同,即棧中的內(nèi)容是否相同;equals操作表示的兩個(gè) 變量是否是對(duì)同一個(gè)對(duì)象的引用,即堆中的內(nèi)容是否相同。二二比較的是2個(gè)對(duì)象的地址,而equals比較的是2個(gè)對(duì)象的內(nèi)容。顯然,當(dāng) equals 為 true 時(shí),二二二二不一定為 true。5. 什么是抽象類?什么是接口?一般稱含有抽象方法的類稱為抽象類。抽象類是不能被實(shí)例化的類,用 abstract 修飾。接口是一種與類相似的結(jié)構(gòu),但接口不是類,而是一組對(duì)類的要求,這些類 要與接口一致一個(gè)類可以實(shí)現(xiàn)一個(gè)或多個(gè)接口,并在需要接口的地方,隨時(shí)使用
10、 實(shí)現(xiàn)了相應(yīng)接口的對(duì)象。6. 什么是多態(tài)?一個(gè)對(duì)象變量可以指向多種實(shí)際類型對(duì)象的現(xiàn)象被稱為“多態(tài)”(polymorphism)。7. 異常的分類?它們的區(qū)別是什么?Error:稱為錯(cuò)誤,由Java虛擬機(jī)生成并拋出,包括動(dòng)態(tài)連接失敗、虛擬機(jī)錯(cuò)誤 等,程序?qū)ζ洳蛔魈幚?。Exception:所以異常類的父類,其子類對(duì)應(yīng)了各種各樣可能出現(xiàn)的異常事件,一 般需要用戶顯式的聲明或捕獲。Runtime Exception: 一類特殊的異常,如被0除、數(shù)組下標(biāo)超范圍等,其產(chǎn)生比 較頻繁,處理麻煩,如果顯式的聲明或捕獲將會(huì)對(duì)程序的可讀 性和運(yùn)行效率影響很大。因此由系統(tǒng)自動(dòng)檢測(cè)并將它們交給缺 省的異常處理程序(用
11、戶可不必對(duì)其處理)。&什么是流?流(stream)是輸入和輸出設(shè)備的一種抽象表示,這些設(shè)備是數(shù)據(jù)源或數(shù)據(jù)終 點(diǎn)??梢韵罅髦袑懭霐?shù)據(jù),也可以從流中讀出數(shù)據(jù)??梢园蚜飨胂鬄榱魅胱约撼绦蚧驈淖约撼绦蛑辛鞒龅淖止?jié)序列o當(dāng)把數(shù)據(jù)寫入流時(shí),該流稱為輸出流。輸出流可以通往任何可以傳輸字節(jié)序 列的設(shè)備,例如硬盤上的文件,或連接用戶系統(tǒng)至遠(yuǎn)程系統(tǒng)的電話線路。輸出流 也可以通向顯示器,但這會(huì)大大限制其真正的功能。二、程序設(shè)計(jì)題(共4個(gè)題,每題15分,共60分)1、輸出1到100以內(nèi)的前10個(gè)質(zhì)數(shù)。public class Zhishu public static void main(String args
12、)int s, i, j=0;for(s=2;s<=100;s+)for(i=2;i<=s/2;i+)if(s%i=0)break;if(i>s/2)j+;if(j<=10)2、計(jì)算并輸出result"! +2! +3! +口!的結(jié)果。public class Sum public static void main(String args)-+10! );int s=0,t=l;int n;for (n二1;n二20;n+)t=t*n;s二s+t;3、定義一個(gè)長(zhǎng)方形類,該類具有長(zhǎng)和寬兩種屬性,并具有相應(yīng)的構(gòu)造方法、屬性 訪問(wèn)方法和計(jì)算周長(zhǎng)和面積的方法,要求輸出
13、長(zhǎng)是5寬是4的長(zhǎng)方形的面積和 周長(zhǎng)。public class Rectangle private double length;/長(zhǎng)private double width;/寬public Rectangle () /無(wú)參數(shù)的構(gòu)造方法 public Rectangle (double length, double width)thislength二length;this width二width;/帶參數(shù)的構(gòu)造方法public void setLength(double length二lLength;public void setWidth(double width=wWidth;public
14、double getLength()return length;public double getWidth()return width;public double area(double i,計(jì)算面積lLength)wWidth)double j)return (length*width);public double permcter (double i, double j)計(jì)算周長(zhǎng)return (length+width)*2);public static void main(String args)Rectangle Rectangle =new Rectangle (5, 4);4、定
15、義_個(gè)父類Paren ts和兩個(gè)子類Fa ther類和Mo ther類:Paren ts類具有兩 個(gè)屬性:姓名和年齡,該類所包含的方法除了構(gòu)造方法和相應(yīng)的get和set方 法,還有一個(gè)print ()用來(lái)打印對(duì)象的具體的信息,例如,輸出“我是家 長(zhǎng),我的名字是,我的年齡是歲"Father類增加了一個(gè)屬性:愛(ài)好, 并重寫了父類Parents中的print。方法,輸出“我是父親,我的名字是., 我的年齡是. 歲,我的愛(ài)好是.”;Mother類增加了一個(gè)屬性:頭發(fā)的顏 色,并重寫了父類Parents中的print ()方法,輸出“我是母親,我的名字 是,我的年齡是.歲,我頭發(fā)的顏色是.”。
16、最后定義一個(gè)測(cè)試類 Test,要求顯示如下信息:5、我是家長(zhǎng),我的名字是王瑞,我的年齡是36歲6、我是父親,我的名字是張峰,我的年齡是45歲,我的愛(ài)好是打保齡球7、我是母親,我的名字是孫娟,我的年齡是36歲,我的頭發(fā)顏色是棕色Parents: public abstract class Parents private String name;/姓名 private int age;/年齡public Parents()public Parents (String name, int age) this setName(name);this setAge(age);public void set
17、Name(String name)this .name 二 name;public String getName() return name:public void setAge(int age) this age 二 age;public int getAge()return age;void Sys () Father:public class Father extends Parentsprivate String favor;public Father(String name, int age, String favor)super(name, age);this favor二favo
18、r;public void setFavor(String favor) thisfavor 二 favor;public String getFavor() return favor;void Sys ()Mother:public class Mother extends Parentsprivate String hairColor; /頭發(fā)顏色public Mother(String name, int age, String hairColor) super(name, age);this hairColorhairColor;public void setHairColor(String hairColor) this.hairColor 二
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中式餐廳轉(zhuǎn)讓合同范本
- 產(chǎn)品配方轉(zhuǎn)讓合同范例
- 公司代經(jīng)營(yíng)合同范例
- 2024年重慶市大足區(qū)婦女聯(lián)合會(huì)招聘筆試真題
- 化肥品牌轉(zhuǎn)讓合同范本
- 書宣傳推廣合同范本
- 公寓鋪?zhàn)愚D(zhuǎn)讓合同范本
- 個(gè)人首套房屋購(gòu)買合同范本
- 化工購(gòu)銷合同范本
- 第一章村集體經(jīng)濟(jì)組織會(huì)計(jì)制度講解
- 湖北煙草公司招聘考試真題
- 2024年江蘇護(hù)理職業(yè)學(xué)院高職單招(英語(yǔ)/數(shù)學(xué)/語(yǔ)文)筆試歷年參考題庫(kù)含答案解析
- -藝術(shù)博覽會(huì)與藝術(shù)品拍賣
- 2024智能燃?xì)獗硗ㄓ眉夹g(shù)要求
- 2024年貴州水投水務(wù)集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- (完整版)ERP流程及操作手冊(cè)
- 接上童氣:小學(xué)《道德與法治》統(tǒng)編教材研究
- 武器講解課件
- 關(guān)于魯迅簡(jiǎn)介
- 余華讀書分享名著導(dǎo)讀《文城》
評(píng)論
0/150
提交評(píng)論