《Java基礎(chǔ)入門》課后章節(jié)習(xí)題及答案
《《Java基礎(chǔ)入門》課后章節(jié)習(xí)題及答案》由會員分享,可在線閱讀,更多相關(guān)《《Java基礎(chǔ)入門》課后章節(jié)習(xí)題及答案(111頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、《Java基礎(chǔ)入門》課后章節(jié)習(xí)題及答案(完整版) 《Java基礎(chǔ)入門》課后習(xí)題 第1章Java開發(fā)入門 一、填空題 1、 Java 的三大體系分另fj是 _JavaSE、 _JavaEE> _JavaME 。 2、Java程序的運(yùn)行環(huán)境簡稱之為 JRE 3、編譯Java程序需要使用_javac 命令。 4、javac.exe和java.exe兩個(gè)可執(zhí)行程序存放在 JDK安裝目 錄的bin 目錄下。 5、path 環(huán)境變量用來存儲 Java的編譯和運(yùn)行工具所在 的路徑,而_classpath 環(huán)境變量則用 來保存保存Java虛擬機(jī)要運(yùn)行的“ .class ”文件路徑。 二、選
2、擇題 1、以下選項(xiàng)中,哪些屬于 JDK工具?(多選)ABCD A、Java編譯器 B、Java運(yùn)行工具 C、Java文檔生成工具 D、Java打包工具 2、Java屬于以下哪種語言? C A、機(jī)器語言 B、匯編語言 C、高級語言 D、以上都不對 3、下面哪種類型的文件可以在 Java虛擬機(jī)中運(yùn)行? D A、 .java B、 .jre C、 .exe D、 .class 4、安裝好JDK后,在其bin目錄下有許多exe可執(zhí)行文件, 其中java.exe 命令的作用是以下哪一種? B A、Java文檔制作工具 B、Java解釋器 C、Java編譯器 D、
3、Java啟動器 5、如果jdk的安裝路徑為:d:\jdk ,若想在命令窗口中任何當(dāng) 前路徑下,都可以直接使用javac和java 命令,需要將環(huán)境變量 path設(shè)置為以下哪個(gè)選項(xiàng)? B A. d:\jdk; B . d :\jdk\bin; C . d:\jre\bin; D . d:\jre; 三、問答題 1、簡述Java的特點(diǎn)。 面向?qū)ο?、跨平臺性、健壯性、安全性、可移植性、多線程性、 動態(tài)性等。 2、簡述JRE與JDK的區(qū)別。 JRE (Java Runtime Environment , Java 運(yùn)行時(shí)環(huán)境),它 相當(dāng)于操作系統(tǒng)部分,提供了 Java程序運(yùn)行時(shí)所需
4、要的基本條 件和許多Java基礎(chǔ)類,例如,IO類、GUI控件類、網(wǎng)絡(luò)類等。 JRE是提供給普通用戶使用的,如果你只想運(yùn)行別人開發(fā)好的 Java程序,那么,你的計(jì)算機(jī)上必須且只需安裝 JRE。 JDK (Java Development Kit , Java 開發(fā)工具包),它包含 編譯工具、解釋工具、文檔制作工具、打包工具多種與開發(fā)相關(guān) 的工具,是提供給 Java開發(fā)人員使用的。初學(xué)者學(xué)習(xí)和使用 Java語言時(shí),首先必須下載和安裝 JDKJDK中已經(jīng)包含了 JRE 部分,初學(xué)者安裝JDK后不必再去下載和安裝 JRE 了。 JDK (Java Development Kit , Java
5、開發(fā)工具包),它包含 編譯工具、解釋工具、文檔制作工具、打包工具多種與開發(fā)相關(guān) 的工具,是提供給 Java開發(fā)人員使用的。初學(xué)者學(xué)習(xí)和使用 Java語言時(shí),首先必須下載和安裝 JDKJDK中已經(jīng)包含了 JRE 部分,初學(xué)者安裝JDK后不必再去下載和安裝 JRE 了。四、編 程題 使用記事本編寫一個(gè) HelloWorld 程序,在dos命令行窗口編 譯運(yùn)行。請按照題目的要求編寫程序并給出運(yùn)行結(jié)果。 public class HelloWorld { public static void main(String口 args) { System.out.println(" 這是第一個(gè) Jav
6、a 程序!”); } } 第2章Java編程基礎(chǔ) 一、填空題 1、Java中的程序代碼都必須在一個(gè)類中定義,類使用 __class 關(guān)鍵字來定義。 2、布爾常量即布爾類型的兩個(gè)值,分別是_true 和 _flase 。 3、Java中的注釋可分為三種類型,分別是 _單行注釋〃__、_ 多行注釋_/* */__、文檔/注釋** */。 4、Java中的變量可分為兩種數(shù)據(jù)類型,分別是 基本數(shù)據(jù)類型 手口一引用數(shù)據(jù)類型 O 5、在Java中,byte類型數(shù)據(jù)占 1__個(gè)字節(jié),short類型數(shù) 據(jù)占__2一個(gè)字節(jié),int類型數(shù)據(jù)占 —4— 個(gè)字節(jié),long類型數(shù)據(jù)占
7、8」字節(jié)。 6、在邏輯運(yùn)算符中,運(yùn)算符 &___和&&用于表示邏輯 與,__|T口 __||—表示邏輯或。 7、若x = 2 ,則表達(dá)式(x + + ) /3的值是__0 o 8、若int a =2; a+=3; 執(zhí)行后,變量a的值為—5 o 9、若 int []a={12,45,34,46,23}; ,則 a[2]= __34 。 10、若 int a[3][2]={{123,345},{34,56},{34,56}} ,則 a[2][1]= __56 。 、判斷題 1、Java語言不區(qū)分大小寫。錯(cuò) 2、0xC5表示的是一個(gè)十六進(jìn)制整數(shù)。對 3、continue 語句只
8、用于循環(huán)語句中,它的作用是跳出循環(huán)。 錯(cuò) 4、“/*…*/ ”中可以嵌套“ 〃 ”注釋,但不能嵌套“ /*???*/ 注釋。對 5、-5%3的運(yùn)算結(jié)果是2。錯(cuò) 三、選擇題 1、以下選項(xiàng)中,哪些屬于合法的標(biāo)識符?(多選) AD A、Hello_World B、class C、123username D、username123 2、關(guān)于方法重載的描述,以下選項(xiàng)中哪些是正確的?(多選) (AD ) ABD A、方法名必須一致 B、返回值類型必須不同 C、參數(shù)個(gè)數(shù)必須一致 D、參數(shù)的個(gè)數(shù)或類型不一致 3、以下關(guān)于變量的說法錯(cuò)誤的是? C A、變量名必須是一個(gè)有效的標(biāo)
9、識符 B、變量在定義時(shí)可以沒有初始值 C、變量一旦被定義,在程序中的任何位置都可以被訪問 D、在程序中,可以將一個(gè) byte類型的值賦給一個(gè)int類型的 變量,不需要特殊聲明 4、以下選項(xiàng)中,switch語句判斷條件可以接收的數(shù)據(jù)類型有哪 些?(多選)ABCD A、int B、byte C、 char D、short 5、假設(shè)int x = 2 ,三元表達(dá)式x>0?x+1:5 的運(yùn)行結(jié)果是以下 哪一個(gè)? C A、0 B、2 C、3 D、5 6、下面的運(yùn)算符中,用于執(zhí)行除法運(yùn)算是哪個(gè)? A A、/ B、\ C、% D、* 7、下列語句哪些屬于循環(huán)語句
10、?(多選) AC A、for語句 B、if語句 C、while 語句 D、switch 語句 8、下面哪種寫法可以實(shí)現(xiàn)訪問數(shù)組 arr的第1個(gè)元素?A A、arr[0] B、arr(0) C、arr[1] D、arr(1) (B)C 9、以下哪個(gè)選項(xiàng)可以正確創(chuàng)建一個(gè)長度為 3的二維數(shù)組? A、new int [2][3]; B、new int[3]口; C、new int[][3]; D、以上答案皆不對 10、請先閱讀下面的代碼。 int x = 1; int y = 2; if (x % 2 == 0) { y++; } else { y--;
11、 } System.out.println("y=" + y); 上面一段程序運(yùn)行結(jié)束時(shí),變量 y的值為下列哪一項(xiàng)? A A、1 B、2 C、3 D、switch 語句 四、程序分析題 閱讀下面的程序,分析代碼是否能夠編譯通過,如果能編譯通過, 請列出運(yùn)行的結(jié)果。否則請說明編譯失敗的原因。 代碼一:b=7(編譯不通過。int值4和b相加時(shí),由于變量 b 的類型為byte ,取值范圍沒有int類型大,存不下int類型的 值,因此編譯不通過) public class Test01 { public static void main(String口 args) { byt
12、e b = 3; b = b + 4; System.out.println("b=" + b); } } 代碼二:不能,y只在{}有效(編譯不通過。這是因?yàn)?y是在 最里層的代碼塊中定義的一個(gè)變量,只有在那個(gè)代碼 ) public class Test02 { public static void main(String[] args){ int x = 12; { int y = 96; System.out.println("x is " + x); System.out.println("y is " + y); } y = x; System.out
13、.println("x is " + x); } } 代碼三:3因?yàn)闆]有break,,所以4以后都執(zhí)行 public class Test03 { public static void main(String args口) { int x = 4, j = 0; switch (x) { case 1: j++; case 2: j++; case 3: j++; j++; case 5: j++; default: j++; } System.out.println(j); } } 代碼四: 9 8 7 public class T
14、est04 { public static void main(String args口) { int n = 9; while (n > 6) { System.out.println(n); n--; } } } 五、簡答題 1、請列舉Java語言中的八種基本數(shù)據(jù)類型,并說明每種數(shù)據(jù) 類型所占用的空間大小。 Java語言的八種基本數(shù)據(jù)類型有:byte字節(jié)型,占一個(gè)字節(jié)。 short短整型,占兩個(gè)字節(jié)。int整型,占4個(gè)字節(jié)。long長整 型,占8個(gè)字節(jié)。float單精度浮點(diǎn)型,占4個(gè)字節(jié)。double 雙精度浮點(diǎn)型,占8個(gè)字節(jié)。char字符型,占兩個(gè)字節(jié)。boolea
15、n 型,表示邏輯值,有true和false兩個(gè)值,分別占一個(gè)字節(jié)。 2、簡述&&與&的區(qū)別并舉例說明。 如果使用“&”在表達(dá)式之間進(jìn)行連接,那么無論任何情況,“&” 兩邊的表達(dá)式都會參與計(jì)算。如果使用“&& ”進(jìn)行連接,當(dāng)“&& ” 左邊的表達(dá)式為false ,則不會執(zhí)行其右邊的表達(dá)式。例如定義 int x = 2,y = 0; boolean b = x < y & x / 2 > 0 表達(dá)是會發(fā) 生被0除異常,因?yàn)閤 / y的表達(dá)式執(zhí)行了。而boolean b = x < y & x / 2 > 0 是不會出現(xiàn)這種異常的,因?yàn)?x < y為false , 表達(dá)式x / y不會執(zhí)行
16、3、什么是方法重載? 方法重載指的是在一個(gè)類中可以聲明多個(gè)同名的方法, 而方法中 參數(shù)的個(gè)數(shù)或者數(shù)據(jù)類型不一致。 調(diào)用這些同名的方法時(shí),JVM 會根據(jù)實(shí)際參數(shù)的不同綁定到不同的方法。 六、編程題 請按照題目的要求編寫程序并給出運(yùn)行結(jié)果。 1、請編寫程序,實(shí)現(xiàn)計(jì)算“ 1+3+5+7+ ???+99 ”的值。 提示: 1)使用循環(huán)語句實(shí)現(xiàn)自然數(shù) 1?99的遍歷。 2)在遍歷過程中,通過條件判斷當(dāng)前遍歷的數(shù)是否為奇數(shù), 如果 是就累加,否則不加。 2、已知函數(shù) x + 3 ( x > 0 ) y = 0 ( x = 0 ) x2 -1 ( x < 0 ) 請?jiān)O(shè)計(jì)一個(gè)方法實(shí)
17、現(xiàn)上面的函數(shù), 根據(jù)傳入的值x的不同,返回 對應(yīng)的y值。 提示: 1)定義一個(gè)static修飾符修飾的方法,方法接收一個(gè)int類型的 參數(shù)x,返回值為int類型。 2)在方法中使用if - else if..else 語句針對x的值進(jìn)行三種情況 的判斷。 3)根據(jù)判斷結(jié)果分別執(zhí)行不同的表達(dá)式,并將結(jié)果賦予變量 y o 4)在方法的最后返回y的值。 5)在main方法中調(diào)用設(shè)計(jì)好的方法,傳入一個(gè) int型的值,將 方法的返回值打印。 3、請編寫程序,實(shí)現(xiàn)對數(shù)組{25,24,12,76,101,96,28} 的排序。 提示:使用冒泡排序算法。 第3章面向?qū)ο螅ㄉ希? 一、填
18、空題 1、面向?qū)ο蟮娜筇卣魇欠庋b性 _、_繼承性 f口—多態(tài)性 O 2、在Java中,可以使用關(guān)鍵字__new 來創(chuàng)建類的實(shí)例對象。 3、定義在類中的變量被稱為 —成員變量,定義在方法中的 變量被稱為局部變量 4、面向?qū)ο蟪绦蛟O(shè)計(jì)的重點(diǎn)是_類―的設(shè)計(jì),—類—是用來創(chuàng) 建對象的模板。 5、在非靜態(tài)成員方法中,可以使用關(guān)鍵字 _this__訪問類的其它 非靜態(tài)成員。 6、當(dāng)一個(gè)對象被當(dāng)成垃圾從內(nèi)存中釋放時(shí),它的 —finalize。 方法會被自動調(diào)用。 7、被static關(guān)鍵字修飾的成員變量被稱為—靜態(tài)變量一它可以 被該類所有的實(shí)例對象共享。 8、在一個(gè)類中,除了可以定義
19、屬性、方法,還可以定義類,這 樣的類被稱為_內(nèi)部類 o 9、在Java中,提供了一個(gè)_javadoc 命令,用于將程序中 的文檔注釋提取出來,生成 HTML格式 的幫助文檔。 10、所謂類的封裝是指在定義一個(gè)類時(shí),將類中的屬性私有化, 即使用_private 關(guān)鍵字來修飾。 二、判斷題 1、在定義一個(gè)類的時(shí)候,如果類的成員被 private所修飾,該 成員不能在類的外部被直接訪問。對 2、Java中的每個(gè)類都至少有一個(gè)構(gòu)造方法, 一個(gè)類中如果沒有 定義構(gòu)造方法,系統(tǒng)會自動為這個(gè)類 創(chuàng)建一個(gè)默認(rèn)的構(gòu)造方法。對 3、聲明構(gòu)造方法時(shí),不能使用 private關(guān)鍵字修飾。錯(cuò)
20、 4、類中static修飾的變量或方法,可以使用類名或?qū)ο蟮囊? 變量訪問。對 5、方法內(nèi)部類中不能訪問外部類的成員變量。錯(cuò) 三、選擇題 1、類的定義必須包含在以下哪種符號之間? B A、方括號口 B、花括號{} C、雙引號”” D、圓括號() 2、下面哪一個(gè)是正確的類的聲明? D A、public void HH {…} B、public class Move() {…} C、public class void number{} D、public class Car {…} 3、在以下什么情況下,構(gòu)造方法會被調(diào)用? A、類定義時(shí) B、創(chuàng)建對象時(shí) C、調(diào)用對
21、象方法時(shí) D、使用對象的變量時(shí) 4、下面對于構(gòu)造方法的描述,正確有哪些? (多選)ABC A、方法名必須和類名相同 B、方法名的前面沒有返回值類型的聲明 C、在方法中不能使用return語句返回一個(gè)值 D、當(dāng)定義了帶參數(shù)的構(gòu)造方法,系統(tǒng)默認(rèn)的不帶參數(shù)的構(gòu)造方 法依然存在 5、使用this調(diào)用類的構(gòu)造方法,下面的說法正確的是? (多 選)ACD (ABCD ) A、使用this調(diào)用構(gòu)造方法的格式為this([參數(shù)1,參數(shù)2???]) B、只能在構(gòu)造方法中使用this調(diào)用其它的構(gòu)造方法 C、使用this調(diào)用其它構(gòu)造方法的語句必須放在第一行 D、不能在一個(gè)類的兩個(gè)構(gòu)造方法中
22、使用 this互相調(diào)用 6、下面哪些可以使用 static關(guān)鍵字修飾?(多選)AC(ACD) A、成員變量 B、局部變量 C、成員方法 D、成員內(nèi)部類 7、關(guān)于內(nèi)部類,下面說法正確的是? (多選)ACD(ABCD) A、成員內(nèi)部類是外部類的一個(gè)成員,可以訪問外部類的其它成 員 B、外部類可以訪問成員內(nèi)部類的成員 C、方法內(nèi)部類只能在其定義的當(dāng)前方法中進(jìn)行實(shí)例化 D、靜態(tài)內(nèi)部類中可以定義靜態(tài)成員,也可以定義非靜態(tài)成員 8、下面對于單例設(shè)計(jì)模式的描述,正確的是?(多 選)BCD(ABCD) A、類中定義一個(gè)無參的構(gòu)造方法,并且聲明為私有 B、在內(nèi)部創(chuàng)建一個(gè)該類的實(shí)例對象
23、,使用靜態(tài)變量引用該實(shí)例 對象 C、使用private修飾靜態(tài)變量,禁止外界直接訪問 D、定義靜態(tài)方法返回該類實(shí)例 9、請先閱讀下面的代碼 D public class Test { public Test(){ System.out.println(" 構(gòu)造方法一被調(diào)用了 "); } public Test(int x){ this(); System.out.println(" 構(gòu)造方法二被調(diào)用了 "); } public Test(boolean b){ this(1); System.out.println(" 構(gòu)造方法三被調(diào)用了 "); } public sta
24、tic void main(String口 args) { Test test = new Test(true); } } 上面程序的運(yùn)行結(jié)果為下列哪一項(xiàng)? A、構(gòu)造方法一被調(diào)用了 B、構(gòu)造方法二被調(diào)用了 C、構(gòu)造方法三被調(diào)用了 D、以上三個(gè)選項(xiàng)之和 10、Outer類中定義了一個(gè)成員內(nèi)部類 Inner ,需要在main() 方法中創(chuàng)建Inner類實(shí)例對象,以下四種方式哪一種是正確的? D A、Inner in = new Inner() B、Inner in = new Outer.Inner(); C、Outer.Inner in = new Outer.Inn
25、er(); D、Outer.Inner in = new Outer().new Inner(); 四、程序分析題 閱讀下面的程序,分析代碼是否能夠編譯通過,如果能編譯通過, 請列出運(yùn)行的結(jié)果。否則請說明編譯失敗的原因。 代碼一:不能,secret是私有成員,只能類內(nèi)部訪問(程序不能 編譯通過,因?yàn)樵陬?A中的成員變量secret用private 修飾, 所以在類Testi中無法訪問) class A { private int secret = 5; } public class Testi { public static void main(String口 args)
26、{ A a = new A(); System.out.println(a.secret++); } } 代碼二:250(程序不能編譯通過,因?yàn)樵陟o態(tài)方法 method() 中不能訪問非靜態(tài)成員變量 X。) public class Test2 { int x = 50; static int y =200 ; public static void method() { System.out.println(x+y); } public static void main(String[] args) { Test2.method(); } } 代碼三:Inner
27、為私有內(nèi)部類,不允許外部訪問 (inner)Inner inner = new Outer().new Inner(); 可以用外部類訪問內(nèi)部類 public class Outer { public String name="Outer"; private class Inner { String name="inner"; void showName(){ System.out.println(name); } } public static void main(String口 args) { Inner inner = new Outer().new Inner();
28、 System.out.println( 3a92e716fc700abb68fce3.html); } } 五、簡答題 1、構(gòu)造方法和普通的成員方法有什么區(qū)別? 構(gòu)造方法是類的一個(gè)特殊成員, 它會在類實(shí)例化對象時(shí)被自動調(diào) 用。而普通方法只有在使用的時(shí)候才會被調(diào)用。 在定義構(gòu)造方法 時(shí)要求方法名與類名相同、 在方法名的前面沒有返回值類型的聲 明、在方法中不能使用return 語句返回一個(gè)值 2、單例設(shè)計(jì)模式具備哪些特點(diǎn)? 單例模式可以保證在整個(gè)程序運(yùn)行期間針對該類只存在一個(gè)實(shí) 例對象。 六、編程題 1、請按照以下要求設(shè)計(jì)一個(gè)學(xué)生類 Student ,并進(jìn)行測試。 要
29、求如下: 1) Student類中包含姓名、成績兩個(gè)屬性 2)分別給這兩個(gè)屬性定義兩個(gè)方法,一個(gè)方法用于設(shè)置值,另 一個(gè)方法用于獲取值. 3) Student類中定義一個(gè)無參的構(gòu)造方法和一個(gè)接收兩個(gè)參數(shù) 的構(gòu)造方法,兩個(gè)參數(shù)分別為姓名和成績屬性賦值 4)在測試類中創(chuàng)建兩個(gè) Student對象,一個(gè)使用無參的構(gòu)造方 法,然后調(diào)用方法給姓名和成績賦值, 一個(gè)使用有參的構(gòu)造方法, 在構(gòu)造方法中給姓名和成績賦值 2、定義一個(gè)Father和Child類,并進(jìn)行測試。 要求如下: 1) Father類為外部類,類中定義一個(gè)私有的 String類型的屬 性 name , name 的值為 “
30、 zhangjun ”。 2) Child 類為Father類的內(nèi)部類,其中定義一個(gè)introFather() 方法,方法中調(diào)用Father類的name屬性。 3)定義一個(gè)測試類 Test ,在Test類的main()方法中,創(chuàng)建 Child對象,并調(diào)用introFather() 方法。 第4章面向?qū)ο?下) 一、填空題 1、在Java語言中,允許使用已存在的類作為基礎(chǔ)創(chuàng)建新的類, 這種技術(shù)我們稱為繼承 o 2、一個(gè)類如果實(shí)現(xiàn)一個(gè)接口,那么它就需要實(shí)現(xiàn)接口中定義的 全部一方法.否則該類就必須定 義成—抽象類? 3、在程序開發(fā)中,要想將一個(gè)包中的類導(dǎo)入到當(dāng)前程序中,可
31、以使用_import 關(guān)鍵字。 4、一個(gè)類可以從其它的類派生出來,派生出來的類稱為 一子類 2用于派生的類稱為一基類 或者_(dá)父類―O 5、JDK中定義了大量的異常類,這些類都是 .Exception 類的子類或者間接子類。 6、定義一個(gè)Java類時(shí),如果前面加使用_final 關(guān)鍵字修 飾,那么該類不可以被繼承。 7、如果子類想使用父類中的成員, 可以通過關(guān)鍵字 super 引用父類的成員。 8、在Java語言中,所有的類都直接或間接繼承自_Object 類。 9、異常的捕獲通常由try、catch兩部分組成,_try 代碼 塊用來存放可能發(fā)生異常,_catch 代
32、碼塊用 來處理產(chǎn)生的異常。 10、在Java語言中,要想是將一個(gè)已編譯的類打包成 jar文件, 可以使用的命令是_jar-cvf ,要 想在命令行窗口運(yùn)行jar文件,可以使用的命令是__java-jar。 二、判斷題 1、抽象方法必須定義在抽象類中,所以抽象類中的方法都是抽 象方法。錯(cuò) 2、Java中被final關(guān)鍵字修飾的變量,不能被重新賦值。對 3、不存在繼承關(guān)系的情況下,也可以實(shí)現(xiàn)方法重寫。錯(cuò) 4、package 聲明語句應(yīng)當(dāng)為Java源文件中的第一條語句。對 5、接口中只能定義常量和抽象方法。錯(cuò) (對) 三、選擇題 1、在類的繼承關(guān)系中,需要遵循以下哪個(gè)繼承原則
33、? B A、多重 B、單一 C、雙重 D、不能繼承 2、在Java語言中,以下哪個(gè)關(guān)鍵字用于在方法上聲明拋出異 常? C A.try B.catch C.throws D.throw 3、關(guān)于super關(guān)鍵字以下說法哪些是正確的?(多選) ABD (ABC) A、super關(guān)鍵字可以調(diào)用父類的構(gòu)造方法 B、super關(guān)鍵字可以調(diào)用父類的普通方法 C、super與this不能同時(shí)存在于同一個(gè)構(gòu)造方法中 D、super與this可以同時(shí)存在于同一個(gè)構(gòu)造方法中 4、以下說法哪些是正確的?(多選) ABCD A、Java語言中允許一個(gè)類實(shí)現(xiàn)多個(gè)接口 B、Java
34、語言中不允許一個(gè)類繼承多個(gè)類 C、Java語言中允許一個(gè)類同時(shí)繼承一個(gè)類并實(shí)現(xiàn)一個(gè)接口 D、Java語言中允許一個(gè)接口繼承一個(gè)接口 5、類中的一個(gè)成員方法被下面哪個(gè)修飾符修飾,該方法只能在 本類被訪問? C A、public B、protected C、private D、default 6、關(guān)于抽象類的說法哪些是正確的?(多選) AC A、抽象類中可以有非抽象方法。 B、如果父類是抽象類,則子類必須重寫父類所有的抽象方法。 C、不能用抽象類去創(chuàng)建對象。 D、接口和抽象類是同一個(gè)概念。 7、在Java中,要想讓一個(gè)類繼承另一個(gè)類,可以使用以下哪 個(gè)關(guān)鍵字? C
35、 A、inherits B、implements C、extends D、modifies 8、System 類位于以下哪個(gè)包中? D A、java.io B、java.util C、java.awt D 68fce3.htmlng 9、已知類的繼承關(guān)系如下: A class Employee; class Manager extends Employee; class Director extends Employee; 則以下語句能通過編譯的有哪些? A、Employee e=new Manager。; B、Director d=new Manager
36、。; C、Director d=new Employee。; D、Manager m=new Director。; 10、編譯運(yùn)行下面的程序,結(jié)果是什么? B public class A { public static void main(String口 args) { B b = new B(); b.test(); } void test() { System.out.print("A"); } } class B extends A { void test() { super.test(); System.out.print("B"); } } A
37、、產(chǎn)生編譯錯(cuò)誤 B、代碼可以編譯運(yùn)行,并輸出結(jié)果 AB C、代碼可以編譯運(yùn)行,但沒有輸出 D、編譯沒有錯(cuò)誤,但會產(chǎn)生運(yùn)行時(shí)異常 四、分析題 閱讀下面的程序,分析代碼是否能編譯通過,如果能編譯通過, 請列出運(yùn)行的結(jié)果。如果不能編譯通過,請說明原因。 代碼一:進(jìn)入catch代碼塊 進(jìn)入finally代碼塊(程序編譯能通過,這是因?yàn)閕nt x = 2 / 0; System.out.println(x); 這兩條語句使用了 try塊,捕獲了程序 因?yàn)槌?而產(chǎn)生的異常情況,之后程序會繼續(xù)向下執(zhí)行, 輸出 “進(jìn)入catch代碼塊”,“進(jìn)入finally 代碼塊”。) publ
38、ic class Test01 { public static void main(String口 args) { try { int x = 2 / 0; System.out.println(x); } catch (Exception e) { System.out.println(" 進(jìn)入 catch 代碼塊"); } finally { System.out.println(" 進(jìn)入 finally 代碼塊"); } } } 代碼二:不能,final修飾shout,不能被重寫(程序編譯不通過, 這是因?yàn)樵诔绦蛑惺褂昧?final關(guān)鍵字修飾 Animal類,使
39、得 Animal類不能被繼承。shout()方法中同樣使用了 final關(guān)鍵 字,使得該方法不能被重寫。) final class Animal { public final void shout() { //程序代碼 } } class Dog extends Animal { public void shout() { //程序代碼 } } class Test02 { public static void main(String口 args) { Dog dog=new Dog(); } } 代碼三:動物叫! 汪汪…… class Animal { voi
40、d shout() { System.out.println(" 動物叫!"); } } class Dog extends Animal { void shout() { super.shout(); System.out.println(" 汪汪 ”); } } public class Test03 { public static void main(String口 args) { Animal animal = new Dog(); animal.shout(); } } 代碼四:不能,Dog沒有實(shí)現(xiàn)Animal所有方法,Dog為抽象 類不能創(chuàng)建對象(程
41、序編譯不通過,因?yàn)榻涌谥卸x的方法不能 有方法體,所以定義的 eat()方法是錯(cuò)誤的。接口中的方法必須 在子類中全部實(shí)現(xiàn),由于run()方法在子類中并沒有重新實(shí)現(xiàn), 所以這也是錯(cuò)誤的。) interface Animal { void breathe(); void run(); void eat(){}; } class Dog implements Animal { public void breathe() { System.out.println("I m breathing") } public void eat() { System.out.printl
42、n("I m eathing") } } public class test04 { public static void main(String [] args) { Dog dog = new Dog(); dog.breathe(); dog.eat(); } } 五、簡答題 1、什么是方法重寫? 在繼承關(guān)系中,子類的方法與父類的某一方法具有相同的方法 名、返回類型和參數(shù)列表,則稱子類的該方法重寫 (覆蓋)父類的 方法。 2、什么是多態(tài)? 多態(tài)意味著一個(gè)對象有著多種形態(tài), 可以在特定的情況下,表現(xiàn) 不同的狀態(tài),從而對應(yīng)著不同的屬性和方法。簡單的說,多
43、態(tài)就 是使用父類類型的變量引用子類對象, 根據(jù)被引用子類對象的特 性,程序會得到不同的運(yùn)行效果。 3、抽象類和接口的區(qū)別? 在Java中,使用abstract關(guān)鍵字修飾的類稱之為抽象類。抽 象類是不能被實(shí)例化的,通常需要寫一個(gè)子類來繼承抽象類, 同 時(shí)實(shí)例化子類來獲得該類的對象。抽象類通常用于表示一種抽象 的概念。 接口可以說是一種特殊的抽象類, 接口中只能定義常量和抽象方 法。由于接口的特殊性,在定義時(shí)需要使用 interface 關(guān)鍵字。 六、編程題 請按照題目的要求編寫程序并給出運(yùn)行結(jié)果。 1、設(shè)計(jì)一個(gè)學(xué)生類 Student 和它的一個(gè)子類 Undergraduate
44、, 要求如下: 1) Student 類有name(姓名)、和age(年齡)屬性,一個(gè)包含 兩個(gè)參數(shù)的構(gòu)造方法,用于給 name 和age屬性賦值,一個(gè) show()方法打印Student 的屬性信息 2)本科生類 Undergraduate 增加一個(gè) degree(學(xué)位)屬性。 有一個(gè)包含三個(gè)參數(shù)的構(gòu)造方法,前兩個(gè)參數(shù)用于給繼承的 name和age屬性賦值,第三個(gè)參數(shù)給 degree 專業(yè)賦值,一 個(gè)show()方法用 于打印Undergraduate 的屬性信息 3)在測試類中分別創(chuàng)建 Student 對象和 Undergraduate 對 象,調(diào)用它們的show()。 2
45、、設(shè)計(jì)一個(gè)Shape接口和它的兩個(gè)實(shí)現(xiàn)類 Square和Circle , 要求如下: 1) Shape接口中有一個(gè)抽象方法 area(),方法接收有一個(gè) double類型的參數(shù),返回一個(gè) double類型的結(jié)果 2) Square和Circle中實(shí)現(xiàn)了 Shape接口的area()抽象方法, 分別求正方形和圓形的面積并返回在測試類中創(chuàng)建 Square 和 Circle對象,計(jì)算邊長為2的正方形面積和半徑為 3的圓形面 積 3、自定義一個(gè)異常類 NoThisSoundException 和 Player 類, 在Player的play()方法中使用自定義異常, 要求入下: 1)
46、NoThisSongException 繼承 Exception 類,類中有一個(gè) 無參和一個(gè)接收一個(gè)String類型參數(shù)的構(gòu)造方法,構(gòu)造方法中 都使用super關(guān)鍵字調(diào)用父類的構(gòu)造方法。 2) Player類中定義一個(gè) play(int index)方法,方法接收一個(gè) int類型的參數(shù),表示播放歌曲的索引,當(dāng)index>10 時(shí),paly() 方法用throw關(guān)鍵字拋出NoThisSongException 異常,創(chuàng)建 異常對 象時(shí),調(diào)用有參的構(gòu)造方法,傳入“您播放的歌曲不存在”。 3)在測試類中創(chuàng)建 Player對象,并調(diào)用play()方法測試自定 義的 NoThisSongEx
47、ception 異常,使用 try ???catch 語句捕獲 異常,調(diào)用 NoThisSongException 的 getMessage()方法打 印出異常信息。 第5章多線程 一、填空題 1、一個(gè)應(yīng)用程序中有多條并發(fā)執(zhí)行的線索,每條線索都被稱作 一個(gè)線程 L它們會交替執(zhí)行, 彼此 間可以進(jìn)行_通信 O 2、在實(shí)現(xiàn)多線程的程序時(shí)有兩種方式,一是通過繼 _Thread 承類,二是通過實(shí)現(xiàn) Runnable 接口。 3、yield()方法只能讓相同優(yōu)先級或者更高優(yōu)先級、處于 _就緒 狀態(tài)的線程獲得運(yùn)行的機(jī)會。 4、在Java語言中,同步方法需要用到關(guān)鍵字 .synchro
48、nized., 對于同步方法而言無需指定同步鎖, 它的同步 鎖是方法所在的_對象 2也就是_this(關(guān)鍵字)。 5、在多任務(wù)系統(tǒng)中,每個(gè)獨(dú)立執(zhí)行的程序稱之為 _線程 2 也就是“正在運(yùn)行的程序”。 6、線程的整個(gè)生命周期分為五個(gè)階段,分別是 _新建>就 緒> _運(yùn)行> _阻塞>和死亡 o 7、線程的優(yōu)先級用 1?10 之間的整數(shù)來表示,其中__10___代 表優(yōu)先級最高,__1 —代表優(yōu)先級最低。 8、在Thread類中,提供了一個(gè)start()方法,該方法用于啟動 線程 L當(dāng)新線程啟動后,系統(tǒng)會 自動調(diào)用 —run()方法。 9、要 想解決 線程間的 通信問 題,
49、可以 使用_wait()、 notify()、_notifyALL() 方法。 10、要將某個(gè)線程設(shè)置為后臺線程,需要調(diào)用該線程的 _setDaemon(true) 方法,該方法必須在 _start()方法之前調(diào)用。 二、判斷題 1、當(dāng)我們創(chuàng)建一個(gè)線程對象時(shí),該對象表示的線程就立即開始 運(yùn)行。錯(cuò) 2、如果前臺線程全部死亡,后臺線程也會自動死亡。對 3、同步代碼塊中的鎖對象可以是任意類型的對象。對 4、靜態(tài)方法不能使用 synchronized 關(guān)鍵字來修飾。錯(cuò) 5、線程結(jié)束等待或者阻塞狀態(tài)后,會進(jìn)入運(yùn)行狀態(tài)。錯(cuò) 三、選擇題 1、Thread 類位于下列哪個(gè)包中? B
50、 A、java.io B、C、java.util D、java.awt 2、關(guān)于線程的創(chuàng)建過程,下面四種說法正確的有哪些? (多 選)AC A、定義Thread 類的子類,重寫 Thread 類的run()方法,創(chuàng) 建該子類的實(shí)例對象,調(diào)用對象的 start() 方法 B、定義Thread 類的子類,重寫 Thread 類的run()方法,創(chuàng) 建該子類的實(shí)例對象,調(diào)用對象的 run() 方法 C、定義一個(gè)實(shí)現(xiàn) Runnable 接口的類并實(shí)現(xiàn)run()方法,創(chuàng)建 該類實(shí)例對象,將其作為參數(shù)傳遞給 Thread類的構(gòu)造方法來創(chuàng)建 Thread對象,調(diào)用Thread對象 的star
51、t()方法 D、定義一個(gè)實(shí)現(xiàn)Runnable 接口的類并實(shí)現(xiàn)run()方法,創(chuàng)建 該類對象,然后調(diào)用run()方法 3、對于通過實(shí)現(xiàn)Runnable 接口創(chuàng)建線程,下面說法正確的有 哪些?(多選)ABC A、適合多個(gè)相同程序代碼的線程去處理同一個(gè)資源的情況 B、把線程同程序代碼、數(shù)據(jù)有效的分離,很好的體現(xiàn)了面向?qū)?象的設(shè)計(jì)思想 C、可以避免由于Java的單繼承帶來的局限性 D、編寫簡單,可以不通過 Thread類直接創(chuàng)建線程 4、對于線程的生命周期,下面四種說法正確的有哪些? (多選) ABC(BC) A、調(diào)用了線程的start()方法,該線程就進(jìn)入運(yùn)行狀態(tài)(就緒, 還要
52、獲得CPU使用權(quán)) B、線程的run()方法運(yùn)行結(jié)束或被未catch 的 InterruptedException 等異常終結(jié),那么該線程進(jìn)入死 亡狀態(tài) C、線程進(jìn)入死亡狀態(tài),但是該線程對象仍然是一個(gè) Thread對 象,在沒有被垃圾回收器回收之前 仍可以像引用其它對象一樣引用它 D、線程進(jìn)入死亡狀態(tài)后,調(diào)用它的start()方法仍然可以重新啟 動 5、對于死鎖的描述,下面四種說法正確有哪些? (多選)AB (ABD ) A、當(dāng)兩個(gè)線程互相等待對方釋放同步鎖時(shí)會發(fā)生死鎖 B、Java虛擬機(jī)沒有檢測和處理死鎖的措施 C、一旦出現(xiàn)死鎖,程序會發(fā)生異常 D、處于死鎖狀態(tài)的線
53、程處于阻塞狀態(tài),無法繼續(xù)運(yùn)行 6、下面四個(gè)選項(xiàng)中,哪些是線程進(jìn)入阻塞狀態(tài)的原因? (多 選)ABC A、線程試圖獲取某個(gè)對象的同步鎖,而該鎖被其它線程持有 B、線程調(diào)用了另一個(gè)線程的join()方法 C、當(dāng)線程調(diào)用了一個(gè)阻塞式的IO方法 D、線程調(diào)用了 setDaemon(boolean b) 方法 7、線程調(diào)用sleep()方法后,該線程將進(jìn)入以下哪種狀態(tài)? C A、就緒狀態(tài) B、運(yùn)行狀態(tài) C、阻塞狀態(tài) D、死亡狀態(tài) 8、在以下哪種情況下,線程進(jìn)入就緒狀態(tài)? D A、線程調(diào)用了 sleep()方法時(shí) B、線程調(diào)用了 join()方法(終止) C、線程調(diào)用了 y
54、ield()方法時(shí) D、線程調(diào)用了 notify()方法?? 9、下面四個(gè)選項(xiàng)中,對線程同步的目的描述正確的有哪些? (多 選)AD(AB) A、鎖定資源,使同一時(shí)刻只有一個(gè)線程去訪問它,防止多個(gè)線 程操作同一個(gè)資源引發(fā)錯(cuò)誤 B、提高線程的執(zhí)行效率 C、讓線程獨(dú)占一個(gè)資源 D、讓多個(gè)線程同時(shí)使用一個(gè)資源 10、對于wait()方法,下面說法正確的是?(多選)ABCD A、wait()方法的調(diào)用者是同步鎖對象 B、wait()方法使線程進(jìn)入等待狀態(tài) C、調(diào)用同一鎖對象的notify()或notifyAll() 方法可以喚醒調(diào)用 wait()方法等待的線程 D、調(diào)用w
55、ait()方法的線程會釋放同步鎖對象 四、程序分析題 閱讀下面的程序,分析代碼是否能編譯通過,如果能編譯通過, 請列出運(yùn)行的結(jié)果。如果不能編譯通過,請說明原因。 1 .代碼一:不能, RunHandler 沒有繼承 Thread ,不能用 Thread創(chuàng)建對象(程序不能編譯通過,因?yàn)?RunHandler 類沒 有實(shí)現(xiàn)Runnable 接口,因此RunHandler 的實(shí)例對象不能作 為參數(shù)傳遞給Thread的構(gòu)造方法。) class RunHandler { public void run(){ System.out.println("run"); } } public cla
56、ss Test { public static void main(String [] args) { Thread t = new Thread(new RunHandler()); t.start(); } } 2 .代碼二:this is run(程序不能編譯通過,因?yàn)?Thread的子 類A重寫的run()方法的訪問級別不能低于 父類run()方法的。訪問級別) public class A extends Thread{ protected void run() { System.out.println("this is run()"); } public
57、static void main(String口 args) { A a = new A(); a.start(); } } 3 .代碼三:Exception(程序不能編譯通過,因?yàn)橥椒椒ㄖ姓{(diào) 用wait()方法的對象必須為同步鎖對象) public class Test{ private Object obj=new Object(); public synchronized void a(){ try { obj.wait() ;改 this.wait() System.out.println("waiting"); } catch (InterruptedEx
58、ception e) { System.out.println("Exception"); } } public static void main(String口 args) { new Test().a(); } } 4 .為了使下面的程序能夠輸出“ Thread is running ”,請?jiān)谠?空格處填上相應(yīng)的代碼。 public class B implements Runnable { public static void main(String口 args) { Thread t = new Thread(new B()); __t.start() 〃此處
59、填空 } public void run() { System.out.println("Thread is running"); } public void go() { start(1); } public void start(int i) { } } 五、簡答題 1、java中有幾種方法可以實(shí)現(xiàn)一個(gè)線程?清舉例說明。 一種是繼承包下的 Thread類,覆寫Thread類的run()方法, 在run()方法中實(shí)現(xiàn)運(yùn)行在線程上的代碼。 new Thread() { public void run(){} }.start(); 另一種就是實(shí)現(xiàn) Runnable
60、 接口,同樣是在run()方法中實(shí)現(xiàn)運(yùn) 行在線程上的代碼。 new Thread(new Runnable(){ public void run(){} }).start() 2、sleep() 和wait() 有什么區(qū)別? 調(diào)用sleep()方法,正在執(zhí)行的線程主動讓出 CPU去執(zhí)行其他 線程,在sleep()方法指定的時(shí)間過后,CPU才會回到這個(gè)線 程上繼續(xù)往下執(zhí)行,如果當(dāng)前線程進(jìn)入了同步鎖, sleep()方法 并不會釋放鎖,即使當(dāng)前線程使用sleep()方法讓出了 CPU,但 其它被同步鎖擋住了的線程也無法得到執(zhí)行。 wait()在一個(gè)已經(jīng) 進(jìn)入了同步鎖的線程內(nèi)進(jìn)行調(diào)用,讓
61、當(dāng)前線程暫時(shí)讓出同步鎖, 以便其它正在等待此鎖的線程可以得到同步鎖井運(yùn)行。 當(dāng)其它線 程調(diào)用了 notify()方法后,調(diào)用 wait()方法的線程就會解除wait狀態(tài),當(dāng)再次獲得同步鎖后,程序可以繼續(xù)向下執(zhí)行。 六、編程題 請按照題目的要求編寫程序并給出運(yùn)行結(jié)果。 1、通過繼承Thread類的方式創(chuàng)建兩個(gè)線程,在 Thread構(gòu)造 方法中指定線程的名字,并將這兩個(gè)線程 的名字打印出來。 2、通過實(shí)現(xiàn)Runnable 接口的方式創(chuàng)建一個(gè)新線程, 要求main 線程打印100此次“ main ”,新線程打 印 50 次 “ new ”。 3、模擬傳智播客的三個(gè)老師同時(shí)分發(fā) 80份
62、學(xué)習(xí)筆記,每個(gè)老 師相當(dāng)于一個(gè)線程。 4、編寫10個(gè)線程,第一個(gè)線程從 1加到10,第二個(gè)線程從 11加到20...第十個(gè)線程從91加到100 , 最后再把十個(gè)線程結(jié)果相加。 第 6 章 JavaAPI 一、填空題 1、在Java中定義了兩個(gè)類來封裝對字符串的操作,它們分別 是 String_ 和_StringBuffer 。 2、Java 中的操作日期的類有_Date、_Calendar、 DateFormat 等。 3、在程序中若想取得一個(gè) Runtime 實(shí)例,則可以調(diào)用Runtime 類的靜態(tài)方法getRnutime() 。 4、Math類中用于計(jì)算所傳遞參數(shù)平
63、方根的方法是 _sqrt()。 5、Java中專門用于將日期格式化為字符串的類是 _DateFormat 。 6、Math類中有兩個(gè)靜態(tài)常量 PI和E,分別代表數(shù)學(xué)常量_兀— 和 _e o 7、Java中的用于產(chǎn)生隨機(jī)數(shù)的類是 _Random ,它位于 java.util 包中。 8、String 類中用于返回字符串字符個(gè)數(shù)的方法是 _length() 。 9、System 類中所提供的屬性和方法都是 一靜態(tài)___的,想要引 用這些屬性和方法,直接使用 System類 調(diào)用即可。 10、已知 sb 為 StringBuffer 的一個(gè)實(shí)例,且 sb.toString()
64、的值為"abcde ",則執(zhí)行sb. reverse。后, sb.toString()的值為二edcba_ " ? 二、判斷題 1、String對象和StringBuffer 對象都是字符串變量,創(chuàng)建后 都可以修改。錯(cuò) 2、用運(yùn)算符“==”比較字符串對象時(shí),如果兩個(gè)字符串的值相 同,結(jié)果為true。錯(cuò) 3、System 類中1的 currentTimeMillis() 方法返回一個(gè) long 類 型的值。對 4、Date、Calendar 以及 DateFormat 類都位于 java.util 包 中。錯(cuò)分別 java.util.Date java.util.Calendar
65、 java.text.DateFormat 5、 String 類 的方法 replace (CharSequence srtl, CharSequence srt2)返回一個(gè)新的字符串,它是通過用 srt2 替換此字符串中出現(xiàn)的所有 srt1得到的。對三、選擇題。 1、先閱讀下面的程序片段:C String str = "abccdefcdh"; String口 arr = str.split("c"); System.out.println(arr.length); 程序執(zhí)行后,打印的結(jié)果是幾? A、2個(gè) B、3個(gè) C、4個(gè) D、5個(gè) 2、以下都是Math類的常用方法
66、,其中用于計(jì)算絕對值的方法 是哪個(gè)? C A、ceil() B、floor() C、abs() D、random() 3、Random 對象能夠生成以下哪種類型的隨機(jī)數(shù)? D A、 int B、string C、double D、A 和 C 4、String s = "abcdedcba"; 貝U s.substring(3 , 4)返回的字 符串是以下選項(xiàng)中的哪個(gè)? C A、cd B、de C、d D、e 5、假若indexOf()方法未能找到所指定的子字符串,則返回以 下選項(xiàng)中的哪個(gè)? C A、false B、0 C、-1 D、以上答案都不對 6、要產(chǎn)生[20 ,999]之間的隨機(jī)整數(shù)可以使用以下哪個(gè)表達(dá)式? B A. (int)(20+Math.random()*97) B. 20+(int)(Math.random()*980) C. (int)Math.ran
- 溫馨提示:
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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中西方家庭教育的對比ppt課件
- 《運(yùn)籌學(xué)教程》第五版運(yùn)籌學(xué)6對策論矩陣對策課件
- (部編版)統(tǒng)編版四年級語文下冊第2課《鄉(xiāng)下人家》ppt課件
- 全等三角形1--公開課一等獎ppt課件
- 《會跳舞樹葉娃娃》課件
- 9兒童詩兩首_人教版五年級的語文下冊課件
- 綠色植物是食物之源(我的課件)0
- 河南專版2022春八年級語文下冊第四單元16慶祝奧林匹克運(yùn)動復(fù)興25周年習(xí)題課件新人教版
- 全國xx杯說課大賽機(jī)械類一等獎作品:鉗工車模的制作說課ppt課件
- 六年級下冊數(shù)學(xué)ppt課件-總復(fù)習(xí)(1)數(shù)的認(rèn)識-整數(shù)∣北師大版
- 牛頓第二定律優(yōu)秀完整公開課ppt課件
- 調(diào)脂與卒中防治課件
- 點(diǎn)到平面的距離課件
- 聚焦新醫(yī)改形勢下的醫(yī)院發(fā)展戰(zhàn)略
- 四肢血管超聲基礎(chǔ)