java程序設(shè)計試題庫_第1頁
java程序設(shè)計試題庫_第2頁
java程序設(shè)計試題庫_第3頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Java語言程序設(shè)計基礎(chǔ)教程練習(xí)思考題參考答 案第1章Java程序設(shè)計概述1.1單項選擇題1 編譯Java Application源文件將產(chǎn)生相應(yīng)的字節(jié)碼文件,擴展名是什么A. .javaB. .classC. .htmlD. .exe解答:B2. Java語言具有許多優(yōu)點和特點,下列選項中,哪個反映了 Java中“一次編譯, 隨處運行”的特點。A. 簡單性B.平臺無關(guān)性D.安全性 C.面向?qū)ο笮訠解答:3. Java語言具有許多優(yōu)點和特點,下列選項中,哪個反映了Java中并行機制的 特點。A. 多線程B.平臺無關(guān)性D.安全性 C.面向?qū)ο笮訟解答:4. 在Java語言中,下列哪些語句關(guān)于內(nèi)存

2、回收的說明是正確的?A .程序員必須創(chuàng)建一個線程來釋放內(nèi)存;B. 內(nèi)存回收程序負(fù)責(zé)釋放無用內(nèi)存;C. 內(nèi)存回收程序允許程序員直接釋放內(nèi)存;2Java語言程序設(shè)計基礎(chǔ)教程.D. 內(nèi)存回收程序可以在指定的時間釋放內(nèi)存對象解答:B5. 個Java源文件中最多只能有多少個public類。A. 1個 B. 2個C. 3個D.任意多個解答:A6 下面哪一個不是Java語言所具有的特點A. 沒有全局變量,在類的定義外部沒有任何的變量定義;B. 不直接支持指針操作,而使用更安全的引用類型;C. 支持子類對父類的多繼承;D. 具有自動垃圾收集功能;解答:C7. 下面哪一個不是Java開發(fā)工具包JDK的組成部分A

3、. Java的編譯器;B. Java的解釋器;C. Java的API繼承類庫;D. Eclipse開發(fā)工具;解答:C8. JDK提供的編譯器是()。A. java.exe B. javac.exeC. javap.exeD. javaw.exe解答:B9. 作為Java應(yīng)用程序入口的main方法,其聲明格式可以是()A. public void main( Stri ng args)B. public static void main( Stri ng args)C. public static void Main( Stri ng * args)D. public int mai n( St

4、ri ng args)23語言程序設(shè)計基礎(chǔ)教程Java解答:B10. 下列說法正確的是(A )A、JAVA程序的main方法必須寫在類里面B、JAVA程序中可以有多個 main方法C、JAVA程序中類名必須與文件名一樣D、JAVA程序的main方法中如果只有一條語句,可以不用(大括號)括起來11. 下列哪些語句關(guān)于Java內(nèi)存回收的說明是正確的? ( B )A、程序員必須創(chuàng)建一個線程來釋放內(nèi)存B、內(nèi)存回收程序負(fù)責(zé)釋放無用內(nèi)存C、內(nèi)存回收程序允許程序員直接釋放內(nèi)存D、內(nèi)存回收程序可以在指定的時間釋放內(nèi)存對象1.2填空題1、開發(fā)與運行Java程序需要經(jīng)過的三個主要步驟為 、和解答:編輯源程序、編譯

5、生成字節(jié)碼和解釋運行字節(jié)碼2、使用Java編譯器javac.exe編譯源文件得到字節(jié)碼文件。3、 Java應(yīng)用程序必須通過 Java解釋器_JAVA_.exe來解釋執(zhí)行其字節(jié)碼文件。4、 如果Java源文件中有一個類是public類,那么源文件的名字必須與這個類的名字完全一相同,擴展名是.java。5、 Java應(yīng)用程序總是從主類的 main方法開始執(zhí)行.1.3簡答題13.簡述Java程序的開發(fā)過程?34Java語言程序設(shè)計基礎(chǔ)教程(1)使用一個文字編輯器,編寫源文件。(2)使用java編譯器,編譯源文件得到字節(jié)碼文件。(3 )解釋運行字節(jié)碼,分兩種java應(yīng)用程序必須通過java解釋器來解釋

