全國(guó)2014年4月高等教育自學(xué)考試
Java語(yǔ)言程序設(shè)計(jì)(一)試題
課程代碼:04747
請(qǐng)考生按規(guī)定用筆將所有試題的答案涂、寫(xiě)在答題紙上。
選擇題部分
注意事項(xiàng):
1. 答題前,考生務(wù)必將自己的考試課程名稱、姓名、準(zhǔn)考證號(hào)用黑色字跡的簽字筆或鋼筆填寫(xiě)在答題紙規(guī)定的位置上。
2. 每小題選出答案后,用2 B鉛筆把答題紙上對(duì)應(yīng)題目的答案標(biāo)號(hào)涂黑。如需改動(dòng),用橡皮擦干凈后,再選涂其他答案標(biāo)號(hào)。不能答在試題卷上。
一、單項(xiàng)選擇題(本大題共1 0小題,每小題1分,共1 0分)
在每小題列出的四個(gè)備選項(xiàng)中只有一個(gè)是符合題目要求的,請(qǐng)將其選出并將“答題紙”的相應(yīng)代碼涂黑。錯(cuò)涂、多涂或未涂均無(wú)分。
1.以下標(biāo)識(shí)符中,不是Java語(yǔ)言關(guān)鍵字的是
A.wait B.new
C.long D.switch
2.以下數(shù)據(jù)類型轉(zhuǎn)換中,必須進(jìn)行強(qiáng)制類型轉(zhuǎn)換的是
A.int→char B. short→long
C.float→double D. byte→int
3.以下供選擇的概念中,屬于面向?qū)ο笳Z(yǔ)言重要概念和機(jī)制之一的是
A.函數(shù)調(diào)用 B.模塊
C.繼承 D.結(jié)構(gòu)化
4.以下Java程序代碼中,能正確創(chuàng)建數(shù)組的是
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創(chuàng)建框架窗口,則A需要繼承的類是
A.JWindow B.JFrame
C.JDialog D.JApplet
6.MouseMotionListener接口能處理的鼠標(biāo)事件是
A.按下鼠標(biāo)鍵 B.鼠標(biāo)點(diǎn)擊
C.鼠標(biāo)進(jìn)入 D.鼠標(biāo)移動(dòng)
7.以下術(shù)語(yǔ)中,屬于文字字型風(fēng)格屬性的是
A.顏色 B.微軟雅黑
C.斜體 D.字號(hào)
8.以下能作為表示線程優(yōu)先級(jí)的數(shù)值,并且級(jí)別最低的是
A.0 B.1
C.1 5 D.1 6
9.某Java程序用javax.swing包中的類JFileChooser來(lái)實(shí)現(xiàn)打開(kāi)和保存文件對(duì)話框。該程序 通過(guò)文件對(duì)話框首先獲得的信息是
A.文件長(zhǎng)度 B.文件路徑
C.文件內(nèi)容 D.文件對(duì)象
1 0.在編寫(xiě)訪問(wèn)數(shù)據(jù)庫(kù)的Java程序時(shí),ResultSet對(duì)象的作用是
A.用來(lái)表示與數(shù)據(jù)庫(kù)的連接 B.存儲(chǔ)查詢結(jié)果
C.在指定的連接中處理SQL語(yǔ)句 D.建立新數(shù)據(jù)庫(kù)連接
非選擇題部分
注意事項(xiàng):
用黑色字跡的簽字筆或鋼筆將答案寫(xiě)在答題紙上,不能答在試題卷上。
二、填空題(本大題共1 0小題,每空2分,共20分)
11.類Testll經(jīng)Java編譯程序編譯后,產(chǎn)生的文件是 ______。
12.表達(dá)式“45&20”的十進(jìn)制值是 ______。
13.如果類A繼承和擴(kuò)展類B,則子類A和超類B之間的關(guān)系是 ______。
14.Java語(yǔ)言提供的用于處理不可改變的字符串類是 ______。
15.要使得已注冊(cè)的按鈕對(duì)象暫時(shí)不響應(yīng)事件,需使用的方法是______。
1 6.一個(gè)水平滾動(dòng)條對(duì)象的初始值是1 50,滑塊的寬是8個(gè)像素,表示的范圍是[0,300]。 創(chuàng)建這樣的滾動(dòng)條對(duì)象時(shí),提供的最后2個(gè)參數(shù)依次是______。
17.某應(yīng)用程序定義的類C17是JPanel的子類,在類C17的對(duì)象中需要繪圖,則在類 C17中應(yīng)重寫(xiě)的方法是 ______。
18.當(dāng)線程進(jìn)入臨界段后,發(fā)現(xiàn)需要與別的線程進(jìn)行同步,則要調(diào)用的方法 是 ______。
19.某程序想要隨機(jī)讀寫(xiě)字符文件,能支持這個(gè)要求的類是______。
20.某應(yīng)用程序已經(jīng)聲明了InetAddress對(duì)象addr,現(xiàn)要用域名www.baidu.com創(chuàng)建addr 對(duì)象,能實(shí)現(xiàn)這樣要求的代碼是addr =InetAddress.______;。
三、簡(jiǎn)答題(本大題共6小題,每小題3分,共1 8分)
22.請(qǐng)寫(xiě)出接口體中可能包含的內(nèi)容。
23.請(qǐng)寫(xiě)出對(duì)事件對(duì)象作監(jiān)視器注冊(cè)的作用。
24.已知Graphics對(duì)象g,獲得Graphics2D對(duì)象g2d,然后,用圓角長(zhǎng)方形類創(chuàng)建對(duì)象 circle,該對(duì)象的左上角坐標(biāo)是(30,40),半徑是50。請(qǐng)寫(xiě)出實(shí)現(xiàn)以上要求的Java代 碼。
25.某程序希望用FileFilter類的子類為打開(kāi)文件對(duì)話框設(shè)置文件篩選條件。請(qǐng)寫(xiě)出設(shè)置 此篩選條件要使用的類及相應(yīng)的方法。
26.JDBC是Java程序與數(shù)據(jù)庫(kù)連接的API。請(qǐng)寫(xiě)出JDBC能做的三件事情。
四、程序填空題(本大題共5小題,每空2分,共20分)
27.方法void moveOddFront (int a[])的功能是將數(shù)組a中的所有奇數(shù)都移到數(shù)組的前端, 而把偶數(shù)放于所有奇數(shù)的后面,其方法是當(dāng)發(fā)現(xiàn)是偶數(shù)時(shí),就讓該數(shù)留在原來(lái)位置, 當(dāng)發(fā)現(xiàn)是奇數(shù)時(shí),就與前面的第一個(gè)偶數(shù)交換。程序引入變量odd表示移動(dòng)過(guò)程中 遇到的奇數(shù)個(gè)數(shù)。
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;______;
}
?。?/p>
28.以下程序的界面包含一個(gè)文本區(qū)text和一個(gè)允許多選的列表list,列表的條目存于字 符串?dāng)?shù)組sports[]中,當(dāng)列表發(fā)生選擇事件時(shí),事件處理程序?qū)⑦@次選中的所有條目 在文本區(qū)中輸出。這里給出的是其中處理列表事件的方法。
public void valueChanged(________e){
if (e.getSource()==list){
text.setText(null);
int tempList[]=list. getSelectedIndices();∥獲得選中索引表
for (int i=0;i < tempList.length; i++)∥對(duì)索引表中的每個(gè)元素顯示被選中字樣
text.append(sports[______]+":被選中n");
?。?/p>
?。?/p>
29.以下應(yīng)用程序創(chuàng)建一個(gè)窗口,窗口內(nèi)放置一個(gè)面板,在面板中顯示一張圖片和一段 文字。
import javax.swing.*;import java.awt.*;
public class Test29 {
public static void main(String[] args) {
MyFrame frame = new MyFrame();
?。?/p>
}
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);
?。?/p>
?。?/p>
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用于管理多個(gè)線程共享數(shù)據(jù)data,其中定義了一個(gè)供線程修改 data的方法modiData()。為了對(duì)data的修改操作保持完整,多線程在data上的操作 有互斥要求;另外,限制線程對(duì)data的修改不能讓data為負(fù)數(shù),所以多線程在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