《java程序設(shè)計》期末復(fù)習(xí)題
《《java程序設(shè)計》期末復(fù)習(xí)題》由會員分享,可在線閱讀,更多相關(guān)《《java程序設(shè)計》期末復(fù)習(xí)題(64頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 2014-2015 第二學(xué)期 《java 程序設(shè)計》復(fù)習(xí)題 可能題型:選擇、填空、簡答、判斷 1 目 錄 練習(xí)一 ( 兩類 java
2、程序 ) ................................................................................................. 3 練習(xí)二 ( 數(shù)據(jù)類型 ) ........................................................................................................... 3 練習(xí)三 ( 運(yùn)算符與表達(dá)式 ) .......................................
3、........................................................ 4 練習(xí)四 ( 條件 , 分支語句 ) ................................................................................................. 5 練習(xí)五 ( 條件 , 分支語句 ) .........................................................................................
4、........ 7 練習(xí)六 ( 控制結(jié)構(gòu)與循環(huán)體內(nèi)的跳轉(zhuǎn) ) ........................................................................... 9 練習(xí)七(方法) ............................................................................................................. 10 練習(xí)八 ( 方法重載 ) .................................
5、........................................................................ 10 練習(xí)九 ( 數(shù)組 ) ................................................................................................................. 11 練習(xí)十 ( 繼承 : 類 , 屬性和方法的繼承 , 屬性隱藏和方法覆蓋 , 構(gòu)造函數(shù)的繼承 , 父類 對象和子類對象的關(guān)系 ) ..........
6、..................................................................................... 12 練習(xí)十一 ( 多態(tài) : 抽象類和抽象方法 , 最終類和最終方法 , 接口 ) ............................... 17 練習(xí)十二(異常處理) ................................................................................................. 18 練習(xí)十
7、三(雜) ............................................................................................................. 20 練習(xí)十四( io ) ............................................................................................................. 23 練習(xí)十五(線程) ...............................
8、.......................................................................... 24 練習(xí)十六(網(wǎng)絡(luò)) ......................................................................................................... 26 練習(xí)十七( gui ) ...........................................................................
9、................................ 28 練習(xí)十八(雜) ............................................................................................................. 30 2 練習(xí)一 ( 兩類 java 程序 ) 1. Java 是低級語
10、言還是高級語言 ( 高級 ) 2. Java 是面向?qū)ο蟮某绦蛟O(shè)計語言嗎( 是) 3. Java 是編譯型的計算機(jī)語言還是解釋型的計算機(jī)語言 ( 解釋型 ) 4. Java 語言的程序設(shè)計包含哪 3 個步驟 ( 編寫源程序 , 編譯源程序 , 解釋運(yùn)行編譯后形成的字節(jié)碼文件 ) 5. Java 源程序文件的后綴是什么 (. java ) 6. Java 源程序經(jīng)編譯后生成什么文件 其后綴是什么 ( 字節(jié)碼文件 ,.class) 7. Java 程序有哪兩類 ( java 應(yīng)用程序 , java 小程序 ) 8. 類的定義由哪
11、兩部分組成 ( 類頭和類體 ) 9. 方法的定義由哪兩部分組成( 方法頭和方法體 ) 10. 一個 Java 源程序中可以有多個公共類 ( 主類 ) 嗎 ( 不能 ) 11. 一個 Java 源程序中可以有多個類嗎 若有多個類時 , 程序文件名是什么 ( 能 , 與公共類名 一致 ) 12. Java 應(yīng)用程序 (Application) 的主類的類頭應(yīng)如何寫( public class 類名) , 它的主 方法的方法頭應(yīng)如何寫 (public static void main(String args[])), Appl
12、ication 的入 口在哪 (main()) 13. Java 應(yīng)用程序 (Application) 的主類中一定要有主方法 (main) 嗎 ?是 14. Java 中的的字符使用什么編碼 (unicode) 15. 在 Java 語言中 , 將源代碼翻譯成 ____________ 時產(chǎn)生的錯誤稱為編譯錯誤 , 而將程序在 運(yùn)行中產(chǎn)生的錯誤稱為運(yùn)行錯誤 .( 字節(jié)碼 ) 16. 為了使包 sos 中的所有類在當(dāng)前程序中可見 , 可以使用的語句是 ( A ). A)import sos.*; B)package sos.*;
13、 C)sos import; D)sos package; 17. 下面關(guān)于封裝性的描述中,錯誤的是( d )。 A.封裝體包含屬性和行為 B .被封裝的某些信息在外不可見 C.封裝提高了可重用性 D .封裝體中的屬性和行為的訪問權(quán)限相同 練習(xí)二 ( 數(shù)據(jù)類型 ) 1. 以下的選項中能正確表示 Java 語言中的一個整型常量的是 ( B ). A) 12. B) -20 C) 1,000 D) 4 5 6 2. 下列的變量定義中 , 錯誤的是 ( A). A) int 6_a; B) float a; C) int i=Integer.
14、MAX_VALUE; D) static int i=100; 3. 下列的變量定義中 , 錯誤的是 (A). A) int a;b; B) float a,b1=1.23f; C) char ch1=d,ch2=\; D) public int i=100,j=2,k; 4. 下列的變量定義中 , 錯誤的是 (D). A) int _a=123; B) long j=12345678900L; C) int m,n; D) static i=100; 5. 下列的變量定義中 , 正確的是 (D). A) boolean b1="true"; B) flo
15、at x=6.6; C) byte i=200; D) double y; 6. 以下字符常量中不合法的是 (C). 3 A) @ B) & C) "k" D) 整 7. 以下的選項中能正確表示 Java 語言中的一個整型常量的是 ( A ). A) Integer.MAX_VALUE B) 8.8F C) 2.0E16 D)true 8. 下列最終屬性 ( 常量 )i 的定義中 , 正確的是 (C). A) static final double i; B) abstract final int i=8;
16、C) final double i=3.14159; D) float i=1.2f; 9. 以下的選項中能正確表示 Java 語言中的一個 double 型常量的是 (C). A) Float.MIN_VALUE B) 1.8e-6F C) 2.0 D)abcf 10. 以下的變量定義語句中 , 合法的是 (C). A) float $_*5= 3.4F; B) byte b1= 15678; C) double a =Double. MAX_VALUE; D) int _abc_ = 3721L; 11. 以下字符常量中不合法的是 (C).
17、A) | B) \ C) "\n" D) 我’ 12. Java 語言中的浮點型數(shù)據(jù)根據(jù)數(shù)據(jù)存儲長度和數(shù)值精度的不同 , 進(jìn)一步分為哪兩種具體 類型 , 各占二進(jìn)制的多少位 (float 32 位 ,double 64 位 ) 13. Java 的復(fù)合數(shù)據(jù)類型有那幾種 ( 類 , 數(shù)組和接口 ) 14. 在 Java 語言中 , 邏輯常量只有哪兩個值 (true,false) 15. 字符串 "\a\"的長度是幾 ( 即有幾個字符 ) (3 個字符 ) 16. Java 語言中的邏輯變量可以和整型變量相互強(qiáng)制轉(zhuǎn)換嗎 ( 不能 ) 17.
18、在程序中可對用 final 修飾的變量的值進(jìn)行更改嗎( 不能 ) 18.Java 的字符類型采用的是 Unicode 編碼方案, 每個 Unicode 碼占用 (B )個比特位。 A 、 8 B 、 16 C 、32 D 、 64 練習(xí)三 ( 運(yùn)算符與表達(dá)式 ) 1. 已定義 a 為 int 類型的變量 . 以下選項中 , 合法的賦值語句是 ( B ). A) a +1==2; B) a+=a*6; C) a=8.8f; D) int a=8; 2. 以下選項中的變量都已正確定義, 不合法的表達(dá)式是 (C ). A) a >= 4 = =
19、b3; B)t=!false; C)t=(true|false); D)t=(2==3) true:false; 3. 以下變量均已正確定義并賦值 , 下面符合 Java 語言語法的賦值語句是 (A ). A) m = n>=5; B) m = k % c=h+y; C) j=t+ % 100; D) j = y > 2= x + 3; 4. 設(shè) i, j, k, m 為已賦值的 int 型變量 , 下列表達(dá)式的結(jié)果屬于邏輯值的是 ( A). A) i==k & j+k >=m B) i+k C) m++ D) m=i+j 5. 變量 a 定義為 int 類
20、型 . 以下選項中 , 合法的賦值語句是 ( B ). A) a +1==2; B) a+=1; C) a=8.8f; D) a=new int(8); 6. 若有定義 int x = 13; 則執(zhí)行完語句 x %= 8; 后 ,x 的值是 (C ). A) 0 B) 1 C) 5 D) 8 7. 以下選項中 , 合法的賦值語句是 ( B ). A) a = = 1; B) ++ i; C) a=a + 1= 5; D) !(++a!=b- -); 8. 若所用變量都已正確定義 , 以下選項中 , 非法的表達(dá)式是 ( C). A) a != 4||
21、b= =1 B) a % 3 C) a = 1/2 D) A + 32 9. 若有定義 int a = 2; 則執(zhí)行完語句 a -= a * a; 后 ,a 的值是 ( C). A) 0 B) 4 C) -2 D) – 4 10. 現(xiàn)有一變量聲明為 boolean aa; 下面賦值語句中正確的是 ( A ). 4 A) aa=false; B) aa=False; C) aa="true"; D) aa=0; 11. 下列程序段執(zhí)行后 b3 的結(jié)果是 (D). boolean b1=true, b2=true, b3;
22、b3= !b1 b1 :!b2; A) 0 B) 1 C) true D) false 12. 設(shè)有定義 int i=123; long j=456; 下面賦值不正確的語句是 (D). A) j=i; B) j=(long)i; C) i=(int)j; D) i=j; 13. 若以下變量均已正確定義并賦值 , 下面符合 Java 語言語法的語句是 ( A). A)b=a!=7; B)a=7+b+c=9; C)i=12.3* %4; D)a=a+7=c+b; 14. 下列程序段執(zhí)行后 t5 的結(jié)果是 (B ). int t1 = 9, t2 = 11
23、, t3=8; int t4,t5; t4 = t1 > t2 t1 : t2+ t1; t5 = t4 > t3 t4 : t3; A) 8 B) 20 C) 11 D) 9 15. 執(zhí)行下面程序段后 ,b, x, y 的值分別是 ( D). int x=6,y=8; boolean b; b=x>y&&++x==--y; A)true , 6, 8 B)false , 7, 7 C)true, 7, 7 D)false, 6, 8 16. 執(zhí)行下列程序段后 ,m,x,y 的值分別是 ( B). int x=2,y=4; b
24、oolean m;
m=++x>y--;
A)true , 2,4 B)false , 3,3 C) true, 3,3 D) false, 2,4
17. 下面語句序列執(zhí)行后 ,a 的值是 (D ). int a=13; a%=a/5;
A) 3 B) 13 C) 169 D) 1
18. 設(shè) x,y,max,min 均為 int 型變量 ,x,y 已賦值 . 用三目條件運(yùn)算符求 x,y 的最大值和最小
值 , 并分別賦給變量 max 和 min, 這兩個賦值語句分別是 ______ 和 ______.(max=x>y x:y;
min=x 25、:y;)
練習(xí)四 ( 條件 , 分支語句 )
1. 下列語句序列執(zhí)行后 ,m 的值是 ( C). int a=10, b=3, m=5;
if( a==b ) m+=a; else m=++a*m; A) 15 B) 50 C) 55 D) 5
2. 下列語句序列執(zhí)行后 ,x 的值是 (d). int a=2, b=4, x=5;
if( a<--b ) x*=a;
A) 5 B) 20 C) 15 D) 10
3. 下列語句序列執(zhí)行后 ,k 的值是 (C ). int i=10, j=18, k=30;
switch( j - i )
26、
5
{ case 8 : k++;
case 9 : k+=2;
case 10: k+=3;
default : k/=j;
}
A) 31 B) 32 C) 2 D) 33
4. 若 a 和 b 均是整型變量并已正確賦值 , 正確的 switch 語句是 (D ).
A) switch(a+b); { ...... } B) switch( a+b*3.0 ) { ...... }
C) switch a { ...... } D) switch ( a%b ) { ...... } 5. 下列語 27、句序列執(zhí)行后 ,r 的值是 ( C). char ch=8; int r=10;
switch( ch+1 )
{
case 7: r=r+3;
case 8: r=r+5;
case 9: r=r+6; break;
default: r=r+8;
}
A) 13 B) 15 C) 16 D) 18
6. 設(shè) int 型變量 a,b,float 型變量 x,y,char 型變量 ch 均已正確定義并賦值 , 正確的 switch 語句是 (B ).
A) switch (x + y) { ...... } B) switch ( 28、 ch + 1 ) { ...... }
C) switch ch { ...... } D) switch ( a + b ); { ...... }
7. 下列語句序列執(zhí)行后 ,k 的值是 (D ).
int x=6, y=10, k=5;
switch( x%y )
{
case 0: k=x*y;
case 6: k=x/y;
case 12: k=x-y;
default: k=x*y-x;
}
A) 60 B) 5 C) 0 D) 54
8. 下列語句序列執(zhí)行后 ,r 的值是 (B ).
char ch= 29、A; int r=6;
switch( ch+5 )
{
case A: r=r+3;
case B: r=r+5;
case C: r-=6; break;
default : r/=2;
}
A) 11 B) 3 C) 2 D) 9
9. 如果變量 x 已正確定義 , 寫出實現(xiàn)以下功能的語句 : 如果變量 x 是偶數(shù) , 則將其增加 2.
6
______________________ ;.(if(x%2= =0) x+=2;)
10. 設(shè) ch1, ch2 是 char 型變量 : 30、
if ( ch1 == a )
{ if ( ch2 == b )
System.out.print(" ch1=\a\ , ch2=\b\ ");
}
else
System.out.print(" ch1!=\a\ ");
System.out.println(" end ");
問題 : 1) 若執(zhí)行前 ch1 的值為 a, ch2 的值為 c 該程序段輸出是什么 (end)
2) 若執(zhí)行前 ch1 的值為 w, ch2 的值為 b 該程序段輸出是什么 (ch1!=aend)
3) 若 執(zhí) 行 前 ch1 的 值 為 a, 31、 ch2 的 值 為 b 該 程 序 段 輸 出 是 什 么 (ch1=a,ch2=bend)
練習(xí)五 ( 條件 , 分支語句 )
1. 下列語句序列執(zhí)行后 ,j 的值是 ( A ). int j=1;
for( int i=5; i>0; i-=2 ) j*=i; A) 15 B) 1 C) 60 D) 0
2. 以下由 for 語句構(gòu)成的循環(huán)執(zhí)行的次數(shù)是 (B ). for ( int i = 0; true ; i++) ;
A)有語法錯 , 不能執(zhí)行 B) 無限次
C)執(zhí)行 1 次 D) 一次也不執(zhí)行
3. 下面語句執(zhí)行后 , 32、i 的值是 (B). for( int i=0, j=1; j < 5; j+=3 ) i=i+j; A) 4 B) 5 C) 6 D) 7
4. 下列語句序列執(zhí)行后 ,k 的值是 (D). int j=8, k=15;
for( int i=2; i!=j; i++ ) { j-=2; k++; } A) 18 B) 15 C) 16 D) 17
5. 下列語句序列執(zhí)行后 ,k 的值是 (B). int m=3, n=6, k=0;
while( (m++) < ( -- n) ) ++k;
A) 0 B) 1 C) 2 D) 3
6. 下列語句序列執(zhí)行后 33、 ,i 的值是 ( D). int s=1,i=1;
while( i<=4 ) {s*=i;i++;} A) 6 B) 4 C) 24 D) 5
7. 下列語句序列執(zhí)行后 ,j 的值是 ( C ). int j=8, i=6;
while( i >4 ) i-=2;
- -j;
A) 5 B) 6 C) 7 D) 8
8. 下列語句序列執(zhí)行后 ,j 的值是 ( B ).
7
int j=9, i=6;
while( i-- >3 ) --j;
A) 5 B) 6 C) 7 D) 8
9. 下列語 34、句序列執(zhí)行后 ,j 的值是 (D). int j=3, i=2;
while( --i!=i/j ) j=j+2;
A) 2 B) 4 C) 6 D) 5
10. 若有循環(huán) :
int x=5,y=20;
do { y-=x; x+=2; }while(x 35、
12. 下列語句序列執(zhí)行后 ,i 的值是 (C ). int i=10;
do { i-=2; } while( i>6 ); A) 10 B) 8 C) 6 D) 4
13. 下列語句序列執(zhí)行后 ,i 的值是 (D). int i=16;
do { i/=2; } while( i > 3 );
A) 16 B) 8 C) 4 D) 2
14. 以下由 do-while 語句構(gòu)成的循環(huán)執(zhí)行的次數(shù)是 (B). int k = 0;
do { ++k; }while ( k < 1 );
A)一次也不執(zhí)行 B) 執(zhí)行 1 次 C) 無限次 D) 36、有語法錯 , 不能執(zhí)行
15. 若有循環(huán) :
int x=5,y=20;
do{ y-=x; x++; } while(++x<--y);
則循環(huán)體將被執(zhí)行 (C ).
A)0 次 B)1 次 C)2 次 D)3 次
16. 下面是一個 java 應(yīng)用程序 (Application), 它的功能是在屏幕上輸出 26 個小寫英文字母 ,
其中每個字母相隔一個制表符 , 請完成程序填空 .
(class (c++)+"\t" 或 (c++)+\t)
public _____ Class1
{
public static voi 37、d main( String args[] )
{
char c=a;
for (int i=1;i<=26;i++)
{ System.out.print(______); }
}
8
}
17. 下面是一個 java 應(yīng)用程序 (Application), 它的功能是計算 s=1+2+3+...+10 , 請完成程
序填空 .(class i)
public _____ Class1
{
public static void main( String args[] )
{
i 38、nt s=0;
for (int i=1;i<=10;i++)
{
s+=______;
}
System.out.println("s="+s);
}
}
18. 下面是一個 java Application 的主類的定義 , 其功能是輸出乘法口訣表第一列 , 請完成
程序填空 .(i<=9 j*i)
import java.io.*;
public class MyClass
{
public static void main(String[] args)
{
int j=1;
for(int 39、i=1; _______; i++)
{
System.out.println(i+"*"+j+"="+_______);
}
}}
練習(xí)六 ( 控制結(jié)構(gòu)與循環(huán)體內(nèi)的跳轉(zhuǎn) )
1. 結(jié)構(gòu)化程序設(shè)計的三種基本流程控制結(jié)構(gòu)是 :_______,_______,________. ( 略 )
2. 以下語句中能構(gòu)成分支的語句是 (B).
A) for 語句 B) if 語句
C) continue 語句 D) 方法調(diào)用語句
3. 以下語句中能構(gòu)成多分支的語句是( C ).
A) for 語句 B) while 語句
C) 40、 switch 語句 D) do - while 語句
4. 以下語句中能構(gòu)成多分支的語句是 ( C ). A)for 語句 B)while 語句
C)if__else 語句的嵌套 D)do__while 語句
5. 以下語句中是循環(huán)語句的是 ( D ).
A)break 語句 B)switch 語句 C)if 語句 D)do - while 語句
6. 以下語句中不能構(gòu)成循環(huán)的語句是( C ).
A) for 語句 B) while 語句 C) switch 語句 D) do__while 語句
9
7.
41、能從循環(huán)語句的循環(huán)體中跳出的語句是
(B).
A)for 語句 B)break 語句 C) continue
語句 D)return
語句
8.
閱讀程序后回答問題 .
public class ContinueTest
{public static void main( String args[])
{char c=i;
for (int n=6; n < 11; n++ )
{if ( n == 8 ) continue;
System.out.print("\t"+(c++));
}}}
問題 :1) 程序的 42、輸出結(jié)果是什么 (i j k l)
2) 若將 if 中的 continue 語句替換為 break 語句 , 輸出結(jié)果是什么
(i j)
練習(xí)七(方法)
1. 以下方法 m的功能是求兩參數(shù)之積的整數(shù)部分 . (return (int)(x*y))
int m ( float x, float y ) { __________________; }
2. 方法可以沒有返回值嗎可以有多個返回值嗎 ( 可以 ; 不能 )
3.
一個方法如果沒有返回值 , 方法頭定義中的返回值類型為何(void)
4.
一個方法或一個復(fù)合語句 43、內(nèi)定義的變量是否可以在方法外或復(fù)合語句外使用
這種變量
稱為什么變量 ( 不能 ; 局部變量 )
5. 采用 _______ 的程序設(shè)計原則 , 使程序結(jié)構(gòu)清晰簡單 , 設(shè)計容易 , 有助于軟件可靠性的提高.( 模塊化 )
6. 下面方法的功能是判斷一個整數(shù)是否為偶數(shù) , 將程序補(bǔ)充完整 .(boolean true)
public ________ isEven(int a)
{ if(a%2==0)
return _____;
else
return false;
}
練習(xí)八 ( 方法重載 )
1. 同一個類中多 44、個方法具有相同的方法名 , 不同的 _____________ 稱為方法的重載 .( 參數(shù)列表)
2. 在某個類中存在一個方法 :void getSort(int x), 以下能作為這個方法的重載的聲明的是
(C).
A)public getSort(float x) B)int getSort(int y)
C)double getSort(int x,int y) D)void get(int x,int y)
3. 在某個類中存在一個方法 :void sort(int x), 以下不能作為這個方法的重載的聲明的是
(B).
A)public 45、float sort(float x) B)int sort(int y)
C)double sort(int x,int y) D)void sort(double y)
4. 為了區(qū)分類中重載的同名的不同方法 , 要求 ( A). A) 采用不同的形式參數(shù)列表 B) 返回值類型不同
10
C) 調(diào)用時用類名或?qū)ο竺銮熬YD) 參數(shù)名不同
5. 重載的方法可以通過它們的返回值類型的不同來區(qū)分嗎 ( 不能 )
6. 編譯程序如何區(qū)分重載方法的調(diào)用( 根據(jù)參數(shù)列表不同來區(qū)分 )
練習(xí)九 ( 數(shù)組 )
1. 46、在一個應(yīng)用程序中定義了數(shù)組 a:int[ ] a={1,2,3,4,5,6,7,8,9,10};, 為了打印輸出數(shù)
組 a 的最后一個數(shù)組元素 , 下面正確的代碼是 ( B). A) System.out.println(a[10]); B) System.out.println(a[9]);
C) System.out.println(a[a.length]); D) System.out.println(a(8));
2. 下面關(guān)于數(shù)組定義語句不正確的是 ( D ). A)int[ ] a1,a2; B)int a0[ ]={11,2,30,84,5};
C)dou 47、ble[] d=new double[8]; D)float f[ ]=new {2.0f,3.5f,5.6f,7.8f};
3. 設(shè)有定義語句 int a[ ]={3,9,-9,-2,8}; 則以下對此語句的敘述錯誤的是 (C ).
A) a 數(shù)組有 5 個元素 B) 數(shù)組中的每個元素是整型
C) a 的值為 3 D) 對數(shù)組元素的引用 a[a.length-1] 是合法的
4. 設(shè)有定義語句 int a[ ]={66,88,99}; 則以下對此語句的敘述錯誤的是 (C).
A) 定義了一個名為 a 的一維數(shù)組 B) a 數(shù)組有 3 個元素 48、
C) a 數(shù)組的元素的下標(biāo)為 1~3 D) 數(shù)組中的每個元素是整型
5. 為了定義三個整型數(shù)組 a1,a2,a3, 下面聲明正確的語句是 ( B ). A)intArray [ ] a1,a2; int a3[ ]={1,2,3,4,5};
B)int [ ] a1,a2; int a3[ ]={1,2,3,4,5}; C)int a1,a2[ ]; int a3={1,2,3,4,5}; D)int [ ] a1,a2; int a3=(1,2,3,4,5);
6. 設(shè) i,j 為 int 型變量名 ,a 為 int 型數(shù)組名 , 以下選項中 , 正確的賦值語 49、句是 (B). A) i = i + 2 B) a[0] = 7; C) i++ - --j; D) a(0) = 66;
7. 若已定義 byte[ ] x={11,22,33,-66};
其中 0≤k≤3, 則對 x 數(shù)組元素錯誤的引用是 ( C).
A) x[5-3] B) x[k] C) x[k+5] D) x[0]
8. 設(shè)有定義 int[ ] a=new int[4]; ,a 的所有數(shù)組元素是 (B).
A) a0, a1, a2, a3 B) a[0], a[1], a[2], a[3]
C) a[1], a[2], a[2], a[4] 50、D) a[0], a[1], a[2], a[3], a[4]
9. 設(shè)有整型數(shù)組的定義 :int a[ ]=new int[8]; , 則 a.length 的值為 _____.(8)
10. 定義數(shù)組 , 需要完成以下三個步驟 , 即 :________,_______ 和________ .( 聲明數(shù)組 ; 創(chuàng)建數(shù)組空間 ; 初始化 )
11. 在 Java 語言中 , 所有的數(shù)組都有一個 _________屬性 , 這個屬性存儲了該數(shù)組的元素的個數(shù) ( 數(shù)組長度 ).(length)
12. 若有定義 int[ ] a=new int[8]; 則 a 的數(shù)組 51、元素中第 7 個元素和第 8 個元素的下標(biāo)分
別是 ____和____.(6 7)
13. 定義一個整型數(shù)組 y, 它有 5 個元素分別是 1,2,3,4,5. 用一個語句實現(xiàn)對數(shù)組 y 的聲明 ,
創(chuàng)建和賦值 :__________________;.
(int y[]={1,2,3,4,5};)
14. 數(shù)組一定占用連續(xù)的內(nèi)存空間嗎( 是)
15. 下面是一個類的定義 , 請將其補(bǔ)充完整 .(class static)
___________ A
11
{ String s;
_____ in 52、t a=666; A(String s1) { s=s1; }
static int geta( ) { return a; }
}
22. 閱讀程序 , 回答問題 . public class Test52
{
String static str1="Hello, Java world! \t"; String static str2="Hello, students! ";
public static void main(String args[])
{ System.out.print(str1); System.out.println(str2); 53、 }
}
問題 :1) 這是哪種形式的 java 程序 (java 應(yīng)用程序 )
2) 程序的輸出是什么 輸出的結(jié)果在 Applet 窗口中嗎
(Hello, Java world! Hello, students! 不在 )
練習(xí)十 ( 繼承 : 類 , 屬性和方法的繼承 , 屬性隱藏和方法覆蓋 , 構(gòu)造函數(shù)的繼承 , 父類對象和子類對象的關(guān)系 )
1. Java 語言的類間的繼承關(guān)系是 ( B ).
A) 多重的 B) 單重的 C) 線程的 D) 不能繼承
2. 以下關(guān)于 Java 語言繼承的說法正確 54、的是 ( C ).
A)Java 中的類可以有多個直接父類 B) 抽象類不能有子類 C)Java 中的接口支持多繼承 D) 最終類可以作為其它類的父類
3. 下面是有關(guān)子類繼承父類構(gòu)造函數(shù)的描述 , 其中正確的是 ( B). A) 如果子類沒有定義構(gòu)造函數(shù) , 則子類無構(gòu)造函數(shù)
B) 子類構(gòu)造函數(shù)必須通過 super 關(guān)鍵字調(diào)用父類的構(gòu)造函數(shù)
C)子類必須通過 this 關(guān)鍵字調(diào)用父類的構(gòu)造函數(shù)
D)子類無法繼承父類的構(gòu)造函數(shù)
4. 現(xiàn)有兩個類 A,B, 以下描述中表示 B 繼承自 A 的是 (D). A) class A extends B B) 55、class B implements A
C) class A implements B D) class B extends A
5. 子類可以繼承父類的 __________ 成員 ( 非私有 ). 構(gòu)造函數(shù)也能被繼承和重載 .
6. 如果子類中的某個變量的變量名與它的父類中的某個變量完全一樣 , 則稱子類中的這個
變量 ________了父類的同名變量 .( 隱藏 )
8. 如果子類中的某個方法的名字, 返回值類型和 ________與它的父類中的某個方法完全一
樣, 則稱子類中的這個方法覆蓋了父類的同名方法.( 參數(shù)列表 )
9. 抽 56、象 , 封裝 ,_____ 和多態(tài)是 Java 語言的四大特性 .( 繼承 )
11. Java 僅支持類間的 ____重繼承 .( 單重 )
12. 子類的成員變量能與其父類的成員變量同名嗎( 能 )
13. 什么是方法覆蓋 ( 子類重新定義繼承自父類的同名方法, 使之實現(xiàn)與父類方法不同的功
能; 方法覆蓋要求子類方法頭定義必須與父類方法頭定義完全一樣.)
12
14.
一個子類可以重新定義從父類那里繼承來的同名方法
. 但是 , 允許它們有不同類型的返
回值嗎 ( 不能 )
15.
子 57、類對象如何引用被它隱藏了的父類的屬性和調(diào)用被它覆蓋了的父類的方法
( 使用
super 關(guān)鍵字做前綴 )
16.
子類的對象能直接向其父類對象賦值嗎
反之呢 子類對象一定是父類的對象嗎
( 能; 不
能 ; 是 ;)
18. java 中 , 一個子類可以有多個父類嗎可以為一個 ( 父 ) 類定義多個子類嗎 ( 不能 ; 可以 )
19. 保留字 this 代表什么 (this 表示類當(dāng)前對象本身 )
21. 下面是一個類的定義 , 完成程序填空 .(Youwrite this.x=x;) public class Y 58、ouwrite
{
int x;
_______( ) {x=0;}
Youwrite ( int x)
{ _____; }
}
22. 現(xiàn)有類說明如下 , 請回答問題 : public class A
{
String str1=" Hello! \t"; String str2=" How are you "; public String toString( )
{ return str1+str2; }
}
public class B extends A
{
String str1="\b\b,Bil 59、l.";
public String toString( )
{ return super.str1+str1; }
}
問題 :
1) 類 A 和類 B 是什么關(guān)系 ( 繼承關(guān)系 )
2)
類 A 和類 B 都定義了 str1 屬性和方法 toString( ),
這種現(xiàn)象分別稱為什么
( 屬性的隱
藏; 方法的覆蓋 )
3)
若 a 是類 A 的對象 , 則 a.toString( )
的返回值是什么
(Hello! How are you )
4)
若 b 是類 B 的對象 , 則 b.to 60、String( )
的返回值是什么
(Hello,Bill.)
23. 現(xiàn)有一個類定義如下 , 請回答問題 : class Employee
{
String name;
int age;
double wage;
static int No=0;
13
Employee(String a1,int a2,double a3)
{
name=a1; age=a2; wage=a3;
No++;
}
}
在使用該類時 , 已使用下面語句生成了該類的對象 :
61、Employee e1,e2;
e1=new Employee(" 王勁 ",26,6300);
e2=new Employee(" 張山 ",30,3800);
問題 :
1)e2.name,e2.age,e2.wage 的值各是什么 ( 張山 ;30;3800.0)
2) 生成對象 e1,e2 后,e1.No 值為多少 能否通過類名做前綴引用屬性 No (2; 能 )
25. 閱讀程序 , 回答問題 . public class InheritTest1
{
public static void main (String[] args)
62、
{
A aa; B bb;
aa=new A( ); bb=new B( ); aa.show( ); bb.show();
}}
class A
{
int a=1;
double d=2.0;
void show( )
{ System.out.println("Class A: "+"\ta="+a +"\td="+d); }
}
class B extends A
{
float a=3.0f;
String d="Java program."; int b=4;
void show( )
63、
{
System.out.println("Class A: "+"\ta="+super.a +"\td="+super.d); super.show( );
System.out.println("Class B: "+"\ta="+a +"\td="+d+"\tb="+b);
}}
問題 :1) 這是哪一類 java 程序 (java 應(yīng)用程序 )
2) 類 A 和類 B 是什么關(guān)系 ( 類 B 是類 A 的子類 )
3) 按程序輸出的格式寫出程序運(yùn)行后的結(jié)果.
14
( 程序運(yùn)行結(jié)果如下 :
64、Class A: a=1 d=2.0
Class A: a=1 d=2.0
Class A: a=1 d=2.0
Class B: a=3.0 d=Java program. b=4 )
26. 現(xiàn)有類說明如下 , 請回答問題 : class A
{
int x=10;
int getA(){return x;}
}
class B extends A
{
int x=100;
int getB(){return x;}
}
問題 :1) 類 B 是否能繼承類
A 的屬性 x ( 能 65、)
2) 若 b 是類 B 的對象 , 則 b.getB()
的返回值是什么
(100)
3) 若 b 是類 B 的對象 , 則 b.getA()
的返回值是什么
(10)
4) 類 A 和類 B 都定義了 x 屬性 , 這種現(xiàn)象稱為什么
( 屬性的隱藏 )
27. 有如下源程序 , 請回答問題 : class A
{ String s="class A"; } class B extends A
{ String s="class B"; }
public class TypeConvert
{
public sta 66、tic void main(String args[])
{
B b1,b2=new B();
A a1,a2;
a1=(A)b2;
a2=b2;
System.out.println(a1.s);
System.out.println(a2.s);
b1=(B)a1;
System.out.println(b1.s);
System.out.println(b2.s);
}}
問題 : 該程序的四行輸出各是什么
(class A
class A
15
class B
class B)
28. 現(xiàn)有類說明如下 , 請回答問題 :
public class A
{
int x=888;
String str="I like: ";
public String
- 溫馨提示:
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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。