分析《JAVA程序設計》期末考試試題-(四)_第1頁
分析《JAVA程序設計》期末考試試題-(四)_第2頁
分析《JAVA程序設計》期末考試試題-(四)_第3頁
分析《JAVA程序設計》期末考試試題-(四)_第4頁
分析《JAVA程序設計》期末考試試題-(四)_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、JAVA程序設計期末考試試題 (四)*不用考的直接刪了, 不浪費大家時間一、 單選題1、下列程序段執(zhí)行后的結果是( )。 String s = new String("abcdefg");for (int i=0; i<s.length(); i+=2) System.out.print(s.charAt(i); A) aceg B) ACEG C) abcdefg D) abcd 2、有整型數(shù)組:int x=12,35,8,7,2;,則調用方法Arrays.sort(x)后,數(shù)組x中的元素值依次是( ).A) 2 7 8 12 35 B) 12 35 8 7 2 C

2、) 35 12 8 7 2 D) 8 7 12 35 2分析: public static void sort(int a)對指定的 int 型數(shù)組按數(shù)字升序進行排序。3、下面的程序段創(chuàng)建了BufferedReader類的對象in,以便讀取本機c盤my文件夾下的文件1.txt。File構造函數(shù)中正確的路徑和文件名的表示是( )。File f = new File(填代碼處);file =new FileReader(f);in=new BufferedReader(file);A) "./1.txt" B) "./my/1.txt" C) "c

3、:my1.txt" D) "c: my1.txt" 分析: 也可以是c:/my/1.txt ; c:my1.txt其中第一個為轉移字符4、應用程序的main方法中有以下語句,則輸出的結果是 ( )。 String s1=new String("abc"); String s2=new String("abc"); boolean b1=s1.equals(s2); boolean b2=(s1=s2); System.out.print(b1+" "+b2); A)true false B) false

4、true C) true true D)false false 分析: equal比較的是兩個對象所表示的字符是否相等, 而= 比較的是兩個對象是否相等. 5、應用程序的main方法中有以下語句,則輸出的結果是 ( )。 Hashtable hashtable=new Hashtable(); hashtable.put("x","12345"); hashtable.put("y","67890"); hashtable.put("a","abcde"); System.o

5、ut.println(hashtable.get("a"); A) a B) abcde C) 12345 D) 67890 分析: 存入名值對(put), 再按照名字取出其中的值(get)下面說一下HashMap和Hashtable的區(qū)別:Hashtable繼承自Dictionary類,而HashMap是Java1.2引進的Map interface的一個實現(xiàn) HashMap允許將null作為一個entry的key或者value,而Hashtable不允許 還有就是,HashMap把Hashtable的contains方法去掉了,改成containsvalue和conta

6、insKey。因為contains方法容易讓人引起誤解。 最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在 多個線程訪問Hashtable時,不需要自己為它的方法實現(xiàn)同步,而HashMap 就必須為之提供外同步。 Hashtable和HashMap采用的hash/rehash算法都大概一樣,所以性能不會有很大的差異 6、下面語句的功能是( )。RandomAccessFile raf2 = new RandomAccessFile("1.txt","rw" ); A)打開當前目錄下的文件1.txt,既可以向文件寫

7、數(shù)據(jù),也可以從文件讀數(shù)據(jù)。 B)打開當前目錄下的文件1.txt,但只能向文件寫入數(shù)據(jù),不能從文件讀取數(shù)據(jù)。C)打開當前目錄下的文件1.txt,但不能向文件寫入數(shù)據(jù),只能從文件讀取數(shù)據(jù)。D) 以上說法都不對。 分析: 沒用過額 下面有個例子, 自己看看它的用法吧import java.io.IOException;import java.io.File;import java.io.RandomAccessFile;class RandomFileTestpublic static void main(String args) throws ExceptionStudent s1=new Stu