6、執(zhí)行,java小應(yīng)用程序必須使用解釋器和瀏覽器運行程序。1. 什么是Java虛擬機?為什么 Java被稱作是"平臺無關(guān)的編程語言"?解答:Java虛擬機是一個可以執(zhí)行Java字節(jié)碼的虛擬機進程。Java源文件被編譯成能被 Java虛擬機執(zhí)行的字節(jié)碼文件。Java被設(shè)計成允許應(yīng)用程序可以運行在任意的平臺,而不需要程序員為每一個平臺單獨重寫或者是重新編譯。Java虛擬機讓這個變?yōu)榭赡埽驗樗赖讓佑布脚_的指令長度和其他特性。3.Java語言的關(guān)鍵特點有哪些?解答:簡單性平臺無關(guān)性面向?qū)ο笮园踩苑植际蕉嗑€程動態(tài)性1.4綜合題第2章Java基本的程序設(shè)計結(jié)構(gòu)2.1單項選擇題1

7、、下面哪一項在java中是非法的標(biāo)識符?()A. $userB. pointC. You&meD. _en dli ne解答:C45Java語言程序設(shè)計基礎(chǔ)教程2、若有定義int a=9,b=6;那么a>b的值是:()A. 0B. 1C. false D. true解答:D3、 執(zhí)行完以下代碼int x = new in t25;后,以下說明正確的是:()A. x24為 0 B. x24未定義C. x25為 0 D. x0為空解答:A4、 Java應(yīng)用程序的 main方法中有以下語句,則輸岀的結(jié)果是(。)int x=2,3, -8,7,9;int max=x0;for(int i

8、=1;i<x.length;i+)if(xi>max)max=xi;System.out.pri ntln( max);B. -8 A. 2D. 9 C. 7解答:D) /+x 的值是(5、設(shè) x = 1 , y = 2 , z = 3,則表達(dá)式 y+= z B. 3.5 A.3D. 5 C. 4A解答: )5、執(zhí)行System.out.println(5/4),這條代碼的輸岀結(jié)果是(B. 1.25 A. 1D. 0 C. 1.5A解答:6、下列語句有錯誤的是:()B. i nt b=new in t10;A. i nt a;D. i nt d=null; C. i nt c=ne

9、w in t;C解答:)7、下列語句有錯誤的是:(.in t b=new in t55; A. i nt a=new in t55;BD. int d=new int5,5;C. int c=new int55;D解答:種基本數(shù)據(jù)類型(中的、下列哪一個不屬于8Java8 ) B.char; A. double;D. Stri ng; C. i nt;56Java語言程序設(shè)計基礎(chǔ)教程解答:D9、以下數(shù)據(jù)類型存儲空間最大的是()。(A) byte ( B) long (C) float ( D) char解答:B10、System.out.println(_x0005_ + 2);的輸岀結(jié)果應(yīng)該是

10、()。A 52B7C2D5答案:A11 在類的定義中可以有兩個同名方法,每個方法的參數(shù)不同,這種現(xiàn)象稱為方法(D ) o(A)封裝 (B)繼承(C)覆蓋 (D)重載。)”,下面操作可以取得字符串長度的是(pzhu12 java中定義字符串String s= ” A.s.le ngth() B.s.le ngthC. s.size() D.len gth(s)解答:A13 指岀下列程序運行的結(jié)果(B)(很難)public class Example String str = new String(good);char ch = 'a', 'b', 'c&#

11、39; ;public static void main(String args) Example ex = new Example。;ex.cha nge(ex.str, ex.ch);System.out.pri nt(ex.str + and );System.out.pri nt(ex.ch);public void change(String str, char ch) str = est ok; ch0 = 'g'67語言程序設(shè)計基礎(chǔ)教程Javagood and abc A、good and gbc B、test ok and abc C、test ok and g

12、bcD、)較難)(14 .下面代碼的運行結(jié)果為:(Cimport java.io.*;import java.util.*;public class foopublic static void main (Str in g args)Stri ng s;System.out.pr intln(s= + s);s=” A代碼得到編譯,并輸岀“s=null” B代碼得到編譯,并輸岀“String s沒有初始化,代碼不能編譯通過C由于NullPointException異常D代碼得到編譯,但捕獲到)C15關(guān)于以下程序段,正確的說法是(;” + ” defString s1 = ” abc”.1s1)

13、;s2=new String (.2 String) if (s1= =s2.3” ); System.out.println( “ = = succeeded 4.if (s1.equals(s2) 5.);succeeded” System.out.println( “ .equals() 6.4與行6都將執(zhí)行 A、行 執(zhí)行,行6不執(zhí)行、行 B4 不執(zhí)行 、行C6執(zhí)行, 行4都不執(zhí)行、行6D、行4D )方法,ma in方法的返回類型是什么? (Java applicati on 16 .中的主類需包含 mai n floatB、intA 、voiddouble C、 D 78Java語言程

14、序設(shè)計基礎(chǔ)教程17 為一個boolean類型變量賦值時,可以使用(B)方式A、boolea n = 1;B、boolean a = (9 >= 10);C、潢汯慥??真;D、boolea n a = = false;18 .表達(dá)式(11+3*8)/4%3的值是(D )A、31 B、 0 C、 1 D、219.運算符優(yōu)先級別排序正確的是(A)(太難)A、由高向低分別是:()、!、算術(shù)運算符、關(guān)系運算符、邏輯運算符、賦值運算符;B、由高向低分別是:()、關(guān)系運算符、算術(shù)運算符、賦值運算符、!、邏輯運算符;C、由高向低分別是:()、算術(shù)運算符、邏輯運算符、關(guān)系運算符、!、賦值運算符;D、由高向

15、低分別是:()、!、關(guān)系運算符、賦值運算符、算術(shù)運算符、邏輯運算符;20下列值不為true的表達(dá)式有(C )。A、joh n = = joh nB、joh n. equals(joh n)C、joh n = joh nD、joh n. equals (new Strin g(joh n)21、下面的方法,當(dāng)輸入為2的時候返回值是多少?( D)(很難)public static int getValue(i nt i) int result = 0;switch (i) case 1:result = result + i;case 2:result = result + i * 2;case

16、3:result = result + i * 3;return result;A0B2C4D10答案:D 解析:注意這里 case后面沒有加break,所以從case 2開始一直往下運行語言程序設(shè)計基礎(chǔ)教程Java22、 下面有關(guān)for循環(huán)的描述正確的是( A )A、for循環(huán)體語句中,可以包含多條語句,但要用大括號括起來B、for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況C、在for循環(huán)中,不能使用break語句跳岀循環(huán)D、for循環(huán)是先執(zhí)行循環(huán)體語句,后進行條件判斷23、score是一個整數(shù)數(shù)組,有五個元素,已經(jīng)正確初始化并賦值,仔細(xì)閱讀下面代碼,程序運 行結(jié)果是(B )temp = score

17、0;for (i nt in dex = 1;i ndex < 5;i ndex+) if (scorei ndex < temp) temp = scorei ndex;A. 求最大數(shù) B.求最小數(shù)C.找到數(shù)組最后一個元素D.編譯岀錯26、2.2填空題1、 Java語言是一種完全的面向?qū)ο骭程序設(shè)計語言2、Stri ng s1= “ Chi na” ; intn=s1.le ngth( ); n 的值為 _5_3、 在Java語言中,基本數(shù)據(jù)類型包括: 整數(shù)類型、浮點類型、字符類型和布爾類型17、在Java的基本數(shù)據(jù)類型中,char型采用Uni code編碼方案,每個Un ico

18、de碼占用_2字節(jié)內(nèi)存空間,這樣,無論是中文字符還是英文字符,都是占用_2_字節(jié)內(nèi)存空間。910語言程序設(shè)計基礎(chǔ)教程Java的值是 _0,則表達(dá)式(x + + ) / 3 18、設(shè)x = 2。則執(zhí)行以下幾個語句后的輸岀結(jié)果是:120,int Myln tArray = 10, 20, 30, 40, 50, 60, 70 ;int s = 0;for (int i = 0; i < MylntArray.length; i+)if (i % 2 = 1)s += Myln tArrayi;System.out.pr intln( s);改變。數(shù)組元素的下標(biāo)總是不會 21、數(shù)組對象的長度在

19、數(shù)組對象創(chuàng)建之后,就0開始。從5,6來說,t.length 等于 _2, 22、對于數(shù)組 t0.length 等于 _3。2.3簡答題1、Java的基本數(shù)據(jù)類型有哪8種,每種類型的內(nèi)存空間分別是多少。2.4綜合題26、編程計算1020的整數(shù)的平方值,將結(jié)果保存在一個數(shù)組中。27、 編寫一個程序使之從鍵盤讀入10個整數(shù)存入整型數(shù)組a中,并輸岀這10個整數(shù)的最大值和最小值。import java.util.Scanner;public class lia nxi30 public static void main(String args) Scanner temp;float sum = new

20、float11;float max, min;for (int i = 0; i < 10; i+) out瀮楲瑮湬尨請輸入第一個數(shù)字(回車結(jié)束)System.:);in ); Scanner(System. temp = newStri ng a = temp .n extL in e();1011語言程序設(shè)計基礎(chǔ)教程JavaparseInt (a); /獲取輸入的字符串sumi = In teger. max = sum0;min = sum0;j = 1; j < 10; j+)(int for (max < sumj)ifmax = sumj;(min > su

21、mj)elseifmin = sumj;out System.pri ntln( max);out .pri ntl n(min); System. 10%31、如果我國經(jīng)濟以每年多少,多的速度保持穩(wěn)定增長,請編寫一個程序,計算每年達(dá)到少年可以實現(xiàn)總量翻兩番。class exA4_1 public static void main( Str ing args) int a=0;double i=0.10,sum=1;while(sum<=4)sum=(i+1)*sum;a+;+sum);第祓瑳浥漮瑵瀮楲瑮湬尨??年達(dá)到);年實現(xiàn)兩番需要祓瑳浥漮瑵瀮楲瑮湬尨?1112Java語言程序設(shè)計基

