【文章內(nèi)容簡介】
b 的值為____。 9.已知 sb 為 StringBuffer 的一個實例,且 sb= abcde ,則 sB delete(1,2)后 sb 的值為 ____。 10. 用 for 循環(huán)求一維整型數(shù)組 a 數(shù)組的所有元素之和的語句段是__________。 ,完成程序填空。 import javA 。 import javA 。 public class SumArray extends Applet { int a[] = { 1, 3, 5, 7, 9, 10 }。 int total。 public void init() { total = 0。 for ( int i = 0。 ___________。 i++ )18 total=______________。 } public void paint( Graphics g ) { ( Total of array elements: +total, 25, 25 )。 } } , 完成程序填空。 import javA 。 import javA 。 public class SumOfArray _______ Applet { public void paint( Graphics g ) { int a[] = { 1, 3, 5, 7, 9, 10 }。 int total=0。 for ( int i = 1。 i A length。 _______ ) total+=a[i]。 ( Total of array elements: + total, 25, 25 )。 } } 四、編程題 1.編寫自定義方法生成 k 個 50~100 之間的隨機整數(shù),再另寫一個輸出方法。在應(yīng)用程序的 main( )方法中調(diào)用這兩個方法,生成一個整型數(shù)組并輸出該數(shù)組的所有元素。 2.編寫一個 Application 程序,比較命令行中給出的兩個字符串是否相等,并輸出比較的結(jié) 果。 3.請編寫一個 Application 實現(xiàn)如下功能:接受命令行中給出的一個字母串,先將該串原樣 輸出,然后判斷該串的第一個字母是否為大寫,若是大寫則統(tǒng)計該串中大寫字母的個數(shù),并將 所有大寫字母輸出;否則輸出信息串”第一個字母不是大寫字母!”。 4.一個應(yīng)用程序,接受用戶輸入的一行字符串,統(tǒng)計字符個數(shù),然后反序輸出。 第六章面向?qū)ο缶幊?一、判斷題 ,就能創(chuàng)建對象。( ) private 實例變量賦值。( )19 。( ) ,必須清楚地在其面前標(biāo)上訪問權(quán)限修飾符。( ) 程序中的參數(shù)傳遞都是把參數(shù)值傳遞給方法定義中的參數(shù)。 ,成員訪問權(quán)限修飾符不能多次出現(xiàn)。( ) 操作符動態(tài)地為對象按其指定的類型分配內(nèi)存,并返回該類型的一個引用。 ( ) public,而類的實例變量一般也設(shè)為 public。( ) 。( ) ,可以訪問此類的成員。( ) protected 的類成員只能被此類中的方法訪問。( ) ,但靜態(tài)成員共享相同的內(nèi)存空間。( ) 。( ) protected 的類成員可以被此類作用域中的任何對象訪問。( ) void 來表示,也可以不加。( ) 二、選擇題 1. 下面對對象概念描述錯誤的是:( ) A 操作是對象的動態(tài)屬性 B 任何對象都必須有繼承性 C 對象間的通訊靠消息傳遞 D 對象是屬性和方法的封裝體 2.編譯并運行下面的程序,運行結(jié)果為:( ) public class A { public static void main(String[] args) { A a=new A(); (8); } void method(int i) { (“int: “+i); } void method(long i) { (“l(fā)ong: “+i); } } A 程序可以編譯運行,輸出結(jié)果為 int:820 B 程序可以編譯運行,輸出結(jié)果為 long:8 C 程序有編譯錯誤,因為兩個 method()方法必須定義為靜態(tài)(static)的 D 程序可以編譯運行,但沒有輸出 3.下面關(guān)于類的說法不正確的是:( ) A 類是 Java 語言中的一種復(fù)合數(shù)據(jù)類型 B 類中不包含數(shù)據(jù)變量和方法 C 類是對所有具有一定共性的對象的抽象 D Java 語言的類只支持單繼承 4.能作為類及其成員的修飾符是:( ) A interface B class C protected D public 5.設(shè) x、y 均為已定義的類名,下列聲明對象 x1 的語句不可能正確的是:( ) A public x xl=new y()。 B public y xl=new x()。 C x xl=new x()。 D x xl=x()。 6.面向?qū)ο蟪绦蛟O(shè)計技術(shù)的特點是:( ) A 可重用性 B 可維護(hù)性 C 表示方法的一致性 D 可重用性、可維護(hù)性、表示方法的一致性 7.下列方法定義中,方法頭不正確的是:( ) A public static x(double a){…} B public static int x(double y){…} C void x(double d) D public int x(){…} 8.設(shè)已聲明了一個類 A 的兩個對象 al、 a2,為了初始化 a1 和 a2,下面語句正確的是:( ) A al=new()。 a2=new()。 B al=A new()。 a2=A new()。 C al,a2=new A()。 D al=new A()。 a2=new A()。 9.構(gòu)造方法何時被調(diào)用?( ) A 類定義時 B 使用對象的變量時 C 調(diào)用對象方法時 D 創(chuàng)建對象時21 10.下列哪個類聲明是正確的?( ) A public abstract class Car{…} B abstract private move(){…} C protected private number。 D abstract final class Hl{…} 11.下列不屬于面向?qū)ο蟪绦蛟O(shè)計的基本特征的是:( ) A 抽象 B 封裝 C 繼承 D 靜態(tài) 12.請看下面的程序段 class Person { String name,department。 int age。 public Person(String n) { name = n。 } public Person(String n,int a) { name = n。 age = a。 } public Person(String n,String d,int a) { //doing the same as two arguments version of constructer //including assignment name=n,age=a } } 下面那一選項可以添加到“//doing the same……”處:( ) A Person(n,a) B this(Person(n,a)) C this(n,a) D this() 13.( )是一個特殊的方法,用于對類的實例變量進(jìn)行初始化。 A 終止函數(shù) B 構(gòu)造函數(shù) C 重載函數(shù) D 初始化函數(shù) 14.關(guān)于變量和它們范圍的說法,正確的是:( ) A 實例變量是類的成員變量 B 實例變量要用關(guān)鍵字 static 來聲明 C 在一個方法執(zhí)行時,定義在該方法的局部變量才被創(chuàng)建 D 局部變量必須在它們使用前初始化 15.請看下面的程序段 class Test{22 private int m。 public static void fun(){ //some code… } } 方法 fun()如何來訪問變量 m:( ) A 將 private int m 改成 protected int m B 將 private int m 改成 public int m C 將 private int m 改成 static int m D 將 private int m 改成 int m 16.在 Java 中,方法 main()將返回一個( )值。 A String B int C char D void 17.有一個類 A,對于其構(gòu)造函數(shù)的聲明正確的是( ) A void A(int x){…} B public A(int x){…} C A A(int x){…} D int A(int x){…} 18.請看下面的程序段 public class Test { long a[ ] = new long[10]。 public static void main(String arg[ ]) { System .out .println(a[6])。 } } 那一個選項是正確的:( ) A 不輸出任何內(nèi)容 B 輸出 0 C 當(dāng)編譯時有錯誤出現(xiàn) D 當(dāng)運行時有錯誤出現(xiàn) 19.關(guān)鍵字( )表明一個對象或變量在初始化后不能修改。 A extends B final C this D finalizer 20.聲明為 static 的方法不能訪問( )類成員。23 A 超類 B 子類 C 非 static D 用戶自定義類 三、簡述題 ?類和對象有什么關(guān)系?用類的概念帶來什么優(yōu)點? ?什么叫類變量?它們之間的區(qū)別是什么? ? 程序中使用的類分為那兩種?什么是系統(tǒng)定義的類?什么是用戶定義自定義類? ,如果一個方法沒有返回值,應(yīng)如何調(diào)用? , 其有何區(qū)別, 什么情況下用傳值方式, 什么情況下用引用方式? 四、編程題 1.定義了一個學(xué)生的類 Student,包括成員變量“學(xué)號” 、 “班號” 、 “姓名” 、 “性別” 、 “年齡” , 成員方法: “獲得學(xué)號” 、 “獲得班號” 、 “獲得性別” 、 “獲得姓名” 、 “獲得年齡” 。請為 Student 類定義構(gòu)造函數(shù)初始化所有的成員變量。增加一個方法 public String toString()把 Student 類對象的所有信息組合成一個字符串。 2.構(gòu)造函數(shù)是否可以被重載?試舉例。 3.構(gòu)造一個類來描述屏幕上的一個點,該類的構(gòu)成包括點的 x 和 y 兩個坐標(biāo),以及一些對點 進(jìn)行的操作,包括:取得點的坐標(biāo)值,對點的坐標(biāo)進(jìn)行賦值,編寫應(yīng)用程序生成該類的對象并 對其進(jìn)行操作。 4.編程創(chuàng)建一個 Box 類,在其中定義三個變量表示一個立方體的長、寬、高,再定義一個方 法 setDemo 來對這 3 個變量進(jìn)行初始化,然后定義一個方法來求立方體的體積。創(chuàng)建一個對 象,求給定尺寸的立方體的體積。 5.定義一個類實現(xiàn)銀行帳戶的概念,包括的變量有“帳號”和“存款余額” ,包括的方法有“存 款” 、 “取款”和“查詢余額” 。定義主類,創(chuàng)建帳戶類的對象,并完成相應(yīng)操作。 第七章類的封裝 一、判斷題 signature 重新定義一個超類方法,這稱為方法的覆蓋 (override)。( ) 修飾的方法是不能被子類覆蓋的,只能被覆蓋。( ) final的類不能是超類。( ) ,子類會以恰當(dāng)?shù)姆绞街匦露x它。( )24 , 完成對子類中的超類實例變量 的初始化,則子類可以繼承超類的構(gòu)造函數(shù)。( ) ,那么默認(rèn)超類就是 Object 類。( ) 類型的實例變量或方法只能由聲明該變量或方法的類本身及其子類訪問。( ) 的每個子類的構(gòu)造函數(shù)都要顯式的調(diào)用它的直接超類的構(gòu)造函數(shù)。( ) 。( ) 。( ) 二、選擇題 1.為了區(qū)分重載多態(tài)中同名的不同方法,要求:( ) A 參數(shù)名不同 B 返回值類型不同 C 采用不同的形式參數(shù)列表 D 選項 A B C 都對 2.在某個類中定義一個方法:void GetSort(int x),以下關(guān)于能否作為這個方法的重載錯 誤的是:( ) A void GetSort(float x){x*=x。} B int GetSort(double y){ return(int)(2*y)。 } C double GetSort(int x,int y){return x+y。 } D 都不能 3.下列對繼承的說法,哪個是正確的:( ) A 子類只能繼承父類 public 方法和狀態(tài) B 子類能繼承父類的非私有方法和狀態(tài) C 子類能繼承父類的所有方法和狀態(tài) D 子類只能繼承父類的方法,而不繼承狀態(tài) 4.定義類 A 如下: class A { int a,b,c。 public void B(int x,int y,int z){a=x。 b=y。 c=z。 } } 下面對方法 B()的重載哪些是正確的:( ) A public void A(int xl,int yl,int z1){ a=x。 b=y。 c=z。 } B public void B(int x1,int yl,int z1){ a=x。 b=y。 c=z。} C public void B(int x,int y){ a=x。 b=y。 c=0。} D public B(int x,int y,int z){a=x。 b=y。 c=z。 } 5