8、dent(1, "zhangsan", 90.5);Student s2=new Student(2, "lisi", 98.5);Student s3=new Student(3, "wangwu", 96.5);File userDir=new File(System.getProperties().getProperty("user.dir");File tempFile=File.createTempFile("student", ".tmp", userDir);t

9、empFile.deleteOnExit();RandomAccessFile raf=new RandomAccessFile(tempFile, "rw");s1.write(raf);s2.write(raf);s3.write(raf);raf.seek(0);Student s=new Student();for(long i=0;i<raf.length();i=raf.getFilePointer()s.read(raf);System.out.println("lenth:"+raf.length()+",i="

10、+i+" " + s);raf.close();Thread.sleep(5000);class Studentint num;String name;double score;public Student()public Student(int num, String name, double score)this.num=num;=name;this.score=score;public void write(RandomAccessFile raf) throws IOExceptionraf.writeInt(num);raf.writeUTF(n

11、ame);raf.writeDouble(score);public void read(RandomAccessFile raf) throws IOExceptionnum=raf.readInt();name=raf.readUTF();score=raf.readDouble();public String toString()return "num="+num+",name="+name+",score="+score; 7、應用程序的main方法中有以下語句,則輸出的結果是 ( )。String s="12345

12、#aaa#bbb#67890"int n=s.indexOf("#"); int k=s.indexOf("#",n+1);int m=s.indexOf("#",k+1);String s2=s.substring(m+1);System.out.println(s2);A) 123456 B) 67890 C) aaa D) bbb 分析: public int indexOf(int ch) 返回指定字符在此字符串中第一次出現(xiàn)處的索引。所以int n=s.indexOf("#"); n 的值為5;p

13、ublic int indexOf(int ch, int fromIndex)返回在此字符串中第一次出現(xiàn)指定字符處的索引,從指定的索引開始搜索。 所以k為9, m為13public String substring(int beginIndex)返回一個新的字符串,它是此字符串的一個子字符串。該子字符串從指定索引處的字符開始,直到此字符串末尾。所以從第十四位到最后一位字符串是678908、下面程序段執(zhí)行后b的值是( )。Integer integ =new Integer(9); boolean b = integ instanceof Object; A) 9 B) true C) 1 D

14、) false分析: instanceof是判斷前面的對象是不是后面的類創(chuàng)建的, 而Object是所有類的祖先類, 所以為true, 有點多態(tài)的感覺(上轉型)9、應用程序Test.java的源程序如下,在命令行鍵入:java Test aaa bb c回車后輸出的結果是 ( )。public class Test public static void main(String args) int k1=args.length; int k2=args1.length(); System.out.print(k1+" "+k2); A) 3 2 B)1 2 C) 1 3 D)

15、3 3 分析: 好像這種題目經(jīng)??? args.length;求的是數(shù)組的的元素個數(shù), args1.length();求的是數(shù)組中某一個元素的長度. 10、應用程序的main方法中有以下語句,則輸出的結果是 ( )。 int b=1, 2,2, 2,2,2; int sum=0; for(int i=0;i<b.length;i+) for(int j=0;j<bi.length;j+) sum*=bij; System.out.println("sum="+sum);A) 32 B)11 C) 2 D) 3 分析: 二維數(shù)組, 依次相乘便可, 注: java中

16、二維數(shù)組中的一維長度可以不同, 比如這里的b0的長度為1; 而b1的長度為2, 可以不同, 因為二維數(shù)組本質上還是以一維數(shù)組的形式組織的. 11、應用程序的main方法中有以下語句,則執(zhí)行后輸出的結果是 ( )。int x=125,21,5,168,98;int max=x0;for(int i=1;i<x.length;i+)if(xi> max)max =xi;System.out.println(max);A) 125 B) 5 C) 98 D) 168 12、程序Test.java編譯運行后輸出的結果是( )。public class Test String s1=&quo

17、t;java" public static void main(String args) int z=2; Test t=new Test(); System.out.println(t.s1+z); A) java2 B)2 C)沒有輸出結果 D)java 13、應用程序的main方法中有以下語句,則輸出的結果是 ( )。String s1="0.5", s2="12" double x=Double.parseDouble(s1); int y=Integer.parseInt(s2); System.out.println(x+y);A)

18、 12.5 B) 120.5 C) 12 D) “12.5” 14、下面的程序創(chuàng)建了一個文件輸出流對象,用來向文件test.txt中輸出數(shù)據(jù),假設程序當前目錄下不存在文件test.txt,編譯下面的程序Test.java后,將該程序運行3次,則文件test.txt 的內容是( )。import java.io.*;public class Test public static void main(String args) try String s="ABCDE"byte b=s.getBytes();FileOutputStream file=new FileOutputS