22、礎(chǔ)教程第3章類和對象3.1單項選擇題1、下列關(guān)于變量的敘述哪個是錯的?()A. 實例變量是類的成員變量。B. 在方法中定義的局部變量在該方法被執(zhí)行時創(chuàng)建。C. 實例變量用關(guān)鍵字 static聲明。D. 局部變量在使用前必須被初始化。解答:C2、 在Java語言中,下列哪個包是編譯器自動導(dǎo)入的?A. java.applet B. java .langC. java.io D. java.awt解答:E6、不允許作為類及類成員的訪問控制符的是(A. public B. privateC. static D. protected解答:C7、為AB類的一個無形式參數(shù)無返回值的方法method書寫方法頭

23、,使得使用類名 AB作為前綴就可以調(diào)用它,該方法頭的形式為()。A、static void method( )B、public void method()C、final voidmethod( )D、abstract void method()解答:A8、可以在下面代碼段 point x處寫入的是?()po int xpublic class In terest ing/do somethi ngA. String str;B. static int Pl=3.14;C. public class MyClass/do other thing D. import java.awt.*;解答:D

24、9、Java提供的許多類在不同的包中,使用下面哪個語句可以引入包中的類。1213語言程序設(shè)計基礎(chǔ)教程JavaA. package B. in cludeC. importD. add解答:C11、已知A類被打包在packageA , B類被打包在 packageB,且B類被聲明為 public,且有個成員變量x被聲明為protected控制方式C類也位于packageA包,且繼承了 B類。則以下說法正確的是:()A、A類的實例不能訪問到B、A類的實例能夠訪問到C、C類的實例可以訪問到D、C類的實例不能訪問到B類的實例B類一個實例的x成員B類一個實例的x成員B類的實例解答:C (太難)13、在J

25、ava中,關(guān)于final關(guān)鍵字的說法正確的是()A、如果修飾變量,則一旦賦了值,就等同一個常量。B、如果修飾類,則該類只能被一個子類繼承。C、如果修飾方法,則該方法不能在子類中被覆蓋。D、如果修飾方法,則該方法所在的類不能被繼承。 解答:A,C14、關(guān)于構(gòu)造方法以下說法錯誤的是(A)構(gòu)造方法名必須與類名一致(C)構(gòu)造方法是通過 new來調(diào)用(D )。(E)構(gòu)造方法可以重載(D)每個類都必須編寫構(gòu)造方法代碼15、關(guān)于類的定義以下說法錯誤(B )main方法(B)每個類中必須有一個( A )類16、在創(chuàng)建對象時必須( A)先聲明對象,然后才能使用對象 B)先聲明對象,為對象分配 內(nèi)存空間,然后才能

