Java練習(xí)題1-4章
《Java練習(xí)題1-4章》由會員分享,可在線閱讀,更多相關(guān)《Java練習(xí)題1-4章(11頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、第1章 Java開發(fā)入門 一、填空題 1、Java程序的運行環(huán)境簡稱之為______。 2、編譯Java程序需要使用______命令。 3、javac.exe和java.exe兩個可執(zhí)行程序存放在JDK安裝目錄的______目錄下。 4、______環(huán)境變量用來存儲Java的編譯和運行工具所在的路徑。 二、選擇題 1、Java屬于以下哪種語言? A、機器語言 B、 匯編語言 C、高級語言 D、以上都不對 2、下面哪種類型的文件可以在Java虛擬機中運行? A、.java B、.jre C、.exe D、.class 3、安裝
2、好JDK后,在其bin目錄下有許多exe可執(zhí)行文件,其中java.exe命令的作用是以下哪一種? A、Java文檔制作工具 B、Java解釋器 C、Java編譯器D、Java啟動器 4、如果jdk的安裝路徑為:d:\jdk,若想在命令窗口中任何當(dāng)前路徑下,都可以直接使用javac和java命令,需要將環(huán)境變量path設(shè)置為以下哪個選項? A.d:\jdk;B.d:\jdk\bin;C.d:\jre\bin;D.d:\jre; 第2章 基本數(shù)據(jù)類型與數(shù)組 一、填空題 1、Java中的程序代碼都必須在一個類中定義,類使用______關(guān)鍵字來定義。 2、布爾常量即布爾類型的兩個值
3、,分別是______和______。 3、Java中的注釋可分為三種類型,分別是______、______、______。 4、Java中的變量可分為兩種數(shù)據(jù)類型,分別是______和______。 5、在Java中,byte類型數(shù)據(jù)占______個字節(jié),short類型數(shù)據(jù)占______個字節(jié),int類型數(shù)據(jù)占______個字節(jié),long類型數(shù)據(jù)占______個字節(jié)。 6、在邏輯運算符中,運算符______和______用于表示邏輯與,______和______表示邏輯或。 7、若x = 2,則表達(dá)式 ( x + + )/3 的值是______。 8、若int a =2; a+=3
4、;執(zhí)行后,變量a的值為______。 9、若int []a={12,45,34,46,23}; ,則a[2]= ______。 10、若int a[3][2]={{123,345},{34,56},{34,56}},則a[2][1]= ______。 二、判斷題 1、Java語言不區(qū)分大小寫。 2、0xC5表示的是一個十六進(jìn)制整數(shù)。 3、continue 語句只用于循環(huán)語句中,它的作用是跳出循環(huán)。 4、“/*…*/”中可以嵌套“//”注釋,但不能嵌套“/*…*/”注釋。 5、-5%3的運算結(jié)果是2。 三、選擇題 1、以下選項中,哪些屬于合法的標(biāo)識符?(多選) A、Hell
5、o_World B、class C、123username D、username123 2、以下關(guān)于變量的說法錯誤的是? A、變量名必須是一個有效的標(biāo)識符 B、變量在定義時可以沒有初始值 C、變量一旦被定義,在程序中的任何位置都可以被訪問 D、在程序中,可以將一個byte類型的值賦給一個int類型的變量,不需要特殊聲明 3、以下選項中,switch語句判斷條件可以接收的數(shù)據(jù)類型有哪些? (多選) A、int B、byte C、char D、short 4、假設(shè)int x = 2,三元表達(dá)式 x>0?x+1:5 的運行結(jié)果是以下哪一個?
6、 A、0 B、2 C、3 D、5 5、下面的運算符中,用于執(zhí)行除法運算是哪個? A、/ B、\ C、% D、* 6、下列語句哪些屬于循環(huán)語句?(多選) A、for語句 B、if語句 C、while語句 D、switch語句 7、下面哪種寫法可以實現(xiàn)訪問數(shù)組arr的第1個元素? A、arr[0] B、arr(0) C、arr[1] D、arr(1) 8、以下哪個選項可以正確創(chuàng)建一個長度為3的二維數(shù)組? A、 new int [2][3]; B、 new
7、 int[3][]; C、 new int[][3]; D、 以上答案皆不對 9、請先閱讀下面的代碼。 int x = 1; int y = 2; if (x % 2 == 0) { y++; } else { y--; } System.out.println("y=" + y); 上面一段程序運行結(jié)束時,變量y的值為下列哪一項? A、1 B、2 C、3 D、switch語句 四、程序分析題 閱讀下面的程序,分析代碼是否能夠編譯通過,如果能編譯通過,請列出運行的結(jié)果。否則請說明編譯失敗的原因。 代碼一:
8、public class Test01 { public static void main(String[] args) { byte b = 3; b = b + 4; System.out.println("b=" + b); } } 代碼二: public class Test02 { public static void main(String[] args){ int x = 12; { int y = 96; System.out.println("x is " + x); System.out.pri
9、ntln("y is " + y); } y = x; System.out.println("x is " + x); } } 代碼三: 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++; case 4: j++; case 5: j++; defa
10、ult: j++; } System.out.println(j); } } 代碼四: public class Test04 { public static void main(String args[]) { int n = 9; while (n > 6) { System.out.println(n); n--; } } } 五、編程題 請按照題目的要求編寫程序并給出運行結(jié)果。 1、請編寫程序,實現(xiàn)計算“1+3+5+7+…+99”的值。 提示: 1) 使用循環(huán)語句實現(xiàn)自然數(shù)1~99的遍歷。
11、 2) 在遍歷過程中,通過條件判斷當(dāng)前遍歷的數(shù)是否為奇數(shù),如果是就累加,否則不加。 2、已知函數(shù) x + 3 ( x > 0 ) y = 0 ( x = 0 ) x2 –1 ( x < 0 ) 請設(shè)計一個方法實現(xiàn)上面的函數(shù),根據(jù)傳入的值x的不同,返回對應(yīng)的y值。 提示: 1) 定義一個static修飾符修飾的方法,方法接收一個int類型的參數(shù)x,返回值為int類型。 2) 在方法中使用if…else if..else 語句針對x的值進(jìn)行三
12、種情況的判斷。 3) 根據(jù)判斷結(jié)果分別執(zhí)行不同的表達(dá)式,并將結(jié)果賦予變量y。 4) 在方法的最后返回y的值。 5) 在main方法中調(diào)用設(shè)計好的方法,傳入一個int型的值,將方法的返回值打印。 1、 編寫一個應(yīng)用程序:分別定義double類型數(shù)組和char類型數(shù)組,分別實現(xiàn)數(shù)組元素的初始化,并用兩種不同方式分別打印數(shù)組元素的值,數(shù)組的長度和數(shù)組的引用地址。 2、 編寫一個應(yīng)用程序:計算1+2!+3!+4!+......的前20項的和。 3、 編寫一個應(yīng)用程序:計算100以內(nèi)的全部素數(shù)。 4、請按照以下要求設(shè)計一個學(xué)生類Student,并進(jìn)行測試。 要求如下: 1)Studen
13、t類中包含姓名、成績兩個屬性 2)分別給這兩個屬性定義兩個方法,一個方法用于設(shè)置值,另一個方法用于獲取值. 3)Student類中定義一個無參的構(gòu)造方法和一個接收兩個參數(shù)的構(gòu)造方法,兩個參數(shù)分別為姓名和成績屬性賦值 4)在測試類中創(chuàng)建兩個Student對象,一個使用無參的構(gòu)造方法,然后調(diào)用方法給姓名和成績賦值,一個使用有參的構(gòu)造方法,在構(gòu)造方法中給姓名和成績賦值。 第3章 類與對象 一、填空題 1、 面向?qū)ο蟮娜筇卣魇莀_____、______和______。 2、 在Java中,可以使用關(guān)鍵字______來創(chuàng)建類的實例對象。 3、 定義在類中的變量被稱為______,定義在
14、方法中的變量被稱為______ 4、 面向?qū)ο蟪绦蛟O(shè)計的重點是______的設(shè)計,______是用來創(chuàng)建對象的模板。 5、 在非靜態(tài)成員方法中,可以使用關(guān)鍵字______訪問類的其它非靜態(tài)成員。 6、 被static關(guān)鍵字修飾的成員變量被稱為______,它可以被該類所有的實例對象共享。 7、 在一個類中,除了可以定義屬性、方法,還可以定義類,這樣的類被稱為______。 8、所謂類的封裝是指在定義一個類時,將類中的屬性私有化,即使用______關(guān)鍵字來修飾。 二、判斷題 1、在定義一個類的時候,如果類的成員被private所修飾,該成員不能在類的外部被直接訪問。 2、Java
15、中的每個類都至少有一個構(gòu)造方法,一個類中如果沒有定義構(gòu)造方法,系統(tǒng)會自動為這個類創(chuàng)建一個默認(rèn)的構(gòu)造方法。 3、聲明構(gòu)造方法時,不能使用private關(guān)鍵字修飾。 4、類中static修飾的變量或方法,可以使用類名或?qū)ο蟮囊米兞吭L問。 5、方法內(nèi)部類中不能訪問外部類的成員變量。 三、選擇題 1、類的定義必須包含在以下哪種符號之間? A、方括號[] B、花括號{} C、雙引號“” D、圓括號() 2、下面哪一個是正確的類的聲明? A、 public void HH{…} B、 public class Move(){…}
16、 C、 public class void number{} D、 public class Car{…} 3、在以下什么情況下,構(gòu)造方法會被調(diào)用? A、 類定義時 B、 創(chuàng)建對象時 C、 調(diào)用對象方法時 D、 使用對象的變量時 4、下面對于構(gòu)造方法的描述,正確有哪些?(多選) A、方法名必須和類名相同 B、方法名的前面沒有返回值類型的聲明 C、在方法中不能使用return語句返回一個值 D、當(dāng)定義了帶參數(shù)的構(gòu)造方法,系統(tǒng)默認(rèn)的不帶參數(shù)的構(gòu)造方法依然存在 5、使用this調(diào)用類的構(gòu)造方法,下面的說法正確的是?(多選)
17、 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òu)造方法中使用this互相調(diào)用 6、下面哪些可以使用static關(guān)鍵字修飾?(多選) A、 成員變量 B、局部變量 C、成員方法 D、成員內(nèi)部類 7、關(guān)于內(nèi)部類,下面說法正確的是?(多選) A、成員內(nèi)部類是外部類的一個成員,可以訪問外部類的其它成員 B、外部類可以訪問成員內(nèi)部類的成員 C、方法內(nèi)部類只能在其定義的當(dāng)前方法中進(jìn)行實例化
18、 D、靜態(tài)內(nèi)部類中可以定義靜態(tài)成員,也可以定義非靜態(tài)成員 8、請先閱讀下面的代碼 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)用了");
19、 } public static void main(String[] args) { Test test = new Test(true); } } 上面程序的運行結(jié)果為下列哪一項? A、構(gòu)造方法一被調(diào)用了 B、構(gòu)造方法二被調(diào)用了 C、構(gòu)造方法三被調(diào)用了 D、以上三個選項之和 9、Outer類中定義了一個成員內(nèi)部類Inner,需要在main()方法中創(chuàng)建Inner類實例對象,以下四種方式哪一種是正確的? A、 Inner in = new Inner() B、Inner in = new Outer.I
20、nner(); C、 Outer.Inner in = new Outer.Inner(); D、Outer.Inner in = new Outer().new Inner(); 四、程序分析題 閱讀下面的程序,分析代碼是否能夠編譯通過,如果能編譯通過,請列出運行的結(jié)果。否則請說明編譯失敗的原因。 代碼一: class A { private int secret = 5; } public class Test1 { public static void main(String[] args) { A a = new A(); System.o
21、ut.println(a.secret++); } } 代碼二: 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(); } } 代碼三: public class Outer { public String name="Outer"; private cla
22、ss Inner { String name="inner"; void showName(){ System.out.println(name); } } public static void main(String[] args) { Inner inner = new Outer().new Inner(); System.out.println(inner.name); } } 五、編程題 1、請按照以下要求設(shè)計一個學(xué)生類Student,并進(jìn)行測試。 要求如下: 1)Student類中包含姓名、成績兩個屬性 2)分別給這
23、兩個屬性定義兩個方法,一個方法用于設(shè)置值,另一個方法用于獲取值. 3)Student類中定義一個無參的構(gòu)造方法和一個接收兩個參數(shù)的構(gòu)造方法,兩個參數(shù)分別為姓名和成績屬性賦值 4)在測試類中創(chuàng)建兩個Student對象,一個使用無參的構(gòu)造方法,然后調(diào)用方法給姓名和成績賦值,一個使用有參的構(gòu)造方法,在構(gòu)造方法中給姓名和成績賦值 2、定義一個Father和Child類,并進(jìn)行測試。 要求如下: 1)Father類為外部類,類中定義一個私有的String類型的屬性name,name的值為“zhangjun”。 2)Child類為Father類的內(nèi)部類,其中定義一個introFather()方
24、法,方法中調(diào)用Father類的name屬性。 3)定義一個測試類Test,在Test類的main()方法中,創(chuàng)建Child對象,并調(diào)用introFather ()方法。 第4章 繼承與接口 一、填空題 1、在Java語言中,允許使用已存在的類作為基礎(chǔ)創(chuàng)建新的類,這種技術(shù)我們稱為______。 2、一個類如果實現(xiàn)一個接口,那么它就需要實現(xiàn)接口中定義的全部______,否則該類就必須定義成______。 3、在程序開發(fā)中,要想將一個包中的類導(dǎo)入到當(dāng)前程序中,可以使用______關(guān)鍵字。 4、一個類可以從其它的類派生出來,派生出來的類稱為______,用于派生的類稱為_____
25、_或者_(dá)_____。 5、 JDK中定義了大量的異常類,這些類都是______類的子類或者間接子類。 6、定義一個Java類時,如果前面加使用______關(guān)鍵字修飾,那么該類不可以被繼承。 7、如果子類想使用父類中的成員,可以通過關(guān)鍵字______引用父類的成員。 8、在Java語言中,所有的類都直接或間接繼承自______類。 9、異常的捕獲通常由try、catch兩部分組成,______代碼塊用來存放可能發(fā)生異常,______代碼塊用 來處理產(chǎn)生的異常。 二、判斷題 1、抽象方法必須定義在抽象類中,所以抽象類中的方法都是抽象方法。 2、Java中被final關(guān)鍵字修飾
26、的變量,不能被重新賦值。 3、不存在繼承關(guān)系的情況下,也可以實現(xiàn)方法重寫。 4、package聲明語句應(yīng)當(dāng)為Java源文件中的第一條語句。 5、接口中只能定義常量和抽象方法。 三、選擇題 1、在類的繼承關(guān)系中,需要遵循以下哪個繼承原則? A、多重 B、單一 C、雙重 D、不能繼承 2、在Java語言中,以下哪個關(guān)鍵字用于在方法上聲明拋出異常? A.try B.catch C.throws D.throw 3、關(guān)于super關(guān)鍵字以下說法哪些是正確的?(多選) A、super關(guān)鍵字可以調(diào)用父類的構(gòu)造方法 B、super關(guān)鍵
27、字可以調(diào)用父類的普通方法 C、super與this不能同時存在于同一個構(gòu)造方法中 D、super與this可以同時存在于同一個構(gòu)造方法中 4、以下說法哪些是正確的?(多選) A、Java語言中允許一個類實現(xiàn)多個接口 B、Java語言中不允許一個類繼承多個類 C、Java語言中允許一個類同時繼承一個類并實現(xiàn)一個接口 D、Java語言中允許一個接口繼承一個接口 5、類中的一個成員方法被下面哪個修飾符修飾,該方法只能在本類被訪問? A、public B、 protected C、 private D、default 6、關(guān)于抽象類的說法
28、哪些是正確的?(多選) A、抽象類中可以有非抽象方法。 B、如果父類是抽象類,則子類必須重寫父類所有的抽象方法。 C、不能用抽象類去創(chuàng)建對象。 D、接口和抽象類是同一個概念。 7、在Java中,要想讓一個類繼承另一個類,可以使用以下哪個關(guān)鍵字? A、inherits B、implements C、extends D、modifies 8、System類位于以下哪個包中? A、java.io B、java.util C、java.awt D、java.lang 9、已知類的繼承關(guān)系如下: class Employee; class
29、 Manager extends Employeer; class Director extends Employee; 則以下語句能通過編譯的有哪些? A、 Employee e=new Manager(); B、 Director d=new Manager(); C、 Director d=new Employee(); D、Manager m=new Director(); 10、編譯運行下面的程序,結(jié)果是什么? public class A { public static void main(String[] args) { B b
30、= new B(); b.test(); } void test() { System.out.print("A"); } } class B extends A { void test() { super.test(); System.out.print("B"); } } A、產(chǎn)生編譯錯誤 B、代碼可以編譯運行,并輸出結(jié)果AB C、代碼可以編譯運行,但沒有輸出 D、編譯沒有錯誤,但會產(chǎn)生運行時異常 四、分析題 閱讀下面的程序,分析代碼是否能編譯通過,如果能編譯通過,請列出運行
31、的結(jié)果。如果不能編譯通過,請說明原因。 代碼一: public 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 class An
32、imal { 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 { void shout() { System.out.println("動物叫!"); } } class Do
33、g extends Animal { void shout() { super.shout(); System.out.println("汪汪……"); } } public class Test03 { public static void main(String[] args) { Animal animal = new Dog(); animal.shout(); } } 代碼四: interface Animal { void breathe(); void run(); void eat(){}; } c
34、lass Dog implements Animal { public void breathe() { System.out.println("I’m breathing") } public void eat() { System.out.println("I’m eathing") } } public class test04 { public static void main(String [] args) { Dog dog = new Dog(); dog.breathe(); dog.e
35、at(); } } 五、簡答題 1、什么是方法重寫? 2、什么是多態(tài)? 3、抽象類和接口的區(qū)別? 六、編程題 請按照題目的要求編寫程序并給出運行結(jié)果。 1、 設(shè)計一個學(xué)生類Student和它的一個子類Undergraduate,要求如下: 1) Student類有name(姓名)、和age(年齡)屬性,一個包含兩個參數(shù)的構(gòu)造方法,用于給name和age屬性賦值,一個show()方法打印Student的屬性信息 2) 本科生類Undergraduate增加一個degree(學(xué)位)屬性。有一個包含三個參數(shù)的構(gòu)造方法,前兩個參數(shù)用于給繼承的name和age屬性賦值,第三個
36、參數(shù)給degree專業(yè)賦值,一個show()方法用于打印Undergraduate的屬性信息 3) 在測試類中分別創(chuàng)建Student對象和Undergraduate對象,調(diào)用它們的show()。 2、設(shè)計一個Shape接口和它的兩個實現(xiàn)類Square和Circle,要求如下: 1)Shape接口中有一個抽象方法area(),方法接收有一個double類型的參數(shù),返回一個double類型的結(jié)果 2)Square和Circle中實現(xiàn)了Shape接口的area()抽象方法,分別求正方形和圓形的面積并返回 在測試類中創(chuàng)建Square和Circle對象,計算邊長為2的正方形面積和半徑為3的圓形面積。
- 溫馨提示:
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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識競賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案