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

下載本文檔

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

文檔簡介

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

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

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

4、10下列說法正確的是( A ) A、 JAVA程序的main方法必須寫在類里面B、 JAVA程序中可以有多個(gè)main方法 C、 JAVA程序中類名必須與文件名一樣 D、 JAVA程序的main方法中如果只有一條語句,可以不用(大括號(hào))括起來11下列哪些語句關(guān)于Java內(nèi)存回收的說明是正確的? ( B ) A、程序員必須創(chuàng)建一個(gè)線程來釋放內(nèi)存 B、內(nèi)存回收程序負(fù)責(zé)釋放無用內(nèi)存 C、內(nèi)存回收程序允許程序員直接釋放內(nèi)存 D、內(nèi)存回收程序可以在指定的時(shí)間釋放內(nèi)存對(duì)象1.2填空題1、 開發(fā)與運(yùn)行Java程序需要經(jīng)過的三個(gè)主要步驟為_、_和_。解答:編輯源程序 、編譯生成字節(jié)碼和解釋運(yùn)行字節(jié)碼2、使用Ja

5、va編譯器_ javac_.exe編譯源文件得到字節(jié)碼文件。3、Java應(yīng)用程序必須通過Java解釋器_JAVA_.exe來解釋執(zhí)行其字節(jié)碼文件。4、如果Java源文件中有一個(gè)類是public類,那么源文件的名字必須與這個(gè)類的名字完全_相同_,擴(kuò)展名是.java 。5、Java應(yīng)用程序總是從主類的_main_方法開始執(zhí)行1.3簡答題13.簡述Java程序的開發(fā)過程? (1)使用一個(gè)文字編輯器,編寫源文件。(2)使用java編譯器,編譯源文件得到字節(jié)碼文件。(3)解釋運(yùn)行字節(jié)碼,分兩種java應(yīng)用程序必須通過java解釋器來解釋執(zhí)行,java小應(yīng)用程序必須使用解釋器和瀏覽器運(yùn)行程序。1.什么是J

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

7、&meD. _endline解答:2、 若有定義 int a=9,b=6; 那么ab的值是:( )A. 0B. 1C. falseD. true解答:D3、執(zhí)行完以下代碼int x = new int25;后,以下說明正確的是:( )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=1;imax) max=xi; System.out.println(max); A. 2B. -8C. 7D. 9解答:5、設(shè) x =

8、1 , y = 2 , z = 3,則表達(dá)式 yz/x 的值是( )A. 3B. 3.5 C. 4D. 5解答:A5、執(zhí)行System.out.println(5/4),這條代碼的輸出結(jié)果是( )A. 1B. 1.25 C. 1.5D. 0解答:A6、下列語句有錯(cuò)誤的是:( )A. int a; B. int b=new int10; C. int c=new int; D. int d=null;解答:C7、下列語句有錯(cuò)誤的是:( )A. int a=new int55; B. int b=new int55;C. int c=new int55; D. int d=new int5,5;解

9、答:D8、下列哪一個(gè)不屬于Java中的8種基本數(shù)據(jù)類型( )A. double; B.char;C. int; D. String;解答:D9、以下數(shù)據(jù)類型存儲(chǔ)空間最大的是( )。(A)byte (B)long (C)float (D)char解答:B10、System.out.println(5 + 2);的輸出結(jié)果應(yīng)該是()。A 52 B7 C2 D5答案:A11在類的定義中可以有兩個(gè)同名方法,每個(gè)方法的參數(shù)不同,這種現(xiàn)象稱為方法(D )。 (A)封裝 (B)繼承 (C)覆蓋 (D)重載12java中定義字符串String s=”pzhu”,下面操作可以取得字符串長度的是( )。 A. s

10、.length() B. s.length C. s.size() D. length(s)解答:A13指出下列程序運(yùn)行的結(jié)果 (B)(很難)public class Example String str = new String(good); char ch = a, b, c ; public static void main(String args) Example ex = new Example(); ex.change(ex.str, ex.ch); System.out.print(ex.str + and ); System.out.print(ex.ch); public v