26、使用對象C)先聲明對象,為對象分配內(nèi)存空間,對對象初始化,然后才能使用對象D)上述說法都對B)17、在調(diào)用方法時,若要使方法改變實參的值,可以(B)用對象作為參數(shù)A)用基本數(shù)據(jù)類型作為參數(shù)B都不對 D) A 和和C) AB都對)D18、關(guān)于以下程序代碼的說明正確的是(HasStatic classx=100; static int private) args voidmain( Str ingpublic static);hs1= new HasStatic( HasStatichs1.x+;);HasStatic hs2=new HasStatic(1314Java語言程序設(shè)計基礎(chǔ)教程hs2

27、.x+;hs 仁new HasStatic();hs1.x+;HasStatic.x -;System.out.pri ntln( “ x= ” +x);A、5行不能通過編譯,因為引用了私有靜態(tài)變量B、10行不能通過編譯,因為x是私有靜態(tài)變量C、程序通過編譯,輸岀結(jié)果為:x=103D、程序通過編譯,輸岀結(jié)果為:x=10219、以下關(guān)于構(gòu)造函數(shù)的描述錯誤的是(A )oA、 構(gòu)造函數(shù)的返回類型只能是void型。B、構(gòu)造函數(shù)是類的一種特殊函數(shù),它的方法名必須與類名相同。C、構(gòu)造函數(shù)的主要作用是完成對類的對象的初始化工作。D、一般在創(chuàng)建新對象時,系統(tǒng)會自動調(diào)用構(gòu)造函數(shù)。20、 Java中,在如下所示的

28、Test類中,共有(C )個構(gòu)造方法。public class Testprivate int x;public Test() x=35; public void Test(double f) This.x=(i nt)f; public Test(Stri ng s)21、在Java中關(guān)于構(gòu)造方法,下列說法錯誤的是(C )A、構(gòu)造方法的名稱必須與類名相同B、構(gòu)造方法可以帶參數(shù)C、構(gòu)造方法不可以重載D、構(gòu)造方法絕對不能有返回值22、在Java語言中,下列關(guān)于類的繼承的描述,正確的是( B)A、一個類可以繼承多個父類B、 一個類可以具有多個子類C、子類可以使用父類的所有方法D、子類一定比父類有更

29、多的成員方法1415Java語言程序設(shè)計基礎(chǔ)教程23、分析選項中關(guān)于 Java中this關(guān)鍵字的說法正確的是(A )A、this關(guān)鍵字是在對象內(nèi)部指代自身的引用B、this關(guān)鍵字可以在類中的任何位置使用C、this關(guān)鍵字和類關(guān)聯(lián),而不是和特定的對象關(guān)聯(lián)D、同一個類的不同對象共用一個 this 24、在Java接口中,下列選項中有效的方法聲明是( A)A、 public void aMethod();B、public fin al void aMethod();C、protected void aMethod();D、private void aMethod();25、下列選項中關(guān)于 Java中

30、super關(guān)鍵字的說法正確的是(A )。A、 super關(guān)鍵字是在子類對象內(nèi)部指代其父類對象的引用B、super關(guān)鍵字不僅可以指代子類的直接父類,還可以指代父類的父類C、子類通過super關(guān)鍵字只能調(diào)用父類的方法,而不能調(diào)用父類的屬性D、子類通過super關(guān)鍵字只能調(diào)用父類的屬性,而不能調(diào)用父類的方法3.2填空題1、在Java程序中,通過類的定義只能實現(xiàn) 單重繼承 ,但通過接口的定義可以實現(xiàn)多2、抽象(abstract) 須在抽象類之中定義。多重繼承。_方法是一種僅有方法頭,沒有具體方法體和操作實現(xiàn)的方法,該方法必_final方法是不能被當(dāng)前類的子類重新定義的方法。3、 面向?qū)ο蟪绦蛟O(shè)計的三個

