第一篇:Java語言程序設計(一)04747 匯總(2008——2015全)
2015年10月高等教育自學考試全國統一命題考試
Java語言程序設計(一)試卷
(課程代碼04747)本試卷共13頁,滿分100分.考試時間150分鐘。考生答題注意事項:
1.本卷所有試題必須在答題卡上作答。答在試卷上無效,試卷空白處和背面均可作草稿紙.2.第一部分為選擇題。必須對應試卷上的題號使用2B鉛筆將“答題卡”的相應代碼涂黑.3.第二部分為非選擇題。必須注明大、小題號.使用0.5毫米黑色字跡簽字筆作答.4.合理安排答題空間.超出答題區域無效。
第一部分 選擇題
一、單項選擇題(本大題共10小題.每小題1分.共10分)在每小題列出的四個備選項中只有一個是符合題目要求的。請將其選出并將“答題卡”的相應代碼涂黑。未涂、錯涂或多涂均無分.www.tmdps.cn 1.以下字符組合中,不能作為Java整型常量的是
A.037 B.0x3ADG C.7000 D.0x3abcL 2.以下程序代碼的輸出結果是
3.設有數組定義,則x.length的值為
A.2 B.3 C.4 D.5 4.設有字符串String s=〝ABCDEFGABC〞;,則表達式s.indexOf(〝A〞,7)的值是 A.7 B.6 C.3 D.0 5.以下關于Swing與AWT之間關系的敘述中,正確的是 A.Swing是AWT的提高和擴展
B.在寫GUl程序時,AWT和Swing不能同時使用 C.AWT和Swing在不同的平臺上都有相同的表示 D.AWT中有一些類是從Swing中的一些繼承的
6.以下供選擇的類中,其子類能用來創建框架窗口的是 A.JWindow B.JFrame C.JDialog D.JAudio 7.某程序定義了一個子類,并要讓它實現多線程,以下正確的步驟是
A.繼承Thread類,在類內定義run()方法,聲明和創建線程對象,并讓該對象調用 start()方法。
B.繼承Thread類,在類內定義run()方法,聲明線程對象,并讓該對象調用start()方法。
c.聲明實現Runnable接口,在類內實現run()方法,聲明線程對象,創建線程,并
調用start()方法。
D.聲明實現Runnable接口,在類內實現run()方法,聲明和創建線程對象,并讓該
對象調用start()方法。
8.大多數采用緩沖式輸入數據文件的程序的主要目的是
A.用readLine()方法按行輸入字符 B.提高輸入速度
C.更快地讀入字符數據 D.用read()方法輸入任意個字符
9.在打開文件對話框時,可用FileFilter類設置篩選條件,在以下供選擇的方法中,是 FileFilter類預設的方法之一的是
A.setFileFilter()B.addFileFilter()C.accept()D.setDescription()10.對訪問數據庫的Java程序來說,DriverManager類的作用是
A.存儲查詢結果 B.處理與數據庫的連接
C.處理驅動程序加載 D.處理驅動程序加載和建立數據庫連接
第二部分 非選擇題
二、填空題(本大題共10 小題,每小題2分,共20分)請在答題卡上作答。
11.Java的編譯程序將Java源程序編譯成__________文件。12.實現條件。“a/b>7并且b!=0”的表達式是________。
13.為了聲明類中定義的某方法不能被子類的方法覆蓋,應在該方法前加入的修飾符是 ________.14.類的聲明定義了類的所有對象的共有的________。
15.在實現接口ActiortListener的方法actionPerformed()中,對事件對象調用方法 getSource(),該方法的返回值是________。
16.程序將若干單選按鈕對象加人到一個________ 對象中,使它們實現單選功能。
17.如果要設置的字型是:20磅字號、正常風格(Font.PLAIN)、細明體,構造這樣要求的Font對象的代碼是new Font()。
18.線程在臨界段中執行wait()方法的作用是________、________。19.為字符流文件寫操作提供支持的類是________。
20.在訪問數據庫的程序中,建立了Statenlent對象后,利用該對象可以執行SQL查詢,實現SQ查詢的方法是________。
三、簡答題(本大題共6小題。每小題3分,共l8分)請在答題卡上作答。
21.請寫出表示以下條件的表達式:變量x的值為1與變量y的值為2,有且只有一個成立。
22.請寫出通過繼承創建子類的作用。
23.請寫出將文本區text1和text2放置于面板P,并創建放置P的滾動面板jsp,最后將 jsp添加到JFrame子窗口myFrame的Java語句。
24.請寫出Java小應用程序播放音頻文件需要用到的類的類名,以及創建相應對象的方
法。
25.請寫出Java系統提供的支持文件隨機訪問的類的類名,以及該類提供的讀取一個整
數的方法。
26.請寫出URL對象能實現的功能。
四、程序填空題(本大題共5小題,每空2分,共20分)請在答題卡上作答.27.以下程序功能是輸出101至300之間的質數,并統計這些質數的個數輸出。
28.以下程序界面中有若干可以多選的選擇框,當某個選擇框的選擇狀態有改變時,程 序在文本區中顯示各選擇框的選擇狀態(被選中或沒有被選中)。
29.以下是一個播放動畫的小應用程序中的run()方法和paint()方法。設動畫圖片已由小應用程序的init()方法裝人內存,并存放于myImage數組中,動畫圖張數放于變量num中。控制顯示和動畫圖片序號更新的線程也已經在start()方法中創建并啟動。paint()方法要播放的動畫圖片號是curImage。
30.以下是一個緩沖式輸入的示意程序,程序的界面有一個文本框和一個文本區,在文
本框中輸入要讀入顯示的文件名,在文本區中顯示該文件的內容。
31.以下方法的功能是已知域名,返回IP地址。
五、程序分析題(本大題共5小題。每小題4分,共20分)請在答題卡上作答。
32.閱讀下列程序,請寫出該程序的輸出結果。
33.閱讀下列程序,請寫出調用Test33(4)的輸出結果。
34.閱讀下列程序,請回答下面的問題:(1)該程序的功能是什么?(2)文本框中能顯示的最小值和最大值分別是多少?
35.閱讀下列程序,請寫出該程序的功能。
36. 閱讀下列程序,請寫出該程序的功能。
六、程序設計題(本題大題共2小題,每小題6分,共12分)請在答題卡上作答。
37.編寫方法double sumS(int n),已知參數n,求以下表達式前n項的和S返回。
注:下一項的分母=上一項的分子,下一項的分子=上一項的分子與分母的和。
2015年4月高等教育自學考試全國統一命題考試
Java語言程序設計
(一)試卷
(課程代碼04747)本試卷共l0頁,滿分l00分,考試時間l50分鐘。考生答題注意事項:
1.本卷所有試題必須在答題卡上作答。答在試卷上無效,試卷空白處和背面均可作草稿紙。2.第一部分為選擇題。必須對應試卷上的題號使用2B鉛筆將“答題卡”的相應代碼涂黑。3.第二部分為非選擇題。必須注明大、小題號,使用0.5毫米黑色字跡簽字筆作答。4.合理安排答題空間,超出答題區域無效。
第一部分 選擇題
一、單項選擇題(本大題共l0小題。每小題l分,共10分)在每小題列出的四個備選項中只有一個是符合題目要求的,請將其選出并將“答題卡”的相應代碼涂黑。未涂、錯涂或多涂均無分。自考贏家 1.以下字符列中,能作為Jaya程序變量標識符的是
A.default B.final C.long D.CASE 2.以下數據類型轉換中,必須進行強制類型轉換的是
A.long→char B.short→float C.int→long D.byte→short 3.下面關于實例方法和類方法的敘述中,正確的是
A.類中的實例方法不可以互相調用 B.類中的類方法可以直接調用實例方法 C.類中的實例方法可以調用類方法 D.類中的類方法不可以互相調用 4.以下Java程序代碼中,能正確創建數組的是
A.int d[4]={1,2,3,4}; B.int b[]=new int(5); C.int c={1,2,3}; D.int a[];a=new int[4]; 5.JPanel的默認布局管理器是
A.GridLayout B.FlowLayout C.CardLayout D.BorderLayout 6.下面的方法中,屬于MouseListener接口定義的是
A.mouseClick(MouseEvent)B.mousePress(MouseEvent)C.mouseEntered(MouseEvent)D.mouseDragged(MouseEvent)7.以下Java程序代碼中,能正確創建Font對象的是 A.Font fl=new Font(Fore.PLAIN,12,“宋體”); B.Font f2=new Font(Font.PLAIN,“宋體”,l2); C.Font f3=new Font(12,“宋體”,Font.PLAIN); D.Font f4=new Font(“宋體”,Font.PLAIN,12); 8.子線程自動獲得的優先級是
A.最低優先級 B.父線程的優先級 C.最高優先級 D.系統進程的優先級 9.以下Java程序代碼中,能創建BufferedReader對象的是
A.BufferedReader in=new BufferedReader(new FileReader(”a.dat”)); B.BufferedReader in=new BufferedReader(new Reader(”a.dat”));
C.BufferedReader in=new BufferedReader(new FilelnputStream(”a.dat”)); D.BufferedReader in=new BufferedReader(new InputS,ream(”a.dat”)); 10.ServerSocket類提供了accept()方法,該方法返回值的類型是 A.ServerSocket B.Server C.Socket D.Connection
第二部分 非選擇題
二、填空題(本大題共l0小題,每小題2分,共20分)請在答題卡上作答。
11.Java源程序在計算機上運行需依次經歷兩個階段,分別是編譯和 _______。12.表達式“47&21”的十進制值是_______。13.接口中的所有變量都默認為是_______屬性。14.執行以下Java程序代碼后,s2的值是_______。
15.讓原先能響應事件的按鈕對象b暫時不能響應事件,其代碼是b._______。16.以下代碼創建的滾動條對象能表示的最大值是_______。
17.某應用程序定義了JPanel子類Classl7,若該類的對象需要繪圖,則在類Classl7中應重寫的方法是_______。18.當線程進入臨界段后,發現暫時不能繼續運行,需要與別的線程進行同步,則要調
用的方法是_______。
19.某Java程序要同時讀寫字符文件,它需要導入的類是_______。
20.某應用程序已經聲明了lnetAddress對象addr,現要用域名www.tmdps.cn創建addr對象,能實現這樣要求的代碼是addr=InetAddress.__________。
三、簡答題(本大題共6小題,每小題3分。共l8分)請在答題卡上作答。
21.已知變量n,請寫高使用for語句計算的代碼。
22.簡述在類的方法的定義之前,分別使用修飾字final與abstract的作用是什么。23.請寫出將文本區對象ta放置于滾動面板jsp,并將jsp添加到當前框架窗口的內容面
板中的Java語句。
24.已知Graphics對象g,獲得Graphics2D對象g2d,然后創建并畫出正方形對象rec,正方形的左上角坐標是(40,50),邊長是70。請寫出實現以上要求的代碼。25.簡述字符流數據與字節流數據的區別。
26.簡述在編寫Java網絡應用程序時,應用URLConnection對象的作用。
四、程序填空題(本大題共5小題,每空2分,共20分)請在答題卡上作答。
27.方法void Fibonacci(int m)的功能是輸出Fibonacci數列,直到大于m為止。
注:Fibonacci數列的前兩個數都是1,從第三個數開始,數列的每個數是其前面兩
個數之和。
28.以下定義的類MyPanel是一個面板的子類,它熊響應鼠標點擊事件,當鼠標在面板的某個位置被點擊時,就在該位置顯示一個圓,限制最多顯示最新的m個圓,值m 由創建該面板對象時指定。
29.以下是實現一組單選按鈕數組rb選擇事件的接口方法,該方法將用戶的選擇條目存
于類變量anser中。
30.類ShareData提供一個方法modiData()供修改共享數據的線程調用,該方法限制時共享數據的修改不能小于0,在共享數據修改結束后,應通知其它發生等待的線程結束等待。以下是該類的代碼。
31.方法readFile(String sFile,JTextArea ta)的功能是輸入文件sFile的內容在文本區ta中顯示,該方法采用緩沖式輸入的方法,讀出和顯示一行內容。當方法正確完成指定的功能時,返回0;當指定的輸入文件不存在時,返回l;當讀文件發生輸入錯誤時,返回2。
五、程序分析題(本大題共5小題,每小題4分,共20分)請在答題卡上作答。
32.閱讀下列程序,請寫出該程序的輸出結果。
34.閱讀下列程序,請用示意圖畫出程序運行時呈現的界面。
36.閱讀下列程序,請回答以下問題:
(1)程序運行時,在屏幕上能看到什么?(2)程序采用什么方法讓屏幕呈現動態效果?
六、程序設計題(本大題共2小題,每小題6分,共12分)請在答題卡上作答。
37.請編寫方法int revInt(int a),該方法的功能是返回與十進制正整數a的數字順序相反排列的正整數。如已知正整數是l234,方法的返回值是4321。
38.某程序的界面有一個按鈕b、一個文本區tA和一個文本框tF。程序運行時,在文本
區tA中輸入數列,單擊按鈕b,則在文本框tF中顯示該數列中的最大值。
注:以下是要求你編寫的actionPerformed(ActionEvent e)方法的部分代碼。
2014年10月高等教育自學考試全國統一命題考試
Java語言程序設計
(一)試卷
(課程代碼04747)本試卷共l0頁。滿分l00分,考試時間l50分鐘。學生答題注意事項:
1.本卷所有試題必須在答題卡上作答。答在試卷上無效,試卷空白處和背面均可作草稿紙。2.第一部分為選擇題。必須對應試卷上的題號使用2B鉛筆將“答題卡”的相應代碼涂黑。3.第二部分為非選擇題。必須注明大、小題號。使用O.5毫米黑色字跡簽字筆作答。4.合理安排答題空間。超出答題區域無效。
第一部分 選擇題
一、單項選擇題(本大題共22小題,每小題l分。共22分)在每小題列出的四個備選項中只有一個是符合題目要求的,請將其選出并將“答題卡”的相應代碼涂黑。未涂、錯涂或多涂均無分。自考贏家 1.以下字符串中,可以作為標識符的是
A.%Val B.OK!C.$Val D.24H 2.設i初始值為6,則執行完j=i--后,i和j的值分別為 A.6,6 B.6,5 C.5,6 D.5,5 3.以下關于實例方法和類方法的說法中,錯誤的是
A.實側方法能直接引用類變量 B.類方法能直接引用類變最 C.實例方法能直接引用實例變量 D.類方法能直接引用實例變量
5.BorderLayout布局的容器中,如加入組件沒有指定位置,則默認為 A.“東”位置 B.“西”位置 C.“北”位置 D.“中”位置
6.設已有JFrame對象f,String對象s,則構造強制型對話框的方法是
在使用
類中,用來確定填充效果的方法是
7.在Graphics2D
8.以下方法中,可以使線程從阻塞狀態轉換到就緒狀態的是
A.stoP()B.yield()C.run()D.resume()9.File對象不能用來
A.命名文件 B.查詢文件屬性 C.讀寫文件 D.處理目錄 10.在URLConnection類中,建立網絡連接的方法是
A.connect0 B.getOutputStrearn0 C.openConnection0 D.getlnputStream0 第二部分非選擇題
二、填空題(本大題共l0小題,每小題2分,共20分)請在答題卡上作答。
11.Java源文件的擴展名必須是__________。12.用于定義抽象類的關鍵字是____________。
13.要將小應用程序的字節碼文件嵌入“Web頁中,則所需使用的HTML標記
是__________。
14.在Java語言中,字符串常量是匿名的__________象。
15.java.awt.event包中用來檢測并對事件做出反應的模型包括三個組成元素:。源對象、監視器對象和_________對象。16.與選擇框相關的接口是__________。
17.在Graphics類中,繪圖模式主要有正常模式和__________模式兩種。18.通常情況下,多線程之間有______________和同步兩種情況。19.程序如果要按行輸入輸出,需采用_______式輸入輸出方式。
20.執行SQL語句查詢后得到的結果存放在一個用 __________類聲明的對象中。
三、簡答題(本大題共6小題,每小題3分,共18分)請在答題卡上作答。
21.以下語句有一處錯誤,請改正,然后寫出此循環語句的循環次數。
22.使用super有哪三種情況? 23.在Java的GUI編程中,有哪三種窗口類型? 24.請寫出向窗口增設菜單的步驟。
25.請寫出繪制左上角為(150,150),半徑為80的綠色圓形的語句。設調用的對象是類型為Graphics的g。26.請寫出使用socket與另一方進行通信會話的過程。
四、程序填空題(本大題共5小題,每空2分,共20分)
請在答題卡上作答。
27.某人以年利率r向銀行存款m元,一年后存款額為m*(1+r),他想知道存多少年后,存款額會達至q原來的k儲。以下方法已知m、r和k,計算至少多少年后存款額大于
等于m*k。
28.某小應用程序窗口包含有文本框text,以及—個帶文字“Press Me!”的按鈕。當點盤 這個按鈕時,在文本框中顯示當前時間。以下是其中處理“Press Me!”按鈕事件的方法。
29.以下程序的功能是在圖形界面上顯示一個組合框和一個文本框,用戶可將組合樞的 選擇結果顯示在文本框中。
先獲取圖像,然后顯示得到的圖像。
30.以下小應用程序
31.以下程序的功能是利用Runnable對象創建多線程,實現l到l0的輸出。
(本大題共5小題,每小題4分,共20分)請在答題卡上作答。
32.閱讀下列程序,請寫出該程序的輸出結果。
五、程序分析題
33.閱讀下列程序,請寫出該程序的輸出結果。
34.閱讀下列程序,請寫出該程序的功能。
35.閱讀下列程序,請寫出該程序的功能。
36.閱讀下列程序,請回答以下問題:(1)/*1*/處的try語句的作用是什么?(2)如果在文本框中輸入file.txt,并且file.txt中的內容如下,程序在文本區中輸的內容是什么? 1 2 3 1 2 3 4
六、程序設計題(本大題共2小題,每小題6分,共12分)請在答題卡上作答。
37.編寫方法int[]delete(int[]a),方法將數組a中除了下標為偶數、回時其值也為偶數 的元素外,其余的全都刪除,剩余元素形成一個新數組b并返回。
2014年4月高等教育自學考試全國統一命題考試
Java語言程序設計
(一)試卷
(課程代碼04747)本試卷滿分100分,考試時間150分鐘.考生答題注意事項:
1.本卷所有試題必須在答題卡上作答。答在試卷上無效。試卷空白處和背面均可作草稿紙。2.第一部分為選擇題。必須對應試卷上的題號使用28鉛筆將“答題卡”的相應代碼涂黑。3.第二部分為非選擇題。必須注明大、小題號,使用0.5毫米黑色字跡簽字筆作答。4.合理安排答題空間。超出答題區域無效。
第一部分選擇題
一、單項選擇題(本大題共1 0小題,每小題1分,共1 0分)
在每小題列出的四個備選項中只有一個是符合題目要求的,請將其選出并將“答題紙”的相應代碼涂黑。錯涂、多涂或未涂均無分。自考贏家 1.以下標識符中,不是..Java語言關鍵字的是 A.wait B.new C.long D.switch 2.以下數據類型轉換中,必須進行強制類型轉換的是
A.int→char B. short→long C.float→double D. byte→int 3.以下供選擇的概念中,屬于面向對象語言重要概念和機制之一的是
A.函數調用 B.模塊 C.繼承 D.結構化 4.以下Java程序代碼中,能正確創建數組的是
A.int myArray[];myArray[]=new int[5];B.int myArray[]=new my(5);C.int[]myArray={1,2,3,4,5};D.int myArray[5]={1,2,3,4,5};5.某Java程序的類A要利用Swing創建框架窗口,則A需要繼承的類是
A.JWindow B.JFrame C.JDialog D.JApplet 6.MouseMotionListener接口能處理的鼠標事件是
A.按下鼠標鍵 B.鼠標點擊 C.鼠標進入 D.鼠標移動 7.以下術語中,屬于文字字型風格屬性的是
A.顏色 B.宋體 C.斜體 D.字號 8.以下能作為表示線程優先級的數值,并且級別最低的是
A.0 B.1 C.1 5 D.1 6 9.某Java程序用javax.swing包中的類JFileChooser來實現打開和保存文件對話框。該程序 通過文件對話框首先獲
得的信息是
A.文件長度 B.文件路徑 C.文件內容 D.文件對象 0.在編寫訪問數據庫的Java程序時,ResultSet對象的作用是
A.用來表示與數據庫的連接 B.存儲查詢結果 C.在指定的連接中處理SQL語句 D.建立新數據庫連接
非選擇題部分
注意事項:
用黑色字跡的簽字筆或鋼筆將答案寫在答題紙上,不能答在試題卷上。
二、填空題(本大題共1 0小題,每空2分,共20分)
11.類Testll經Java編譯程序編譯后,產生的文件是 ______。12.表達式“45&20”的十進制值是 ______。
13.如果類A繼承和擴展類B,則子類A和超類B之間的關系是 ______。14.Java語言提供的用于處理不可改變的字符串類是 ______。
15.要使得已注冊的按鈕對象暫時不響應事件,需使用的方法是______。6.一個水平滾動條對象的初始值是1 50,滑塊的寬是8個像素,表示的范圍是[0,300]。創建這樣的滾動條對象時,提供的最后2個參數依次是______。
17.某應用程序定義的類C17是JPanel的子類,在類C17的對象中需要繪圖,則在類 C17中應重寫的方法是 ______。
18.當線程進入臨界段后,發現需要與別的線程進行同步,則要調用的方法 是 ______。19.某程序想要隨機讀寫字符文件,能支持這個要求的類是______。
20.某應用程序已經聲明了InetAddress對象addr,現要用域名www.tmdps.cn創建addr 對象,能實現這樣要求的代碼是addr =InetAddress.______。
三、簡答題(本大題共6小題,每小題3分,共1 8分)21.已知變量n,請寫出使用for語句計算S?1?111????的代碼。23n22.請寫出接口體中可能包含的內容。
23.請寫出對事件對象作監視器注冊的作用。
24.已知Graphics對象g,獲得Graphics2D對象g2d,然后,用圓角長方形類創建對象 circle,該對象的左上角坐標是(30,40),半徑是50。請寫出實現以上要求的Java代 碼。25.某程序希望用FileFilter類的子類為打開文件對話框設置文件篩選條件。請寫出設置 此篩選條件要使用的類及相應的方法。
26.JDBC是Java程序與數據庫連接的API。請寫出JDBC能做的三件事情。
四、程序填空題(本大題共5小題,每空2分,共20分)
27.方法void moveOddFront(int a[])的功能是將數組a中的所有奇數都移到數組的前端,而把偶數放于所有奇數的后面,其方法是當發現是偶數時,就讓該數留在原來位置,當發現是奇數時,就與前面的第一個偶數交換。程序引入變量odd表示移動過程中 遇到的奇數個數。void moveOddFront(int a[]){ for(int i=0, odd=0; ______;i++)if(a[i] %2 == 1){ int t = a[odd];a[odd]=a[i];a[i]=t;______; } }
28.以下程序的界面包含一個文本區text和一個允許多選的列表list,列表的條目存于字 符串數組sports[]中,當列表發生選擇事件時,事件處理程序將這次選中的所有條目 在文本區中輸出。這里給出的是其中處理列表事件的方法。
public void valueChanged(________e){ if(e.getSource()==list){ text.setText(null);int tempList[]=list.getSelectedIndices();∥獲得選中索引表
for(int i=0;i < tempList.length;i++)∥對索引表中的每個元素顯示被選中字樣
text.append(sports[______]+”:被選中n"); } }
29.以下應用程序創建一個窗口,窗口內放置一個面板,在面板中顯示一張圖片和一段 文字。
import javax.swing.*;import java.awt.*; public class Test29 { public static void main(String[] args){ MyFrame frame = new MyFrame();}
}
class MyFrame extends JFrame { public MyFrame(){ setTitle(“Test29”);setSize(300, 200);Toolkit tool=______; Image img = tool.getImage(“myPic2.jpg”);getContentPane().add(new MyPanel(img));setVisible(true);}
}
class MyPanel extends JPanel{ Image myImg;MyPanel(Image img){ myImg=img;}
public void paintComponent(Graphics g){ if(myImg!=null)g.______(myImg, 100,30,this);g.drawString(“我是一名自考生!”,100, 140);} } 30.類ShareDataManager用于管理多個線程共享數據data,其中定義了一個供線程修改 data的方法modiData()。為了對data的修改操作保持完整,多線程在data上的操作 有互斥要求;另外,限制線程對data的修改不能讓data為負數,所以多線程在data 上的操作還有同步要求。以下是類ShareDataManager的定義。class ShareDataManager{ int data;ShareDataManager(int init){data=init;} synchronized void modiData(int delta){ if(data+delta>=0){ data+=delta;} else { while(data+delta<0){ try{______} catch(InterruptedException e){} } data+=delta;} ______;
} } 31.某個緩沖式輸出的示意程序的界面有一個文本框fileOut和一個文本區text,程序運 行時,先在文本區中輸入要存入文件的內容,接著在文本框中輸入文件名并回車,則程序將文本區中的內容保存到指定的文件中。以下是該程序中相應文本框文件名 的輸入事件的方法。public void actionPerformed(ActionEvent e){ if(e.getSource()==fileOut){ try{ out = new BufferedWriter(new ______);out.______ ;
out.flush();out.close();text.setText(null);} catch(FileNotFoundException el){ System.out.print(“文件沒有找到!\n”); }catch(IOException exp){ System.out.print(“文件讀寫出錯!\n”); } } }
五、程序分析題(本大題共5小題,每小題4分,共20分)32.閱讀下列程序,請寫出該程序的輸出結果。class Mother{ public voicl methodl(){ System.out.println(“Call Mother's methodl()”);} public void method2(){ System.out.println(“Call Mother's method2()”);methodl();} } class Girl extends Mother{ public void methodl(){ System.out.println(“Call Girl's methodl()”);} public static void main(String args[]){ Girl g= new Girl();g.method2();} } 33.閱讀下列程序,請寫出調用Test33(4)的輸出結果。public static void Test33(int n){ int i,j,a[][]=new int[n][n];for(i=0;i else for(j=n-l;j>=0;j--)a[i][j]=n-j; } for(i=0;i (1)在文本框中輸入1 7,在文本區中會顯示多少行整數,各行有幾個數?(2)如果將程序的第一行刪除,程序中標號①~⑨語句中哪些會出現錯誤? import java.awt.*;∥問題(2)所指要刪除的行 import javax.swing.*; import java.awt.event.*; public class Test34 extends JFrame implements ActionListener{ JTextField textF;JTextArea textA;Test34(){ Container con = getContentPane();∥① con.setLayout(new BorderLayout());∥② textF = new JTextField(10); ∥③ textF.addActionListener(this); ∥④ textA = new JTextArea(6, 10); ∥⑤ setSize(240, 200); ∥⑥ con.add(textF, “North”); ∥⑦ con.add(textA, “Center”); ∥⑧ setVisible(true); ∥⑨ } public static void main(String[] args){ new Test34();} public voicl actionPerformed(ActionEvent e){ int n,d; if(e.getSource()==textF){ n = Integer.parseInt(textF.getText());for(int k=1;k<=n;k++){ d=(int)(Math.ranclom()*1000 % 1000);textA.append(“ ”+d);if(k%5==0)textA.append(“");} } } } 35.閱讀下列程序,請回答以下問題: (1)程序運行時,呈現的界面中菜單條有哪些菜單?(2)程序中帶注釋/*1*/的代碼行的作用是什么? import javax.swing.*;import java.awt.*;import java.awt.event.*; class MenuWindow extends JFrame implements ActionListener{ JTextField text;MenuWindow(String s,String menuList[][]){ setTitle(s);Container con = this.getContentPane();con.setLayout(new BorderLayout());this.setLocation(100, 100);this.setSize(300, 100);JMenuBar menubar=new JMenuBar();for(int i=0;i< menuList.length;i++){ JMenu menu = new JMenu(menuList[i][0]);for(int j=1;j window=new MenuWindow(”菜單示例程序“,menuList);window.setVisible(true);} } 36.閱讀下列程序,請回答以下問題: (1)程序要求在文本框text中輸入的內容是什么?(2)程序采用什么輸入方式下載網絡文件? import java.net.*; import java.awt.*; import java.awt.event.*; import java.io.*; import javax.swing.*; public class Test36{ public static void main(String args[]){ new ConnectNet(”讀取網絡文本文件示意程序“); } } class ConnectNet extends JFrame implements ActionListener{ JTextField text = new JTextField(30);JTextArea showArea=new JTextArea();JButton b= new JButton(”下載“);JPanel p= new JPanel();ConnectNet(String s){ super(s);Container con = this.getContentPane();p.add(text);p.add(b);JScrollPane jsp = new JScrollPane(showArea);b.addActionListener(this);con.add(p,”North“);con.add(jsp, ”Center“);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setSize(500, 400);setVisible(true);} public void actionPerformed(ActionEvent e){ String urlName=text.getText();try{ URL url: new URL(urlName);∥由網址創建URL對象 URLConnection tc =url.openConnection();∥獲得URLConnection對象 tc.connect();∥設置網絡連接 InputStreamReader in = new InputStreamReader(tc.getInputStream());BufferedReader dis = new BufferedReader(in);String inLine;while((inLine=dis.readLine())!=null){ showArea.append(inLine+”“);} dis.close();} catch(MalformedURLException e2){e2.printStackTrace();} catch(IOException e3){ e3.printStackTrace();} } } 六、程序設計題(本大題共2小題,每小題6分,共1 2分) 37.編寫方法int[] arrayReverse(int[]a),該方法的功能是返回一個新的數組b,新數組的 元素排列順序與參數數組的元素排列順序相反。 38.類InputData是用于輸入考生考號、課程和成績的窗口,窗口的界面如右圖所示,其中三個文本框用來輸入考號、課 程和成績。 注:這里是給定程序的部分代碼,你要編寫的是完成該類的構 造方法。 import java.awt.*;import javax.swing.*; import java.awt.event.*; public class InputData extends JFrame implements ActionListener{ JTextField noText, markText, courseText;JButton ok=new JButton(”確 定“); public static int no, mark;∥讓創建者直接獲取考號和成績 public static String course;∥讓創建者直接獲取課程名稱 InputData(){ super(”成績輸入窗“); Container con = getContentPane();con.setLayout(new GridLayout(4, 1));noText = new JTextField(12);courseText = new JTextField(12);markText = new JTextField(12);∥請在答題紙相應位置編寫代碼 con.add(ok);ok.addActionListener(this);con.setSize(250, 70);setVisible(true);pack();} public void actionPerformed(ActionEvent e){ if(e.getSource()= ok){ ∥讀取考號和成績 no = Integer.parseInt(noText.getText());course = courseText.getText();mark = Integer.parseInt(markText.getText());setVisible(false);dispose();} } public static void main(String[] args){ new InputData();} } 全國2013年10月高等教育自學考試 Java語言程序設計(一)試題 課程代碼:04747 請考生按規定用筆將所有試題的答案涂、寫在答題紙上。 選擇題部分 注意事項: 1.答題前,考生務必將自己的考試課程名稱、姓名、準考證號用黑色字跡的簽字筆或鋼筆填寫在答題紙規定的位置上。 2.每小題選出答案后,用2B鉛筆把答題紙上對應題目的答案標號涂黑。如需改動,用橡皮擦干凈后,再選涂其他答案標號。不能答在試題卷上。 一、單項選擇題(本大題共10小題,每小題1分,共10分)在每小題列出的四個備選項中只有一個是符合題目要求的,請將其選出并將“答題紙”的相應代碼涂黑。錯涂、多涂或未涂均無分。自考贏家 1.在Java語言中,用于標記回車符的轉義字符是 A.b B./b C.n D./n 2.設有定義int i=6;,則執行語句“i+=i-1;’’后,i的值為 A.10 B.11 C.12 D.13 3.以下關于抽象類及抽象方法的說法中,不正確的是 ...A.抽象方法只能出現在抽象類中 B.抽象類必須有抽象方法 C.有抽象方法的類一定是抽象類 D.抽象方法沒有實現的代碼 4.執行下列程序語句后,b的值是 String a=〃Hello〃; String b=a.substring(1,3); A.el B.He C.ell D.Hel 5.能夠直接添加組件的Swing容器是 A.JFrame B.JDialog C.JWindow D JPanel 6.用于判定鼠標右鍵操作的常量是 A.BUTTON1_MASK B.BUTTON2_MASK C.BUTTON3_MASK D.BUTTON4_MASK 7.設置異或繪圖模式的方法是 A.setXORMode()B.setPaintMode()C.XORMode()D.PaintMode()8.用來定義臨界段,能對共享對象的操作上鎖的關鍵字是 A.static B.share C.serialize D.synchronized 9.如果一次從文件中讀出一行數據,可使用的方法是 A.FileReader的readLine()方法 B.BufferedReader的readLine()方法 C.FileReader的read()方法 D.BufferedReader的read()方法 10.獲取InetAddress對象的IP地址所用到的方法是 A.getHostlPAddress()B.getHostlP()C.getHostAddress()D.getHost() 非選擇題部分 注意事項: 用黑色字跡的簽字筆或鋼筆將答案寫在答題紙上,不能答在試題卷上。 二、填空題(本大題共10小題,每空2分,共20分)11.在Java語言中,雙精度型變量在內存中占__________個字節。12.在Java語言中,邏輯右移運算符為__________。3.在Java語言中,通過擴展原有的類,聲明新類的機制被稱為__________。14.已知字節數組b,取由b[i]開始至b[j](其中j≥i≥0)結束的字節字符構造一個字符串s,其語句為:String s=new String(__________)。 15.將容器區域分成東、南、西、北、中五個區域的布局類是__________。 16.在構造非強制對話框時,所使用的構造方法是JDialog(f,s, __________),其中f為對話框所依賴的窗口,s為對話框的標題。 17.在Java語言中,要播放音頻文件可以使用__________類。18.當線程調用resume()方法后,就進入__________狀態。19.要使用輸入/輸出操作的程序,必須要導入__________包。 20.在進行數據庫訪問時,查詢結果存放在一個用__________類聲明的對象中。 三、簡答題(本大題共6小題,每小題3分,共18分)21.請寫出下面程序段的執行結果。int n=90; int k=2; System.out.print(n+″=〞); while(k<=n){ if(k==n){System.out.println(n); break;} else if(n%k==0){System.out.print(k+″*″);n=n/k;)else k++; } 22.為了系統安全,對JavaApplet小應用程序有什么限制? 23.請寫出聲明int類型的二維數組intArr的三種形式。24.請寫出在JFrame框架窗口對象中添加組件的步驟。 25.請寫出使用Graphics2D類聲明并創建一個左上角為(20,30)、邊長為50的正方形對象square的語句。26.請寫出使用純Java JDBC驅動程序連接數據庫的步驟。 四、程序填空題(本大題共5小題,每空2分,共20分)完全代碼,使它能正確實現題意的功能。錯填、不填均無分。自考贏家 27.一個數如果恰好等于它的因子之和,這個數就稱為“完全數”。例如6=1+2+3。方法void findPerfectNumber()的功能是找出1000以內的所有完全數。static void findPerfectNumber(){ System.out.println(″1000以內的完全數有:″); for(int i=1;i<1000;i++){ int t=0; for(int j=1;j<=i/2;j++)if(①)t=t+j; if(②)System.out.primt(i+” “); } } 28.某應用程序的類實現了接口ActionListener,在其窗口的內容面板conPane中,有一個標上文字“紅色”的按鈕對象btn,并正確為該按鈕對象注冊了監視器。按鈕處理程序要實現的功能是當點擊這個按鈕時,窗口的背景色置為紅色,并設置該按鈕不再響應事件。public void actionPerformed(ActionEvent e){ if(e.getActionCommand().equals(”紅色“)){ conPane.setBAckground(①); btn.② ; } } 29.某小應用程序有一個按鈕和一個文本區,按鈕作為發生鍵盤事件的事件源,并對它進行監視。程序運行時,先點擊按鈕,讓按鈕激活;從鍵盤輸入英文字母時,在文本區顯示輸入的字母。import jAva.applet.*;import java.awt.event.*;import javax.swing.*; public class Test29 extends Applet implements KeyListener{ int count=0; JButton button=new JButton(”BEGIN“); JTextArea text l=new JTextArea(1,10); public void init(){ button.addKeyListener(this); add(textl); ① ; } public void keyPressed(KeyEvent e){ int t=e.getKeyCode(); if(t>=KeyEvent.VK_A &&t<=KeyEvent.VK_Z){ text 1.append((char)t+” “); } } public void ②(KeyEvent e){} public void keyReleased(KeyEvent e){} } 30.以下小應用程序獲取圖像文件bg.jpg并顯示。import java.applet.*;import java.awt.*; public class Test30 extends Applet{ lmage myImg; public void start(){ myImg=getImage(① ,”bg.jpg¨); } public void paint(Graphics g){ g. ②(myImg,0,0,this); } } 31.以下程序段實現簡單的線程創建、啟動和終止的過程。MyThreadClass myThread=new MyThreadClass(); myThread. ① ; try{ myThread.sleep(10000); } Catch(InterruptedException e){ } myThread. ② ; 五、程序分析題(本大題共5小題,每小題4分,共20分)32.閱讀下列程序,請寫出該程序的運行結果。Class Parent { String one,two; public Parent(String a,String b){ one=a;two=b; } public void print(){ System.out.println(two+“to”+one); } } public class Child extends Parent{ public Child(String a,String b){ super(a,b); } public void print(){ System.out.println(one+“to”+two); } public static void main(String args[]){ parent p=new Parent(“south”,“north”); parent t=new Child(“east”,“west”); p.print(); t.print(); } } 33.閱讀下列程序,請寫出該程序的功能。 import java.applet.Applet;import java.awt.*; public class Test33 extends Applet{ public void paint(Graphics g){ for(int i=0;i<6;i++)drawGraphics(I,g); } public void drawGraphics(int n,Graphics g){ g.clearRect(10,10,300,300); switch(n){ case 0:case 3: g.setColor(Color.red); g.drawRect(50,50,150,150); break; case 1:case 4: g.setColor(Color.blue); g.drawOval(40,40,1 60,160); break; case 2:case5: g.setColor(Color.green); g.fillRect(50,50,200,200); break; } try{ Thread.sleep(1500); } catch(ImerruptedException e){System.exit(0);} } } 34.閱讀下列程序,請寫出該程序的功能。 import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Test34 { public static void main(String[]args){ ComboBoxDemo myComboBoxGUI = newComboBoxDemo(); } } Class ComboBoxDemo extends JFrame implemems ItemListener{ 《Java語言程序設計》實驗報告一 學生姓名: 孫文琳 班級: 信息111 學號:201152275119 實驗地點: 經管中心證券實驗室 指導教師:趙利平實驗日期: 2012.3.6 實驗環境:Windows 2000+JDK1.6 1.實驗目的(1)養成良好的編程風格;(2)掌握字符數據類型及其運算; (3)熟悉從輸入對話框獲取輸入和從控制臺獲取輸入兩種方法;(4)掌握布爾運算符;(5)掌握分支語句if和switch。 2.實驗內容(1)在控制臺下求兩個實數的最大值:完成實驗教材P22程序清單2-2;(2) 3.實驗過程 報告撰寫具體要求:上述實驗內容要求寫出源代碼及運行結果。實驗內容(1)://CompareTwoNumbersl.java import java.util.Scanner; public class CompareTwoNumbers1{ double number1,number2; Scanner scanner; public CompareTwoNumbers1(){ System.out.println(“請輸入兩個數字:”); scanner=new Scanner(System.in); number1=scanner.nextDouble(); number2=scanner.nextDouble(); System.out.println(“較大的數是:”+(number1>number2?number1:number2)); } public static void main(String args[]){ CompareTwoNumbers1 ct=new CompareTwoNumbers1();System.exit(0);} } 實驗內容(2): //DollarConvertor.java import java.util.Scanner;public class DollarConvertor{ public static void main(String args[]){ System.out.println(“請輸入美元數:”);Scanner scanner=new Scanner(System.in);double i=scanner.nextDouble();double result=i*6.2875;System.out.println(“對應的人民幣數:”+result);} } 實驗內容(3): public class MultiplyList1{ public static void main(String args[]){ String output=“";for(int row=1;row<=9;row++){ for(int col=1;col<=row;col++)output+=col+”*“+row+”=“+(row*col)+” “;output+=”n";} System.out.println(output);System.exit(0);}} 4.實驗總結 心得體會:做實驗要小心翼翼,注意Java大小區分 《Java語言程序設計》課程設計指導書 一、教學目標 《Java語言程序設計》是計算機類專業和信息安全專業的專業課。Java語言是目前廣為流行的面向對象程序設計語言,適用于網絡編程,滿足Internet上軟件開發的需要。因此本課程是一門概念性和實踐性都很強的專業課程。本課程從基本程序設計流程出發,逐步過渡到面向對象的程序設計方法,由淺入深地講解面向對象的編程思想。 java課程設計是鞏固所學理論知識、提高程序設計能力的重要實踐環節。通過課程設計的訓練,使學生能夠綜合應用Java的基礎知識和基本方法,體會軟件設計的全過程,編寫出高效率的應用程序,培養學生的數據處理能力,提高軟件設計能力,從而為今后進行系統軟件和應用軟件的開發研究打下堅實的基礎,并倡導刻苦鉆研的精神和嚴謹的治學作風。 二、教學要求 課程設計要求每位學生熟練運用Java語言,按照面向對象程序設計思想,獨立編制一個略具規模、中等難度的應用程序。調試通過并寫出課程設計報告,課程設計報告包括題目說明、題意分析、設計目的、設計特點、功能說明、主要功能程序段、運行結果及結果分析、編程經驗、設計體會、存在問題及解決方法等。 三、課程設計題目 課程設計課題分推薦課題和其它課題: 推薦課題:javaweb開發的管理系統(圖書查詢系統、汽車租賃系統、倉庫管理系統、人事管理系統等) 其它課題:javaswing開發的游戲、工具、管理系統 俄羅斯方塊、5子棋游戲、掃雷、模擬考試系統 2、設計要求 ⑴ 獨立編制一個略具規模、中等難度的應用程序。 ⑵ 調試通過并寫出課程設計報告,課程設計報告包括題目說明、題意分析、設計目的、設計特點、功能說明、主要功能程序段、運行結果及結果分析、編程經驗、設計體會、存在問題及解決方法等。 四、主要開發工具 Javaweb相關工具 五、課程設計報告要求 1.封面:按下面所給的格式填寫 2.正文要求如下:(1)題目說明;(2)題意分析;(2)設計目的;(3)設計特點;(4)功能說明;(5)主要程序段; (6)運行結果分析以及測試結果(7)存在問題解決方法 (8)結束語(設計收獲體會)3.報告正文格式要求: ·大標題三號加粗 ·小標題四號加粗 ·正文宋體小四號字 ·每個自然段開始空兩格.·文中英文用新羅馬(time new roman),四號 4.其他要求:字數5000字 六、提交的材料 (一)、程序(電子版) (二)、程序設計說明書(打印) 七、課程設計成績評定 平時出勤及表現: 10% 課程設計完成情況,難度等級60% 課程設計報告、文檔資料:30% 1、期末成績評定 實習成績 = 實際操作、調試和測試(效果)+ 設計報告 +平時表現。 2、評定標準 (1)嚴格控制95分,其標準是有創意;(2)90分以上,必須全部正確;(3)有少許錯誤,可給80—89;(4)錯誤不多,可給60—79; 注:如甲、乙有拷貝、復印等抄襲現象,甲、乙均按0分處理。 更多優質自考資料盡在百度貼吧自考樂園俱樂部 (http://tieba.baidu.com/club/5346389)歡迎?加入...歡迎?交流...止不住的驚喜等著你.........自考Java語言程序設計 (一)課后習題及答案 自考Java語言程序設計 (一)第一章Java語言概述課后習題 一、Java語言概述 1.Java語言有哪些特點? 2.什么叫做類?什么叫做對象? 3.簡述Java的運行機制。 4.簡述Java應用程序的開發流程。 5.當初Sun公司發展Java的原因是:來源:www.tmdps.cnumber_1 = new ComplexNumber(3,-5); ComplexNumber cNumber_2 = 本文來源:考試大網 new ComplexNumber(2,2); double d = 10.0; System.out.println(cNumber_1.toString()+ “ 加 ” + cNumber_2.toString()+ “ 等于 ” + cNumber_1.complexAdd(cNumber_2).toString()); System.out.println(cNumber_1.toString()+ “ 加 ” + d + “ 等于 ” + cNumber_1.complexAdd(d).toString()); System.out.println(cNumber_1.toString()+ “ 減 ” + cNumber_2.toString()+ “ 等于 ” 更多優質自考資料盡在百度貼吧自考樂園俱樂部 (http://tieba.baidu.com/club/5346389)歡迎?加入...歡迎?交流...止不住的驚喜等著你.........+ cNumber_1.complexMinus(cNumber_2).toString());System.out.println(cNumber_1.toString()+ “ 減 ” + d + “ 等于 ” + cNumber_1.complexMinus(d).toString());System.out.println(cNumber_1.toString()+ “ 乘 ” + cNumber_2.toString()+ “ 等于 ” + cNumber_1.complexMulti(cNumber_2).toString());System.out.println(cNumber_1.toString()+ “ 乘 ” + d + “ 等于 ” + cNumber_1.complexMulti(d).toString());} } class ComplexNumber { //域 private double m_dRealPart;private double m_dImaginPart;//構造方法 ComplexNumber(){ m_dRealPart = 0.0;m_dImaginPart = 0.0;} ComplexNumber(double r,double i){ m_dRealPart = r;m_dImaginPart = i;} ComplexNumber(ComplexNumber c){ m_dRealPart = c.getRealPart();m_dImaginPart = c.getImaginaryPart();} //get,set方法 double getRealPart(){ return m_dRealPart;} double getImaginaryPart(){ return m_dImaginPart;} void setRealPart(double d){ 更多優質自考資料盡在百度貼吧自考樂園俱樂部 (http://tieba.baidu.com/club/5346389)歡迎?加入...歡迎?交流...止不住的驚喜等著你.........m_dRealPart = d;} void setImaginaryPart(double d){ m_dImaginPart = d;} //復數運算方法 ComplexNumber complexAdd(ComplexNumber c){ return new ComplexNumber(this.m_dRealPart + c.getRealPart(), this.m_dImaginPart + c.getImaginaryPart());} ComplexNumber complexAdd(double c){ return new ComplexNumber(this.m_dRealPart + c, this.m_dImaginPart);} ComplexNumber complexMinus(ComplexNumber c){ return new ComplexNumber(this.m_dRealPartc.getImaginaryPart());} ComplexNumber complexMinus(double c){來源:www.tmdps.cn return new ComplexNumber(this.m_dRealPart-c, this.m_dImaginPart);} ComplexNumber complexMulti(ComplexNumber c){ return new ComplexNumber(this.m_dRealPart * c.getRealPart() -this.m_dImaginPart * c.getImaginaryPart(), this.m_dRealPart * c.getImaginaryPart()+ this.m_dImaginPart * c.getRealPart());} ComplexNumber complexMulti(double c){ return new ComplexNumber(this.m_dRealPart * c, this.m_dImaginPart * c);} //toString()public String toString() 更多優質自考資料盡在百度貼吧自考樂園俱樂部 (http://tieba.baidu.com/club/5346389)歡迎?加入...歡迎?交流...止不住的驚喜等著你.........{ return “(” + m_dRealPart + “ + ” + m_dImaginPart + “ i” + “)”; } } 8.答:接口是用來實現類間多重繼承功能的結構。接口與類相似,但是接口中只能包括常量和抽象方法。定義接口相當于定義了一組抽象的功能、屬性集合,可以使了ava程序的類層次結構更加合理,并實現多重繼承。 9.答:使用關鍵字implements可以定義類實現某接口。實現某接口的類如果不是抽象類,則需要通過重載來實現該接口中的所有抽象方法;如果這個類是抽象類,則它可以不必實現該接口中的所有抽象方法。 10.答:接口可以被繼承。 SubInterface中的抽象方法有:public abstract int supMethod();和public abstract string subMethod();兩個。 自考Java語言程序設計 (一)第七章Java常用類庫介紹課后習題 七、Java 常用類庫介紹 1.指出下列陳述是對還是錯,并做出解釋。 (1)當String對象用= = 比較時,如果String包括相同的值則結果為true。 (2)一個String類的對象在其創建后可被修改。 2.對于下列描述,各寫出一條語句完成要求的任務 (1)比較s1中的串和s2中的串的內容的相等性; (2)用+=向串s1附加串; (3)判斷s1中串的長度;來源:考試大 3.說明capacity()與length()用法上的差異? 4.如果ch為StringBuffer對象,ch=“Java Apple”,下列結果為何? (1)ch.insert(3,’p’)(2)ch.append(“Basic”) (3)ch.setlength(5)(4)ch.reverse() 5.Math類中提供用來常數π和e的靜態屬性分別是什么? 6.下面關于Vector類的說法正確的是() (1)類Vector在java.util包中。 (2)一個向量(Vector)對象存放的是一組有序的對象。 (3)一個向量(Vector)對象大小可以根據存放的元素個數的增加而自動增加。 (4)一個向量(Vector)對象中每個元素可以是不同類型的對象。 7.有三個字符串,編寫程序找出其中最大者。 8.編寫一個程序,設定一個有大小寫字母的字符串,先將字符串的大寫字符輸出,再將字符串中的小寫字符輸出。 9.設定5個字符串,要求只打印那些以字母“b”開頭的串,編寫程序完成。 10.設定一個有大小寫字母的字符串和一個查找字符,使用類 String方法IndexOf()來判斷在該字符串中該字符出現的次數。 參考答案 更多優質自考資料盡在百度貼吧自考樂園俱樂部 (http://tieba.baidu.com/club/5346389)歡迎?加入...歡迎?交流...止不住的驚喜等著你.........1.答: (1)錯。用= =操作符比較String對象實際上是判斷它們在內存中是否為同一對象,并不是判斷它們的值是否相同。 (2)錯。String類的對象是常量。它們被創建后不可被修改。 2.答: (1)s1.equals(s1,s2); (2)s1+=s2; (3)s1.length(); 3.答:capacity()返回字符串對象的當前緩沖區的長度,length()返回字符串對象字符的長度。考試大收集整理 4.答: (1)結果:Javpa Applet (2)結果:Javpa AppletBasic (3)結果:ch長度變為5 (4)結果:apvaJ 5.答:PI、E 6.答:(3) 7.public class max1 { public static void main(String args[]) { String s1= “Hello Java”; String s2= “Java Applet”; String s3= “Java”; String s; if(s1.compareTo(s2)<0) s=s2; else s=s1; if(s.compareTo(s3)<0) s=s3; Systrm.out.println(“big=”+s); } } 8.public class out { public static void main(String args[]) { String s1= “Hello Java”; StringBuffer bufup=new StringBuffer(); StringBuffer buflow=new StringBuffer(); for(int I=0;I {if(s1.charAt(i)<97) 更多優質自考資料盡在百度貼吧自考樂園俱樂部 (http://tieba.baidu.com/club/5346389)歡迎?加入...歡迎?交流...止不住的驚喜等著你.........{bufup.append(s1.charAt(i));bufup.append(' ');} else { buflow.append(s1.charAt(i));buflow.append('');} } System.out.println(“s1= ”+s1);System.out.println(“ uppercase= ”+bufup);System.out.println(“ lowercase= ”+buflow);} } 9. public class prin_b { public static void main(String args[]){ String s1=“hello”;String s2=“bee”;String s3=“java”;String s4=“brove”;String s5=“bag”;if(s1.indexOf('b')= =0)System.out.println(s1);if(s2.indexOf('b')= =0)System.out.println(s2);if(s3.indexOf('b')= =0)System.out.println(s3);if(s4.indexOf('b')= =0)System.out.println(s4);if(s5.indexOf('b')= =0)System.out.println(s5);} } 10. public class ppp { public static void main(String args[]){ String s1=“abcdefghi”;int num=0;for(int i=0;i {i=s1.indexof('e',i);num++; 更多優質自考資料盡在百度貼吧自考樂園俱樂部 (http://tieba.baidu.com/club/5346389)歡迎?加入...歡迎?交流...止不住的驚喜等著你.........} System.out.print(“ s1=”+s1+“e=”); if(num= =0) System.out.println(“ no found”); else System.out.println(num); } } 自考Java語言程序設計 (一)第八章Java異常處理及輸入輸出流簡介課后習題 八、Java異常處理及輸入輸出流簡介 1.列出5個常見的異常。 2.寫出Java語言的異常處理機制的優點。 3.為什么異常處理技術不應該用于常規的程序控制? 4.引起異常產生的條件是什么? 5.異常沒有被捕獲將會發生什么? 6.編寫一個程序,以說明catch(Exception e)如何捕獲各種異常。 7.下面的代碼段中finally語句塊會被執行嗎? public class ExceptionExam3 { public static void main(String [] args) { try { int [] a=new int[3]; System.exit(0); } catch(ArrayIndexOutOfBoundsException e) {System.out.println(“發生了異常”);} finally {System.out.println(“Finally”);} } } 8.throws的作用是什么? 9.應在程序的什么地方使用異常處理? 10.下面的代碼有什么錯誤嗎? class ExceptionExam{?} throw new ExceptionExam(); 11.異常類型匹配的處理方式。程序功能:首先輸出“這是一個異常處理的例子”,然后在你程序中主動地產生一個 ArithmeticException 類型被0 除而產生的異常,并用catch 語句捕獲這個異常。最后通過ArithmeticException類的對象e的方法getMessage 給出異常的具體類型并顯示出來。 12.根據所給創建自定義異常類的使用格式,編寫一個自定義異常的小程序。 更多優質自考資料盡在百度貼吧自考樂園俱樂部 (http://tieba.baidu.com/club/5346389)歡迎?加入...歡迎?交流...止不住的驚喜等著你.........13.什么叫流?流式輸入輸出有什么特點? 14.Java流被分為字節流、字符流兩大流類,兩者有什么區別? 15.File類有哪些構造函數和常用方法? 16.利用文件輸入輸出流編寫一個實現文件拷貝的程序,源文件名和目標文件名通過命令行參數傳入。 17.編寫一個程序,在當前目錄下創建一個子目錄test,在這個新創建的子目錄下創建一個文件,并把這個文件設置成只讀。 18.位置指針的作用是什么?RandomAccessFile類提供了哪些方法實現對指針的控制? 19.編寫一個程序,從鍵盤輸入一串字符,統計這串字符中英文字母、數字、其他符號的字符數。 20.編寫一個程序,從鍵盤輸入一串字符,從屏幕輸出并將其存入a.txt文件中。采集者退散 21.編寫一個程序,從鍵盤輸入10個整數,并將這些數據排序后在標準輸出上輸出。 參考答案 1.答:內存耗盡、數組下標超出邊界、被0除、非法的方法參數、算法溢出處。來源:考試大的美女編輯們 2.答:(1)Java通過面向對象的方法進行異常處理,把各種異常事件進行分類,體現了良好的層次性,提供了良好的接口,這種機制對于具有動態特 性的復雜提供了強有力的控制方式。(2)Java的異常處理機制使得處理異常的代碼和“常規”代碼分開,減少了代碼的數量,增強了程序的可讀性。(3)Java的異常處理機制使得異常事件可以沿調用棧自動向上傳播,而不是C語言中通過函數的返回值來傳播,這樣可以傳遞更多的信息,并且簡化了代碼的編寫。(4)由于把事件當成事件處理,利用類的層次性我們可以把多個具有相同父類的異常統一處理,也可以區分不同的異常分別處理,使用非常靈活。 3.答:a.異常處理用于不經常發生但通常導致程序終止的情況,因此要求編程人員為編譯器的優化執行實現異常處理。b.常規控制結構的控制流程通常比異常的更為清晰、交流更高。c.在發生異常,并且沒有釋放異常發生之前分配的資源時,堆棧是展開的,所以會出現一些問題。d.“額外的”異常會妨礙真正錯誤類型的異常。這種使程序員更難 以跟蹤大量的異常。 4.答:異常產生的方式有3種。第一種是在某些內部錯誤時,Java虛擬機可以產生異常,該異常不在你的程序控制范圍內,通常不作處理。第二種是由程序代碼中的錯誤引起,這種異常需要你的程序處理。第三種是通過使用throw語句手動生成的異常。 5.答:未捕獲的異常最終會導致程序非正常終止。 6.public class ExceptionExam { public static void main(String [] args) { try { int i=0; i=3/i;//將產生算術異常。 } catch(ArithmeticException e)//找到了匹配的異常,執行該catch塊。 更多優質自考資料盡在百度貼吧自考樂園俱樂部 (http://tieba.baidu.com/club/5346389)歡迎?加入...歡迎?交流...止不住的驚喜等著你.........{ System.out.println(“發生了ArithmeticException異常”); } catch(AarryIndexOutOfBoundsException e)//不是匹配的異常,且不會再捕獲 //異常,如果發生數組索引超出范圍所產生的異常,將執行該catch塊。 { System.out.println(“發生了AarryIndexOutOfBoundsException異常”); } catch(Exception e) //前兩個catch塊均無法捕獲try塊中發生的異常時,才會執行該catch塊。 { System.out.println(“發生了異常”); } finally { System.out.println(“執行d Finally”);} } } 7.答:無論是出于何種原因,只要執行離開try/catch代碼塊,就會執行finally代碼塊。即無論try是否正常結束,都會執行 finally定義的最后的代碼。如果try代碼塊中的任何代碼或它的任何catch語句從方法返回,也會執行finally代碼塊。但本題中在try代 碼塊中執行了“System.exit(0);”語句,執行了這一語句后,Java虛擬機(JVM)將被終止。那么finally語句塊一定不會被執行。 8.答:在某些情況下,如果一個方法產生自己不處理或無法處理的異常,它就必須在throws子句中聲明該異常。 9.答:通常,可以采用兩種方式來報告錯誤:返回值和異常。在Java中異常處理很常用,雖然返回錯誤代碼在某些情況下是一種有效的方式,但是異常處理可以提供強大的結構化方法來處理異常。所以需要處理代碼中的錯誤時就可以采用異常的方法進行處理。 10.答:ExceptionExam不是繼承(擴展)Throwable的子類,只有Throwable的子類可以由throw拋出。所以,這一段代碼會出錯。 11.public class ExceptionExam1 { public static void main(String [] args) { try {int i=0; i=3/i; } catch(ArithmeticException e) { System.out.println(“異常是:”+e.getMessage()); } finally { 更多優質自考資料盡在百度貼吧自考樂園俱樂部 (http://tieba.baidu.com/club/5346389)歡迎?加入...歡迎?交流...止不住的驚喜等著你.........System.out.println(“finally 語句被執行”); } } } 注意:如果在catch 語句中聲明的異常類是Exception,catch 語句也能正確地捕獲,這是因為Exception 是ArithmeticException 的父類。如果不能確定會發生哪種情況的異常,那么最好指定catch的參數為Exception,即說明異常的類型為Exception。 12.class Excp1 extends Exception {} class Excp2 extends Excp1 {} public class ExceptionExam7 { public static void main(String [] args)throws Exception { try { throw new Excp2(); } catch(Excp2 e) { System.out.println(“catch1”); throw new Excp1(); } catch(Excp1 e) { System.out.println(“catch2”); throw new Exception(); } catch(Exception e) { System.out.println(“catch3”); } finally { System.out.println(“finally”); } } } 說明:自定義異常類,關鍵是選擇繼承的超類——必須是Exception或者其子類。用異常代表錯誤,而不要再使用方法返回值。 13.答:所謂流是指同一臺計算機或網絡中不同計算機之間有序運動著的數據序列,Java把這些不同來源和目標的數據都統一抽象為數據流。數據流可分為輸入流和輸出流,輸 更多優質自考資料盡在百度貼吧自考樂園俱樂部 (http://tieba.baidu.com/club/5346389)歡迎?加入...歡迎?交流...止不住的驚喜等著你.........入流代表從其他設備流入計算機的數據序列,輸出流代表從計算機流向外部設備的數據序列。 流式輸入輸出的特點是數據的獲取和發送沿數據序列的順序進行,即每一個數據都必須等待排在它前面的數據,等前面的數據讀入或送出之后才能被讀寫。所以流和隊列一樣,只能以“先進先出”的方式對其中的數據進行讀寫,而不能隨意選擇讀寫的位置。 14.答:兩者都作為Object類的直接子類,基本輸入流(無效Stream)和基本輸出流(OutputStream)是處理以8位字節為基本單位的字節流類;Reader和Writer類是專門處理16位字符流的類。 15.答:構造函數有: (1)public File(String pathname):創建一個對應于參數pathname的File類對象。參數pathname是包含目錄和文件名的字符串。如果沒有文件名,則代表目錄。 (2)public File(String parent , String child):該構造函數將pathname分成兩部分parent和child,參數parent表示目錄或文件所在路徑,參數child表示目錄或文件名稱。 (3)public File(File parent, String child):該構造函數與上面一個不同在于將parent的參數類型由String變為File,代表parent是一個已經創建的File類文件對象(指向目錄)。 常用方法有: (1)public boolean canWrite():返回文件是否可寫。 (2)public boolean canRead():返回文件是否可讀。 (3)public boolean createNewFile():當文件不存在時創建文件。 16.import java.io.*; class CopyFile{ public static void main(String[] args){ String file1,file2; int ch = 0; try { file1=args[0]; file2=args[1]; File無效Stream fis = new File無效Stream(file1); FileOutputStream fos=new FileOutputStream(file2); while((ch=fis.read())!=-1) fos.write(ch); fis.close(); fos.close(); } catch(FileNotFoundException e){ System.out.println(“源文件:未找到!”); }catch(ArrayIndexOutOfBoundsException e){ System.out.println(“缺少運行參數!”); System.exit(-1); } catch(IOException e){ System.out.println(e.toString()); } 更多優質自考資料盡在百度貼吧自考樂園俱樂部 (http://tieba.baidu.com/club/5346389)歡迎?加入...歡迎?交流...止不住的驚喜等著你.........} } 17.答: import java.io.*; public class NewFile{ public static void main(String args[]){ File f=new File(“test”); if(f.exists()&&f.isDirectory()) System.err.println(“目錄:”+f.toString()+“已經存在!”); else{ if(f.mkdir()){ System.out.println(“目錄”+f.getAbsolutePath()+“創建結束!”); File f2=new File(f,“my.txt”); try{ f2.createNewFile(); f2.setReadOnly(); }catch(IOException e){ System.out.println(e.toString()); } System.out.println(“文件:”+f2.getAbsoluteFile()+“創建結束!”); } else System.out.println(“目錄”+f.getAbsoluteFile()+“創建失敗!”); } } } 18.答:要實現對文件的隨機讀取,也就是在文件的任何位置執行讀寫數據的操作,需要一個指針來指定讀寫的位置。在創建 RandomAccessFile類對象的同時,系統自動創建了一個指向這個文件開頭的指針,當執行讀寫操作后,指針自動指向被讀寫數據之后的第一個字節 處。指針初始值是0,每讀/寫一個字節,指針自動增加1。RandomAccessFile類提供了一些控制指針移動的方法。 public long getFilePointer();獲取當前指針指向文件的位置。考試大論壇 pulbic void seek(long pos);將指針移動到參數pos指定的位置。 public int skipBytes(int n);指針從當前位置向后移動n個字節位置,并返回指針實際移動的字節數。 19.答: import java.io.*; public class Count{ public static void main(String[] args) { int x=0,y=0,z=0; int ch; try{ while((ch=System.in.read())!='r'){ 更多優質自考資料盡在百度貼吧自考樂園俱樂部 (http://tieba.baidu.com/club/5346389)歡迎?加入...歡迎?交流...止不住的驚喜等著你.........if(ch>='A'&&ch<='Z'||ch>='a'&&ch<='z')x++;else if(ch>='0'&&ch<='9')y++;else z++;} }catch(IOException e){ System.out.println(e.toString());} System.out.println(“英文字母:”+x);System.out.println(“數字字符:”+y);System.out.println(“其它字符:”+z);} } 20.答: import java.io.*;public class InFile{ public static void main(String[] args){ int ch;try{ FileOutputStream out=new FileOutputStream(“a.txt”);while((ch=System.in.read())!='r'){ System.out.write(ch);out.write(ch);} out.close();System.out.write('n');}catch(IOException e){ System.out.println(e.toString());} System.out.println(“輸出至文件完畢!”);} } 21.答: import java.io.*;public class Sort{ public static void main(String args[]){ int a[]=new int[10];byte b[]=new byte[10];int t;String str; 更多優質自考資料盡在百度貼吧自考樂園俱樂部 (http://tieba.baidu.com/club/5346389)歡迎?加入...歡迎?交流...止不住的驚喜等著你.........System.out.println(“請輸入10個整數:”); try{ for(int i=0;i<10;i++) {System.out.print(“No.”+(i+1)+“: ”); System.in.read(b); str=new String(b); str=str.trim(); a[i]=Integer.parseInt(str); } }catch(IOException e){ System.out.println(e.toString()); } catch(NumberFormatException e){ System.out.println(e.toString()); } for(int i=0;i<9;i++) for(int j=i+1;j<10;j++) { if(a[i]>a[j]){ t=a[i]; a[i]=a[j]; a[j]=t; } } for(int i=0;i<10;i++) System.out.println(a[i]+“t”); } } 自考Java語言程序設計 (一)第九章JavaApplet概述課后習題 九、Java Applet概述 1.下列方法中,哪一個不是Applet的基本方法() A、init()B、run()C、stop()D、start() 2.在Java中判定Applet的來源的方法有() A、getcodebase()B、get文檔base() C、getCodeBase()D、get文檔Bade() 3.下面關于Applet的說法正確的是 A、Applet也需要main方法 B、Applet必須繼承自javawt.Applet C、Applet能訪問本地文件 D、Applet程序不需要編譯 4.Applet類的直接父類是() 更多優質自考資料盡在百度貼吧自考樂園俱樂部 (http://tieba.baidu.com/club/5346389)歡迎?加入...歡迎?交流...止不住的驚喜等著你.........() A.Component類 B.Container類 C.Frame類 D.Panel類 5.判斷:一個Applet編譯后的類名是Test.class,運行此小程序的命令是Java Test。 6.編寫同時具有Applet與Application的特征的程序。具體方法是:作為Application要定義main()方法,并且把 main()方法所在的類定義一個類。為使該程序成為一個Applet,main()方法所在的這個類必須繼承Applet類或JApplet類。www.tmdps.cn/club/5346389)歡迎?加入...歡迎?交流...止不住的驚喜等著你.........A.FlowLayoutB.BorderLayout C.GridLayoutD.CardLayout 10.編寫程序,創建下面的GUI(不必為各組件提供功能)。考試大收集整理 參考答案 1: false 2:true 3:true 4.true 5:版面管理器 6.圖形用戶界面 7.mouseReleased 8.C 9.B 10.import javawt.*; public class Chp9_3_A extends Frame{ TextField t=new TextField(); String[] op={“7”,“8”,“9”,“/”,“4”,“5”,“6”,“*”,“1”,“2”,“3”,“-”,“0”,“.”,“=”,“+”}; Button[] btn=new Button[16]; Panel p=new Panel(); public Chp9_3_A(){ setLayout(new BorderLayout()); p.setLayout(new GridLayout(4,4)); for(int i=0;i btn[i]=new Button(op[i]); p.add(btn[i]); } add(t,BorderLayout.NORTH); add(p,BorderLayout.CENTER); setSize(400,300); } public static void main(String[] args){ new Chp9_3_A().setVisible(true); } } 自考Java語言程序設計 (一)第十二章課后習題 十二、常用組件之一________命令按鈕與標簽框 1.判斷:標簽是是一個容器。() 2.判斷:在Swing用戶界面的程序設計中,容器可以被添加到其它容器中去。() 3.用戶不能修改的文本稱為_______。 4.關于awt和swing說法正確的是:來源:考試大 更多優質自考資料盡在百度貼吧自考樂園俱樂部 (http://tieba.baidu.com/club/5346389)歡迎?加入...歡迎?交流...止不住的驚喜等著你.........A、awt在不同操作系統中顯示相同的風格。B、swing在不同的操作系統中顯示相同的風格 C、javawt的子類 D、awt和swing都支持事件模型 5.下列_________用戶圖形界面組件在軟件安裝程序中是常見的。a.滑塊 b.進度條來源:考試大 c.對話框 d.標簽 6.包含可單擊按鈕的類的Java類庫是__________。a.AWT b.Swing c.二者都有來源:www.tmdps.cn d.二者都沒有 7.下面的__________用戶界面組件不是容器。a.JScrollPane b.JFrame考試大-全國最大教育類網站(www.tmdps.cn)c.JWindows d.JScrollBar 8.創建下面的GUI,顏色列表框為紅色、綠色和藍色(不必為各組件提供功能)。參考答案 1.false 2.true 3.標簽 4.B D 5.B 6.C 7.D 8.參考程序如下: import javawt.*;public class Chp9_3_B extends Frame{ Choice ch;Checkbox bg,fg;Button btnOK,btnCancel;Panel p,p1,p2;public Chp9_3_B(){ p=new Panel();p.setLayout(new GridLayout(2,1));p1=new Panel();p2=new Panel();p1.setLayout(new FlowLayout());p2.setLayout(new FlowLayout());ch=new Choice();ch.add(“紅色”); 更多優質自考資料盡在百度貼吧自考樂園俱樂部 (http://tieba.baidu.com/club/5346389)歡迎?加入...歡迎?交流...止不住的驚喜等著你.........ch.add(“綠色”);ch.add(“藍色”);bg=new Checkbox(“背景”);fg=new Checkbox(“前景”);p1.add(bg);p1.add(fg);btnOK=new Button(“確定”);btnCancel=new Button(“取消”);p2.add(btnOK);p2.add(btnCancel);p.add(p1);p.add(p2);add(ch,BorderLayout.NORTH);add(p,BorderLayout.CENTER);setSize(400,300);} public static void main(String[] args){ new Chp9_3_B().setVisible(true);} } 自考Java語言程序設計 (一)第十三章課后習題 十三、常用組件之二 _______單行文本框與多行文本框,單選框和復選框 1.判斷:列表對象總包含滾動條。() 2.判斷:面板的默認管理器是BorderLayout。 3.____________類用于創建一組單選按鈕。來源:考試大 4.欲編寫如下圖的一個界面,用于顯示用戶指定的圖像: 如果在區域A中只能放置一個 AWT組件,從各組件的本來功能角度考慮,最好使用哪種組件: A、TextArea B、Panel C、Applet D、Canvas 5.Java應用程序中的默認外觀是_________。 A.Motif B.Windows C.METAl 6.創建下面的GUI,要求在文本框中輸入分數,單擊“求和”按鈕后在結果文本框中顯示總分。 7.編寫一個將華氏溫度轉換為攝氏溫度的程序。應從鍵盤輸入華氏溫度,然后通 更多優質自考資料盡在百度貼吧自考樂園俱樂部 (http://tieba.baidu.com/club/5346389)歡迎?加入...歡迎?交流...止不住的驚喜等著你.........過文本顯示轉換后的攝氏溫度。使用下面的公式進行溫度轉換: 攝氏溫度=5/9Χ(華氏溫度-32) 8.編寫一個程序,使用戶能夠使用鼠標在applet中繪制一個矩形。按住鼠標左鍵,確定矩形的左上角,然后拖動鼠標,在需要的位置(即矩形右下角)釋放鼠標。另外,在狀態欄中顯示矩形面積。 參考答案 1.false 2.true 3.CheckboxGroup 4.D 5. C 6.參考程序如下: import javawt.*;來源:考試大 import javawt.event.*; public class Chp9_3_C extends Frame implements ActionListener{ TextField textField1,textField2,textField3; Button button1=new Button(“求和”); Panel panel1,panel2; public Chp9_3_C(){ textField1=new TextField(); textField2=new TextField(); textField3=new TextField(); panel1=new Panel(); panel2=new Panel(); panel1.setLayout(new GridLayout(3,2)); panel2.setLayout(new FlowLayout()); panel1.add(new Label(“數學: ”)); panel1.add(textField1); panel1.add(new Label(“英語: ”)); panel1.add(textField2); panel1.add(new Label(“總分: ”)); panel1.add(textField3); panel2.add(button1); add(panel1,BorderLayout.CENTER); add(panel2,BorderLayout.SOUTH); button1.addActionListener(this); setSize(300,200); setVisible(true); } public static void main(String[] args){ new Chp9_3_C(); } public void actionPerformed(ActionEvent e){ int n1,n2,sum; 更多優質自考資料盡在百度貼吧自考樂園俱樂部 (http://tieba.baidu.com/club/5346389)歡迎?加入...歡迎?交流...止不住的驚喜等著你.........n1=Integer.parseInt(textField1.getText());n2=Integer.parseInt(textField2.getText());sum=n1+n2;textField3.setText(“"+sum);} } 6.參考程序如下: import javawt.*;import javawt.event.*;public class Chp9_3_D extends Frame{ TextField textField1,textField2;Button button1;public Chp9_3_D(){ textField1=new TextField(30);textField2=new TextField(30);button1=new Button(”轉換“);setLayout(new FlowLayout());add(new Label(”華氏溫度:“));add(textField1);add(new Label(”攝氏溫度:“));add(textField2);textField2.setEditable(false);add(button1);setSize(400,300);pack();button1.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ button1_actionPerformed(e);} });addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0);} });} public static void main(String[] args){ new Chp9_3_D().setVisible(true);} private void button1_actionPerformed(ActionEvent e){ double d=Double.parseDouble(textField1.getText());double h=5.0/9.0*(d-32);textField2.setText(”“+h);} 更多優質自考資料盡在百度貼吧自考樂園俱樂部 (http://tieba.baidu.com/club/5346389)歡迎?加入...歡迎?交流...止不住的驚喜等著你.........} 7.參考程序如下: import javapplet.Applet; import javawt.*; import javawt.event.*; public class Chp9_3_E MouseListener,MouseMotionListener{ int x1,y1,x2,y2; public void init(){ addMouseListener(this); addMouseMotionListener(this); } public void paint(Graphics g){ g.drawRect(x1,y1,x2,y2); int area=Math.abs(x2-x1)*Math.abs(y2-y1); showStatus(”矩形面積: "+area); } //implementation of MouseListener public void mousePressed(MouseEvent e){ x1=e.getX(); y1=e.getY(); } public void mouseClicked(MouseEvent e){} public void mouseEntered(MouseEvent e){} public void mouseExited(MouseEvent e){} public void mouseReleased(MouseEvent e){} //implementation of MouseMotionEvent public void mouseDragged(MouseEvent e){ x2=e.getX(); y2=e.getY(); repaint(); } public void mouseMoved(MouseEvent e){} } extends Applet implements Java語言程序設計課程知識點總結 by wgc 1、構造方法 無返回值,和類名相同 new調用 2、方法的重載 (1同3不同)方法名稱相同 參數個數 類型 順序不同 與返回值類型無關 構造方法重載 普通方法重載 3、變量的作用域 成員變量 局部變量 局部變量隱藏成員變量 this 4、this關鍵字 得到當前對象的成員變量,代表當前對象 5、對象作為方法的參數 對象 傳引用 基本類型 傳值 6、包 pakage import 7、訪問控制修飾符 類 public 缺省的 屬性和方法 private 缺省的 protected public 8、static 類成員變量(靜態成員變量) 實例成員變量 類方法(靜態方法) 類成員變量在類加載時初始化(分配內存空間) 實例方法可以調用任何成員變量和方法 類方法只能調用類變量和類方法 9、繼承 定義 extends 屬性和方法的繼承 public 不同包能繼承 protected 不同包能繼承(訪問不一樣,必須在子類中才能訪問)友好的 同一包中能繼承 private 不能被繼承 總結: (1)、當父子類定義在同一個包中時,父類的所有非私有屬性和方法可以被子類 繼承 (2)、當父子類定義在不同包中時(父類被public修飾),父類的被public和 protected 修飾的屬性和方法可以被子類繼承。 10、屬性的隱藏 子類與父類成員變量名字相同時,子類成員變量隱藏了父類的成員變量 注意: 在子類中調用從父類繼承的方法時,和子類的成員變量沒關系。 11、方法的覆蓋 子類與父類方法名字相同、參數類型、個數、順序都相同時,子類方法覆蓋 父類的方法。 12、繼承關系中的構造方法 子類實例化時,會首先調用父類(或父類的父類)的構造方法,然后在調用自己 的構造方法。 13、super關鍵字 調用父類構造方法 默認無參super(); 有參 super(a); 注:super關鍵字必須為子類構造方法的第一條語句。 調用父類被覆蓋的普通方法,或被隱藏的成員變量 super.show(); super.a; 14、上轉型對象(父、子類對象的使用與轉化) 子類實例賦給父類的引用 上轉型對象與父類對象唯一的區別為上轉型對象調用子類覆蓋(重寫)的方法。 多態 15、abstract 抽象類與抽象方法 抽象類中可以有抽象方法和普通方法 抽象方法必須定義在抽象類中 抽象方法只有定義,沒有實現。 通過繼承抽象類的子類對象來調用抽象類中的方法 一個非抽象類繼承抽象類,必須覆蓋(重寫)抽象類中的抽象方法。 16、final 修飾類 修飾成員變量 修飾局部變更 修飾方法 17、接口 interface implements 接口中成員變量都是公共的、靜態的常量 public static final int MIN=0; 接口中的方法都是公共的、抽象的public abstract void method(); 接口之間可以多繼承 // interface B extends A,Computable 類實現(implemnets)某個接口,必須實現里邊所有方法 接口回調 把實現某個接口的類的對象賦給此接口的變量,稱為接口回調 用法與對象的上轉型對象相同。 18、abstract類與接口的比較 abstract類和接口都可以有abstract方法。 接口中只可以有常量,不能有變量;而abstract類中既可以有常量也可以有變量。abstract類中也可以有非abstract方法,接口不可以。 意義區別: 抽象類表示事物之間縱向的聯系。如:車、汽車、公共汽車 接口表示事物之間橫向的聯系。 如:鳥、飛機、超人(都能飛) 19、內部類第二篇:Java語言程序設計實驗報告1
第三篇:《Java語言程序設計》課程設計指導書
第四篇:自考Java語言程序設計(一)課后習題及答案
第五篇:Java語言程序設計課程知識點總結