19、tream("test.txt",true);file.write(b); file.close();catch(IOException e) System.out.println(e.toString();A) ABCABC B) ABCDE C) Test D) ABCDE ABCDE ABCDE 分析: public FileOutputStream(File file, boolean append) throws FileNotFoundException創(chuàng)建一個向指定 File 對象表示的文件中寫入數(shù)據(jù)的文件輸出流。如果第二個參數(shù)為 true,則將字節(jié)寫入文件末

20、尾處,而不是寫入文件開始處。創(chuàng)建一個新 FileDescriptor 對象來表示此文件連接。 15、下面那些方法不是接口Collection中已聲明的方法( )?A)添加元素的add(Object obj) 方法B)刪除元素的remove(Object obj)方法C)得到元素個數(shù)的length()方法D)返回迭代器的iterator()方法,迭代器用于元素遍歷分析: 只有這個方法: size() 返回此 collection 中的元素數(shù)。沒有l(wèi)ength()這個方法 二、 多選題多選題都是知識點, 自己看吧, 好好辨析下1、下面main()方法的定義哪些是正確的( )?A) public s

21、tatic void main(String args) B) public static void main(String) C) public static void main(String args) D)public static void main(String x) 分析: public static void main(String) 少了變量名 2、線程對象的生命周期中,通常經(jīng)歷下面哪些狀態(tài)( )。A)新建 B)運行 C)就緒 D)死亡 3、下面說法正確的是( )。A) final 可修飾類、屬性(變量)、方法。 B) abstract可修飾類、方法。C) 抽象方法只有方法頭,

22、沒有方法體。 D) 關鍵字final和abstract不能同時使用。 4、下面關于java中輸入/輸出流的說法正確的是( )。A) FileInputStream與FileOutputStream類用讀、寫字節(jié)流。 B) Reader與Writer類用來讀、寫字符流。C) RandomAccessFile既可以用來讀文件,也可以用來寫文件。 D) File類用來處理與文件相關的操作。5、下面說法正確的是( )。A)如果某公共接口被聲明在一個源文件中,則接口必須與源文件具有相同名字。B)如果源文件包含import語句,則該語句必須是除空行和注釋行外的第一個語句行。C)如果某源文件包含packag

23、e語句,則該語句必須是第一個非空、非注釋行。D)接口中的方法必定是抽象方法,但可以不用關鍵字abstract修飾。6、下面關于Java中異常處理try塊的說法正確的是( )?A) try塊后通常應有一個catch 塊,用來處理try塊中拋出的異常。 B) catch 塊后必須有finally塊。C)可能拋出異常的方法調用應放在try塊中。 D)對拋出的異常的處理必須放在try塊中7、下面關于進程、線程的說法正確的是( )。A)進程是程序的一次動態(tài)執(zhí)行過程。一個進程在其執(zhí)行過程中,可以產生多個線程多線程,形成多條執(zhí)行線索。B)線程是比進程更小的執(zhí)行單位,是在一個進程中獨立的控制流,即程序內部的控

24、制流。線程本身不能自動運行,棲身于某個進程之中,由進程啟動執(zhí)行。C)Java多線程的運行與平臺相關。D)對于單處理器系統(tǒng),多個線程分時間片獲取CPU或其他系統(tǒng)資源來運行。對于多處理器系統(tǒng),線程可以分配到多個處理器中,從而真正的并發(fā)執(zhí)行多任務。8、關于BufferedReader類的readLine()方法,以下說法正確的是()。A)方法readLine()每次讀取一行數(shù)據(jù)。 B)方法readLine()每次讀取一個字節(jié)。C)該方法可能拋出IOException異常,調用該方法時通常應將它放到try塊中,并通過catch塊處理異常。D)如果讀到流的末尾,該方法返回的結果為null。三、程序閱讀題

25、2、閱讀下面的程序,回答問題(u問3分,v問3分,共6分)。import java.util.*;public class T public static void main(String args) Set set = new TreeSet(); set.add(new Integer(10); set.add(new Integer(5); set.add(new Integer(15); set.add(new Integer(5); set.add(new Integer(10); System.out.println("size = " + set.size(); Iterator it=set.iterator(); while(it.hasNext() Syste

溫馨提示

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

評論

0/150

提交評論