31、特征是 封裝、多態(tài)、繼承4、 Java是面向?qū)ο笳Z言,類是客觀事物的一抽象,而對象是類的一實例。5、 如果在子類中想使用被子類隱藏的父類成員變量或方法,就可以使用關(guān)鍵字_super。6、Java中有一種叫作構(gòu)造方法的特殊方法用來對類的對象成員進行初始化。7、 JAVA語言中提供了兩種類型的字符串類來處理字符串,它們是_String_和_StringBuffer 類1516Java語言程序設(shè)計基礎(chǔ)教程8、 Java語言中,所有的類都是 Object的子類,Java的窗口通常是 JFrame_的子類,抽象_類只能定義但不能被實例化,_最終_類不能被繼承9、 一般Java程序的類體由兩部分組成:一部

32、分是一屬性_,另一部分是一方法_10、分別用class_關(guān)鍵字來定義類,用 _new_關(guān)鍵字來分配實例存儲空間。11、 Java中類成員的限定詞有以下幾種:_ private_, public, protected,缺省_。其中,_public 的限定的范圍最大。類中限定為_ private 的成員,只能被這個類本身內(nèi)部訪問。12、 Java類中,如果類的定義者沒有顯式的定義任何構(gòu)造方法,系統(tǒng)將自動提供一個無參默 認(rèn)一構(gòu)造方法。13、在子類中定義與父類的相同的方法,若在多個子類中定義相同的方法,則可以調(diào)用不同子類中的相同方法而實現(xiàn)不同的功能,這實現(xiàn)了程序運行時的 多態(tài)。3.3簡答題1. 簡單闡