11、oid change(String str, char ch) str = test ok; ch0 = g; A、 good and abcB、 good and gbcC、 test ok and abcD、 test ok and gbc14下面代碼的運(yùn)行結(jié)果為:(C)(較難)import java.io.*;import java.util.*;public class foo public static void main (String args) String s; System.out.println(s= + s); A 代碼得到編譯,并輸出“s=”B 代碼得到編譯,并輸出“

12、s=null”C 由于String s沒有初始化,代碼不能編譯通過D 代碼得到編譯,但捕獲到 NullPointException異常15關(guān)于以下程序段,正確的說法是( C ) 1 String s1=”abc”+”def”; 2 String s2=new String(s1); 3 if(s1= =s2) 4 System.out.println(“= = succeeded”); 5 if (s1.equals(s2) 6 System.out.println(“.equals() succeeded”);A、行4與行6都將執(zhí)行 B、行4執(zhí)行,行6不執(zhí)行 C、行6執(zhí)行,行4不執(zhí)行 D、行

13、4、行6都不執(zhí)行16Java application中的主類需包含main方法,main方法的返回類型是什么?( D ) A、int B、float C、double D、void17為一個(gè)boolean類型變量賦值時(shí),可以使用(B )方式 A、 boolean = 1; B、 boolean a = (9 = 10); C、 boolean a=真; D、 boolean a = = false;18表達(dá)式(11+3*8)/4%3的值是( D ) A、 31 B、 0 C、 1 D、 219運(yùn)算符優(yōu)先級(jí)別排序正確的是( A) (太難)A、 由高向低分別是:()、!、算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏

14、輯運(yùn)算符、賦值運(yùn)算符; B、 由高向低分別是:()、關(guān)系運(yùn)算符、算術(shù)運(yùn)算符、賦值運(yùn)算符、!、邏輯運(yùn)算符; C、 由高向低分別是:()、算術(shù)運(yùn)算符、邏輯運(yùn)算符、關(guān)系運(yùn)算符、!、賦值運(yùn)算符; D、 由高向低分別是:()、!、關(guān)系運(yùn)算符、賦值運(yùn)算符、算術(shù)運(yùn)算符、邏輯運(yùn)算符;20下列值不為true的表達(dá)式有(C )。A、 john = = john B、 john.equals(john) C、 john = john D、 john.equals(new String(john)21、下面的方法,當(dāng)輸入為2的時(shí)候返回值是多少?(D)(很難) public static int getValue(in

15、t i) int result = 0; switch (i) case 1: result = result + i; case 2: result = result + i * 2; case 3: result = result + i * 3; return result; A0 B2 C4 D10答案:D解析:注意這里case后面沒有加break,所以從case 2開始一直往下運(yùn)行。22、下面有關(guān)for循環(huán)的描述正確的是( A ) A、 for循環(huán)體語句中,可以包含多條語句,但要用大括號(hào)括起來 B、 for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況 C、 在for循環(huán)中,不能使用break語

16、句跳出循環(huán) D、 for循環(huán)是先執(zhí)行循環(huán)體語句,后進(jìn)行條件判斷23、score是一個(gè)整數(shù)數(shù)組,有五個(gè)元素,已經(jīng)正確初始化并賦值,仔細(xì)閱讀下面代碼,程序運(yùn)行結(jié)果是( B ) temp = score0; for (int index = 1;index 5;index+) if (scoreindex temp) temp = scoreindex; A. 求最大數(shù) B. 求最小數(shù) C. 找到數(shù)組最后一個(gè)元素 D. 編譯出錯(cuò)26、2.2填空題1、Java語言是一種完全的_面向?qū)ο?_程序設(shè)計(jì)語言 2、String s1=“China”; int n=s1.length( ); n的值為_5_3、

17、在Java語言中,基本數(shù)據(jù)類型包括:_整數(shù)類型、_浮點(diǎn)類型、_字符類型_和_布爾類型17、在Java的基本數(shù)據(jù)類型中,char型采用Unicode編碼方案,每個(gè)Unicode碼占用_2_字節(jié)內(nèi)存空間,這樣,無論是中文字符還是英文字符,都是占用_2_字節(jié)內(nèi)存空間。18、設(shè) x = 2 ,則表達(dá)式 ( x + + )3 的值是_0_。20、設(shè)有數(shù)組定義:int MyIntArray = 10, 20, 30, 40, 50, 60, 70 ;則執(zhí)行以下幾個(gè)語句后的輸出結(jié)果是: 120 。int MyIntArray = 10, 20, 30, 40, 50, 60, 70 ;int s = 0;f

18、or (int i = 0; i MyIntArray.length; i+)if (i % 2 = 1)s += MyIntArrayi;System.out.println(s);21、數(shù)組對(duì)象的長度在數(shù)組對(duì)象創(chuàng)建之后,就_不會(huì)_改變。數(shù)組元素的下標(biāo)總是從_0_開始。22、對(duì)于數(shù)組intt=1,2,3,4,5,6來說,t.length等于_2_,t0.length等于_3_。2.3簡答題1、Java的基本數(shù)據(jù)類型有哪8種,每種類型的內(nèi)存空間分別是多少。2.4綜合題26、編程計(jì)算1020的整數(shù)的平方值,將結(jié)果保存在一個(gè)數(shù)組中。27、編寫一個(gè)程序使之從鍵盤讀入10個(gè)整數(shù)存入整型數(shù)組a中,并輸出

19、這10個(gè)整數(shù)的最大值和最小值。import java.util.Scanner;public class lianxi30 public static void main(String args) Scanner temp;float sum = new float11;float max, min;for (int i = 0; i 10; i+) System.out.println(請(qǐng)輸入第一個(gè)數(shù)字(回車結(jié)束):);temp = new Scanner(System.in);String a = temp.nextLine();sumi = Integer.parseInt(a); /獲

20、取輸入的字符串max = sum0;min = sum0;for (int j = 1; j 10; j+)if (max sumj)min = sumj;System.out.println(max);System.out.println(min);31、如果我國經(jīng)濟(jì)以每年10%的速度保持穩(wěn)定增長,請(qǐng)編寫一個(gè)程序,計(jì)算每年達(dá)到多少,多少年可以實(shí)現(xiàn)總量翻兩番。class exA4_1 public static void main(String args) int a=0; double i=0.10,sum=1; while(sumb ? a:b) ;void max(float a,flo

21、at b)System.out.println(ab ? a:b) ;void max(double a, double b)ntln(ab ? a:b) ;public static void main(String args)Test t =new Test() ;t.max(3,4) ;3、編寫一個(gè)矩形類對(duì)數(shù)學(xué)中的矩形進(jìn)行抽象描述,并具有方法可以計(jì)算矩形的周長和面積,具體分為以下三個(gè)子任務(wù)完成。(1)創(chuàng)建Rectangle類,添加屬性width、height,并定義構(gòu)造方法Rectangle(double _width, double _height); (2)在Rectangle類中添

22、加兩種方法computCircum()和computArea()分別計(jì)算矩形的周長和面積; (3)編程利用Rectangle對(duì)象輸出一個(gè)30*40的矩形的周長和面積。解答:public class TestRectang public static void main(String args) / TODO Auto-generated method stubRectangle rect1 = new Rectangle(20,30) ;System.out.println(putArea();System.out.println(putCircum();class Rectangledoub

23、le width,height ;Rectangle()width = 0 ;height = 0 ;Rectangle(double _width,double _height)width = _width ;height = _height ;double computArea() return width*height ;double computCircum()return 2*(width+height) ;第4章 繼承、接口和內(nèi)部類4.1單項(xiàng)選擇題1、 Java中用于定義接口的關(guān)鍵字是( )A、importB、packageC、class D、interface解答:D2、 以下關(guān)

24、于abstract的說法,正確的是( )A、abstract只能修飾類B、abstract只能修飾方法C、abstract類中必須有abstract方法D、abstarct方法所在的類必須用abstract修飾解答:D3、 下列哪種說法是正確的( ) A、私有方法不能被子類覆蓋。 B、子類可以覆蓋超類中的任何方法。 C、覆蓋方法可以聲明自己拋出的異常多于那個(gè)被覆蓋的方法。 D、覆蓋方法中的參數(shù)清單必須是被覆蓋方法參數(shù)清單的子集。 解答:A4、關(guān)于類繼承的說法,正確的是( )A、Java 類允許多重繼承B、Java接口允許多繼承C、接口和類都允許多繼承D、接口和類都不允許多繼承解答:B5、關(guān)于抽

25、象類,正確的是_。 A. 抽象類中不可以有非抽象方法B. 某個(gè)非抽象類的父類是抽象類,則這個(gè)子類必須重載父類的所有抽象方法C. 可以用抽象類直接去創(chuàng)建對(duì)象D. 接口和抽象類是同一個(gè)概念解答:B8、 抽象類A和抽象類B的定義如下:abstract class A abstract int getinfo();public class B extends A private int a = 0;public int getinfo() return a;public static void main(String args) B b = new B();System.out.println(b.g

26、etinfo();關(guān)于上述代碼說明正確的是( )。A. 輸出結(jié)果為0 B.通過編譯但沒有輸出任何結(jié)果C. 第5行不能通過編譯 D. 程序第2行不能通過編譯解答:A9、下面程序的運(yùn)行結(jié)果是_class ex4_5_11_A protected static int count = 0;public ex4_5_11_A() count+;class ex4_5_11_B extends ex4_5_11_A public ex4_5_11_B() count+;class ex4_5_11 public static void main(String args) ex4_5_11_B x = n

27、ew ex4_5_11_B();System.out.println(count= + x.count);A. count=1 B. count=2C. count=3 D. count=4解答:B10、設(shè)有下面兩個(gè)類的定義:class Person long id; / 身份證號(hào) String name; / 姓名 class Student extends Person 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)系,上述類定義有語法錯(cuò)誤解答

28、:B11、以下程序代碼錯(cuò)誤的是( B )。 abstract class P class A extends P abstract class B extends P ()P p=new A(); ()P p=new B();()A a=new A(); ()P p=new P()void foo();12、下面是People和Child類的定義和構(gòu)造方法,每個(gè)構(gòu)造方法都輸出編號(hào)。在執(zhí)行new Child(mike)的時(shí)候都有哪些構(gòu)造方法被順序調(diào)用?請(qǐng)選擇輸出結(jié)果 ( D)class People String name; public People() System.out.print(1)

29、; public People(String name) System.out.print(2); = name; class Child extends People People father; public Child(String name) System.out.print(3); = name; father = new People(name + :F); public Child() System.out.print(4); A312 B 32 C 432 D 13213、選項(xiàng)中哪一行代碼可以替換題目中/add code here而不產(chǎn)生

30、編譯錯(cuò)誤?(A)public abstract class MyClass public int constInt = 5; /add code here public void method() A public abstract void method(int a);B constInt = constInt + 5;C public int method();D public abstract void anotherMethod() 15、以下哪項(xiàng)是接口的正確定義?( D ) A、 interface B void print() B、 abstract interface B voi

31、d print() C、 abstract interface B extends A1,A2 /A1、A2為已定義的接口 abstract void print() ; D、 interface B void print();16、A派生出子類B,B派生出子類C,并且在Java源代碼中有如下聲明:1. A a0=new A(); 2. A a1 =new B(); 3. A a2=new C(); 問以下哪個(gè)說法是正確的? ( D )A、只有第1行能通過編譯B、第1、2行能通過編譯,但第3行編譯出錯(cuò) C、第1、2、3行能通過編譯,但第2、3行運(yùn)行時(shí)出錯(cuò) D、第1行、第2行和第3行的聲明都是正確的 17、假設(shè)A類有如下定義,設(shè)a是A類的一個(gè)實(shí)例,下列語句調(diào)用哪個(gè)是錯(cuò)誤的?( C ) class A int i; static String s; void method1() static void method2() A、System.out.println(a.i); B、a.method1(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論