33、述方法的重載和方法的重寫之間的區(qū)別解答:重寫是子類的方法覆蓋父類的方法,要求方法名和參數(shù)都相同重載是在同一個類中的兩個或兩個以上的方法,擁有相同的方法名,但是參數(shù)卻不相同2、簡述實例變量和類變量的區(qū)別。static的變量;實例變量也叫對象變量,即沒解答:類變量也叫靜態(tài)變量,也就是在變量前加了加static的變量;區(qū)別在于:類變量是所有對象共有,其中一個對象將它值改變,其他對象得到的就是改變后的結(jié)果;而實例變量則屬對象私有,某一個對象將其值改變,不影響其他對象;2、簡述實例方法和類方法的區(qū)別解答:實例方法可以對當(dāng)前對象的實例變量進行操作,也可以對類變量進行操作,實例方法由實例對象調(diào)用。但類方法不

34、能訪問實例變量,只能訪問類變量。類方法可以由類名直接調(diào)用,也可由實例對象進行調(diào)用。類方法中不能使用this或super關(guān)鍵字。3、面向?qū)ο蟮娜齻€基本特征是什么,分別簡單介紹每個特征。1617Java語言程序設(shè)計基礎(chǔ)教程解答:三大特性是:封裝,繼承,多態(tài)。封裝性就是把對象的屬性和服務(wù)結(jié)合成一個獨立的單位,并盡可能隱蔽對象的內(nèi)部細(xì)節(jié)。特殊類的對象擁有其一般類的全部屬性與服務(wù),稱作特殊類對一般類的繼承。對象的多態(tài)性是指在一般類中定義的屬性或服務(wù)被特殊類繼承之后,可以具有不同的數(shù)據(jù)類型或表現(xiàn)岀不同的行為。這使得同一個屬性或服務(wù)在一般類及其各個特殊類中具有不同的語義。4、簡單闡述成員變量和局部變量的區(qū)別

35、。解答:1)成員變量在整個類內(nèi)都有效,局部變量只在定義它的方法內(nèi)有效。2)成員變量又分為實例成員變量(簡稱實例變量)和類變量(也稱靜態(tài)變量),如果成員變量的類型前面加上關(guān)鍵字 static,這樣的成員變量稱為類變量或靜態(tài)變量。3)如果局部變量的名字與成員變量的名字相同,則成員變量被隱藏,也就是說,這個成員變量在這個方法內(nèi)暫時失效。這時如果想在該方法內(nèi)使用成員變量,必須使用關(guān)鍵字this。5、簡述對象的引用和實體。解答:當(dāng)用類創(chuàng)建一個對象時,類中的成員變量被分配內(nèi)存空間, 這些內(nèi)存空間稱為該對象的實 體,而對象中存放著引用,以確保實體由該對象操作使用。沒有實體的對象稱為空對象,空對象不能使用,即

36、不能讓一個空對象去調(diào)用方法產(chǎn)生行為。6、簡述this關(guān)鍵字的意義,以及它在成員方法和構(gòu)造方法中如何使用。解答:this是Java的一個關(guān)鍵字,表示某個對象。this可以岀現(xiàn)在實例方法和構(gòu)造方法中,但不可以岀現(xiàn)在類方法中。this可以岀現(xiàn)在實例方法和構(gòu)造方法中,但不可以岀現(xiàn)在類方法中。this關(guān)鍵字出現(xiàn)在類的構(gòu)造方法中時,代表使用該構(gòu)造方法所創(chuàng)建的對象。實例方法必須通過對象來調(diào)用,當(dāng)this關(guān)鍵字岀現(xiàn)在類的實例方法中時,代表正在調(diào)用該方法的當(dāng)前對象。成員函數(shù)中定義了和成員變量中相同的變量時,引用成員變量要用 this;構(gòu)造函數(shù)中調(diào)用同一個類的其他構(gòu)造函數(shù)時用 this。7、簡單描述Java的參數(shù)

37、傳值中的兩種方式,基本數(shù)據(jù)類型參數(shù)的傳值和引用類型參數(shù)的傳值?解答:在基本數(shù)據(jù)類型參數(shù)的傳值中,基本數(shù)據(jù)類型的參數(shù)向該參數(shù)傳遞的值的級別不可以高于該參數(shù)的級別。在引用類型參數(shù)的傳值中,Java的引用類型數(shù)據(jù)包括對象、數(shù)組和接口,當(dāng)參數(shù)是引用類型時,“傳值”傳遞的是變量的引用而不是變量所引用的實體。如果改變參數(shù)變量所引用的實體,就會導(dǎo)致原變量的實體發(fā)生同樣的變化,但是如果改變參數(shù)的引用不會影響向其傳值的變量的引用。1718Java語言程序設(shè)計基礎(chǔ)教程8、基本數(shù)據(jù)類型和對象作為參數(shù)傳遞的不同?解答:(1) 基本數(shù)據(jù)類型作為參數(shù)在方法中傳遞的是值傳遞。(2) 對象是引用傳遞,當(dāng)對象作為參數(shù)傳遞時,傳

38、遞的是對象的地址3.4綜合題x,y,z分別表示三維空間1、定義一個“點”(Point)類用來表示三維空間中的點,類體的成員變量的坐標(biāo)。類體中具有如下成員方法的定義:1) 構(gòu)造方法Point ()可以生成具有特定坐標(biāo)的點對象。2) setX(), setY(),setZ()為可以設(shè)置三個坐標(biāo)的方法。3. ) getDistance()為可以計算該點距離原點距離平方的方法。解答:class Poi ntdouble x,y,z ;Poin t(double _x,double _y,double _z)x = _x ;y = _y ;z =_z ;void setX(double _x)x=_x

39、;void setY(double _y)y=_y ;void setZ(double _z)z=_z ;double getDista nce()retur n ( x*x+y*y+z*z);1819語言程序設(shè)計基礎(chǔ)教程Java2、編寫一個Java應(yīng)用程序Test類,實現(xiàn)成員方法 max(a,b)的重載。具體要求如下:a) 編寫void max(int a,int b)成員方法,對兩個整數(shù)進行大小的比較,輸岀打印較大的那個整數(shù)。b) 編寫void max(float afloat b)成員方法,對兩個 float數(shù)進行大小的比較,輸岀打印較大的那個 float 數(shù)。c) 編寫void max

40、(double a,double b)成員方法,對兩個 double數(shù)進行大小的比較,輸岀打印較大 的那個double數(shù)。public class Testvoid max(i nt a,i nt b)System.out.pri ntln( a>b ? a:b);void max(float a,float b)System.out.pri ntln( a>b ? a:b); void max(double a, double b)System.out.pri ntln( a>b ? a:b); public static void main( Str in g args)

41、Test t =new Test();t.max(3,4);3、編寫一個矩形類對數(shù)學(xué)中的矩形進行抽象描述,并具有方法可以計算矩形的周長和面積,具 體分為以下三個子任務(wù)完成。(1) 創(chuàng)建 Rectangle 類,添加屬性 width、height,并定義構(gòu)造方法Rectangle(double _width, double _height);(2) 在Rectangle類中添加兩種方法computCircum()和computArea()分別計算矩形的周長和面積;(3) 編程利用Rectangle對象輸岀一個 30*40的矩形的周長和面積。 解答:public class TestRectang

42、 public static void main(String args) / TODO Auto-generated method stubRectangle rect1 = new Rectangle(20,30);1920Java語言程序設(shè)計基礎(chǔ)教程.System. out .println(putArea();System. out .println(putCircum();Rectangle class width,height ; doubleRectangle()width = 0 ;height = 0 ;Rectangle( double _width,double _hei

43、ght) width = _width ;height = _height ;computArea() doublereturn width*height ; double computCircum()return 2*(width+height);第4章繼承、接口和內(nèi)部類4.1單項選擇題1、 Java中用于定義接口的關(guān)鍵字是()A、importB、packageC、classD、in terface解答:D2、 以下關(guān)于abstract的說法,正確的是()語言程序設(shè)計基礎(chǔ)教程Java只能修飾類、abstractA 只能修飾方法、 abstractB方法類中必須有 abstractC、abst

44、ract修飾方法所在的類必須用abstractD、abstarctD解答:)3、下列哪種說法是正確的(A、私有方法不能被子類覆蓋。、子類可以覆蓋超類中的任何方法。BC、覆蓋方法可以聲明自己拋出的異常多于那個被覆蓋的方法。D、覆蓋方法中的參數(shù)清單必須是被覆蓋方法參數(shù)清單的子集。A解答:)、關(guān)于類繼承的說法,正確的是(4類允許多重繼承 A、Java接口允許多繼承B、Java、接口和類都允許多繼承C、接口和類都不允許多繼承DB解答: 。5、關(guān)于抽象類,正確的是A.抽象類中不可以有非抽象方法B.某個非抽象類的父類是抽象類,則這個子類必須重載父類的所有抽象方法可以用抽象類直接去創(chuàng)建對象C.接口和抽象類是

45、同一個概念D.B解答:和抽象類 B的定義如下:8、 抽象類 Aabstract class A abstract int geti nfo();public class B exte nds A private int a = 0;public int get info() return a;public static void main( Str ing args) b = new B(); BSystem.out.pr intln( b.geti nfo();)關(guān)于上述代碼說明正確的是(。2122Java語言程序設(shè)計基礎(chǔ)教程A.輸岀結(jié)果為0B.通過編譯但沒有輸岀任何結(jié)果C.第5行不能通過編

46、譯D.程序第2行不能通過編譯解答:A9、下面程序的運行結(jié)果是 class ex4_5_11_A protected static int cou nt = 0;public ex4_5_11_A() cou nt+;class ex4_5_11_B exte nds ex4_5_11_A public ex4_5_11_B() cou nt+;class ex4_5_11 public static void main( Stri ng args) ex4_5_11_B x = new ex4_5_11_B();System.out.pr in tl n( cou nt= + x.cou nt

47、);A. cou nt=1B. cou nt=2C. cou nt=3D. cou nt=4解答:B10、設(shè)有下面兩個類的定義:class Pers on long id; /身份證號String name; / 姓名class Stude nt exte nds Pers on int score; /入學(xué)總分int getScore()return score;問:類Person和類Student的關(guān)系是( )A、包含關(guān)系B、繼承關(guān)系C、關(guān)聯(lián)關(guān)系D、無關(guān)系,上述類定義有語法錯誤2223Java語言程序設(shè)計基礎(chǔ)教程new解答:B11、以下程序代碼錯誤的是(B)°abstract c

48、lass Pclass A exte nds Pabstract class B exte nds P(A) P p=new A();(B)P p=new B();(C) A a=new A();(D)P p=new P()void foo();12、下面是People和Child類的定義和構(gòu)造方法,每個構(gòu)造方法都輸岀編號。在執(zhí)行Child(mike)的時候都有哪些構(gòu)造方法被順序調(diào)用?請選擇輸岀結(jié)果(D)class People Stri ng n ame;public People。System.out.pri nt(1);public People(Str ing n ame) Syste

49、m.out.pri nt(2); this. name = n ame;class Child exte nds People People father;public Child(Stri ng n ame) System.out.pri nt(3); this. name = n ame;father = new People (n ame + :F);public Child() System.out.pri nt(4);D 132A312B 32C 4322324Java語言程序設(shè)計基礎(chǔ)教程13、選項中哪一行代碼可以替換題目中/add code here而不產(chǎn)生編譯錯誤?(public

50、 abstract class MyClass public int con st Int = 5;/add code herepublic void method() A public abstract void method(i nt a);B con st Int = con st Int + 5;C public int method();D public abstract void ano therMethod() A、in terfaceB void pri nt() B、abstractin terfaceB void prin t() C、abstractin terfaceB

51、exte nds A1,A2 abstract voidprin t();D、in terfaceBvoidpr in t();15、以下哪項是接口的正確定義?(DA1、A2為已定義的接口16、A派生岀子類B,B派生岀子類C,并且在1.AaO=newA();2.Aa1 =newB();3.Aa2=newC();問以下哪個說法是正確的?(D )Java源代碼中有如下聲明:A、只有第1行能通過編譯B、 第1、2行能通過編譯,但第3行編譯岀錯C、 第1、2、3行能通過編譯,但第2、3行運行時岀錯D、 第1行、第2行和第3行的聲明都是正確的17、假設(shè)A類有如下定義,設(shè)a是A類的一個實例,下列語句調(diào)用哪

52、個是錯誤的? (C )class A int i;static Stri ngs;void method1() static void method2() 2425語言程序設(shè)計基礎(chǔ)教程JavaB、a.method1(); ;、System.out.println(a.i)A A.method2() D、C、A.method1();)o18、以下關(guān)于繼承的敘述正確的是(AJava中類只允許單一繼承A、在 Java中一個類只能實現(xiàn)一個接口B、在中一個類不能同時繼承一個類和實現(xiàn)一個接口C、在Java中接口只允許單一繼承、在JavaD19、以下關(guān)于抽象類和接口的說法錯誤的是( E ) Java語言中表示的是一種繼承關(guān)系,一 個類只能使用一次繼承。但是一 A、抽象類在 個類卻可以實現(xiàn)多個接口。在抽象類中可以沒有抽象方法B、實現(xiàn)抽象類和接口的類必須實現(xiàn)其中的所有方法,除非它也是抽象類。接口中的、C 方法都不能被實現(xiàn)所以實現(xiàn)類中不 public st

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論