Java程序設(shè)計(jì)試題及答案
《Java程序設(shè)計(jì)》這本書很難學(xué)嗎?學(xué)了之后害怕遇到考試嗎?沒(méi)關(guān)系,只要看看這些Java程序設(shè)計(jì)試題及參考答案,相信你會(huì)考出一個(gè)理想的成績(jī)。
Java程序設(shè)計(jì)試題及參考答案
一、判斷題。判斷下列各題是否正確,若正確,在()內(nèi)打“√”,否則打“×”。
1、當(dāng)前路徑的標(biāo)識(shí)是“.”。 √
2、java命令不區(qū)分大小寫,而javac命令區(qū)分大小寫。×
3、說(shuō)明或聲明數(shù)組時(shí)不分配內(nèi)存大小,創(chuàng)建數(shù)組時(shí)分配內(nèi)存大小。√
4、強(qiáng)制類型轉(zhuǎn)換運(yùn)算符的功能是將一個(gè)表達(dá)式的類型轉(zhuǎn)換為所指定的類型。√
5、類是一種類型,也是對(duì)象的模板。√
6、Java語(yǔ)言會(huì)自動(dòng)回收內(nèi)存中的垃圾。√
7、IOException必須被捕獲或拋出。√
二、不定項(xiàng)選擇題。
1、以下關(guān)于編寫、編譯、運(yùn)行Java 程序的步驟中,錯(cuò)誤的是(BE)。
A、用link 將二進(jìn)制目標(biāo)碼文件連接成可執(zhí)行文件
B、用javac 將java 源文件編譯成二進(jìn)制目標(biāo)碼文件
C、用java 命令運(yùn)行編譯過(guò)的java 程序
D、用文本編輯器編寫java 源文件
E、用javac 命令編譯java 源文件
2、下面關(guān)于Java Application 程序結(jié)構(gòu)特點(diǎn)描述中,錯(cuò)誤的是(D )。
A、一個(gè)Java Application程序由一個(gè)或多個(gè)文件組成,每個(gè)文件中可以定義一個(gè)或多個(gè)類,每個(gè)類由若干個(gè)方法和變量組成
B、Java程序中聲明有public類時(shí),則Java程序文件名必須與public類的類名相同,并區(qū)分大小寫,擴(kuò)展名為.java
C、組成Java Application程序的多個(gè)類中,有且僅有一個(gè)主類
D、一個(gè).java文件中定義多個(gè)類時(shí),允許其中聲明多個(gè)public類
3、以下關(guān)于中斷控制語(yǔ)句的描述錯(cuò)誤的是(D)。
A、break 語(yǔ)句用于中斷當(dāng)前的程序塊,如for 結(jié)構(gòu)塊等的執(zhí)行
B、continue 停止繼續(xù)執(zhí)行下面的語(yǔ)句,直接跳回循環(huán)起始位置
C、return 用于退出整個(gè)子程序
D、break 用于強(qiáng)行退出循環(huán),不執(zhí)行循環(huán)中剩余的語(yǔ)句
E、在一個(gè)函數(shù)中不管有沒(méi)有返回值,都需要return 語(yǔ)句來(lái)退出函數(shù)
4、以下程序的執(zhí)行結(jié)果是什么?(B)
int[] myArray=new int[3];
try{
for (int i=0; i <= myArray.length; i++){
myArray[i]=i*3 ;
System.out.println("myArray 數(shù)組的第"+ i +"個(gè)元素的值是"+myArray[i]);
}
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("數(shù)組下標(biāo)越界");
}
A、程序出現(xiàn)異常,屏幕提示“數(shù)組下標(biāo)越界”
B、程序執(zhí)行,顯示數(shù)組中每個(gè)元素的值,最后顯示“數(shù)組下標(biāo)越界”
C、程序正常執(zhí)行結(jié)束,屏幕上顯示數(shù)組中每個(gè)元素的值
D、程序編譯出錯(cuò)
5、對(duì)象的有效期有多長(zhǎng)?(B)
A、與引用變量的有效期相同,當(dāng)引用變量的有效期結(jié)束時(shí),對(duì)象也自動(dòng)消失
B、從對(duì)象創(chuàng)建時(shí)開始,直到?jīng)]有任何引用變量指向該對(duì)象時(shí),對(duì)象失去作用,被自動(dòng)回收
C、從對(duì)象創(chuàng)建時(shí)開始,直到編程人員用“delete”關(guān)鍵字刪除對(duì)象為止
D、從對(duì)象創(chuàng)建時(shí)開始,直到程序結(jié)束
6、關(guān)于類的構(gòu)造方法,以下正確的是(BC)。
A、同一個(gè)類可以有幾個(gè)構(gòu)造方法,各構(gòu)造方法的參數(shù)必須不同
B、同一個(gè)類可以有幾個(gè)構(gòu)造方法,各構(gòu)造方法的參數(shù)必須相同
C、當(dāng)創(chuàng)建一個(gè)對(duì)象時(shí),需要指明是否調(diào)用該對(duì)象的構(gòu)造方法
D、構(gòu)造方法的名稱與類的名稱相同
E、當(dāng)創(chuàng)建一個(gè)對(duì)象時(shí),該對(duì)象的構(gòu)造方法會(huì)被自動(dòng)調(diào)用
7、下列關(guān)于子類繼承父類的成員描述中,錯(cuò)誤的是(C )。
A、當(dāng)子類中出現(xiàn)成員方法頭與父類方法頭相同的方法時(shí),子類成員方法覆蓋父類中的成員方法
B、方法重載是編譯時(shí)處理的,而方法覆蓋是在運(yùn)行時(shí)處理的
C、子類中繼承父類中的所有成員都可以訪問(wèn)
D、子類中定義有與父類同名變量時(shí),在子類繼承父類的操作中,使用繼承父類的變量;子類執(zhí)行自己的操作中,使用自己定義的變量
8、下列關(guān)于繼承性的描述中,錯(cuò)誤的是(C )。
A、一個(gè)類可以同時(shí)生成多個(gè)子類
B、子類繼承了父類中除私有的成員以外的其他成員
C、Java支持單重繼承和多重繼承
D、Java通過(guò)接口可使子類使用多個(gè)父類的成員
9、關(guān)于實(shí)現(xiàn)接口中的方法,哪些敘述是正確的?(B)
A、類中應(yīng)當(dāng)實(shí)現(xiàn)接口中的所有方法,但方法參數(shù)可以有所不同
B、類中應(yīng)包括所有接口中方法,并且方法名、返回值的類型、方法參數(shù)的個(gè)數(shù)、名稱、類型都必須與接口中的對(duì)應(yīng)方法相一致
C、類只能實(shí)現(xiàn)接口所提供的方法,而不能定義其他的方法
D、類只能實(shí)現(xiàn)接口的方法,而不能使用接口中的常量
10、關(guān)于抽象類的說(shuō)法中正確的有(CD)。
A、只有子類覆蓋了父類的所有抽象方法之后,這個(gè)子類才不是抽象類
B、抽象類只有方法,沒(méi)有屬性 C、抽象類的'所有方法都是抽象方法
D、帶有抽象方法的類為抽象類 E、抽象類不能創(chuàng)建對(duì)象
11、Java內(nèi)部如何利用”+”號(hào)把字符串String連接在一起?(B)
A、”+”相當(dāng)于append函數(shù),在StringBuffer對(duì)象的后面添加字符串
B、Java在用”+”號(hào)進(jìn)行字符連接時(shí),是新建一個(gè)StringBuffer對(duì)象,用它來(lái)連接所有字符串,然后再轉(zhuǎn)回String對(duì)象.
C、”+”號(hào)相當(dāng)于append 函數(shù),在String對(duì)象的后面添加字符串
D、只有String對(duì)象才用”+”連接符,StringBuffer對(duì)象、整數(shù)、浮點(diǎn)數(shù)等都不能使用”+”連接符
12、如果下列的方法能夠正常運(yùn)行,在控制臺(tái)上將顯示什么?(ACD)
public void example(){
try{
unsafe();
System.out.println("Test1");
}catch(SafeException e){
System.out.println("Test 2");
}finally{
System.out.println("Test 3");
}
System.out.println("Test 4");
}
A 、Test 1 B、 Test 2 C、 Test 3 D、 Test 4
三、簡(jiǎn)答題。
1、為什么說(shuō)構(gòu)造方法是一種特殊的方法?特殊在哪里?構(gòu)造方法什么時(shí)候執(zhí)行?被誰(shuí)調(diào)用?
答:在java語(yǔ)言中,構(gòu)造函數(shù)又稱構(gòu)造方法。特殊性在于,與普通方法的區(qū)別是,他與類名相同,不返回結(jié)果也不加void返回值。構(gòu)造函數(shù)的作用是初始化對(duì)象,即在創(chuàng)建對(duì)象時(shí)被系統(tǒng)調(diào)用(與普通方法不同,程序不能顯示調(diào)用構(gòu)造函數(shù))。構(gòu)造函數(shù)還能夠被重載,即可以傳入?yún)?shù),當(dāng)程序中包含有帶參的構(gòu)造函數(shù)時(shí),系統(tǒng)將不會(huì)再提供的無(wú)參構(gòu)造函數(shù)。
構(gòu)造函數(shù)特點(diǎn):沒(méi)有函數(shù)返回值,構(gòu)造函數(shù)名與類名相同;當(dāng)創(chuàng)建類對(duì)象的時(shí)候調(diào)用其對(duì)應(yīng)的構(gòu)造方法去創(chuàng)建
2、Java的異常處理塊的形式是什么樣?
答:用戶程序使用throw關(guān)鍵字拋出異常。系統(tǒng)定義的異常由系統(tǒng)在合適的時(shí)刻自動(dòng)拋出。
四、編程題。
1、給出一百分制成績(jī),要求輸出成績(jī)等級(jí)''A'',''B'',''C'',''D'',''E''。90分以上的為''A'',80~89分為''B'',70~79分為''C'',60~69為''D'',60分以下為''E''。
#include <stdio.h>
int main()
{ int s;
printf("請(qǐng)輸入一個(gè)成績(jī):");
scanf("%d", &s);
if(s>100 || s < 0)
{
printf("輸入了一個(gè)錯(cuò)誤的成績(jī)。/n");
return 1;
}
char ch;
switch(s/10)
{
case 10:
case 9: ch = 'A'; break;
case 8: ch = 'B'; break;
case 7: ch = 'C'; break;
case 6: ch = 'D'; break;
default:
ch = 'E'; break;
}
printf("您輸入的成績(jī)等級(jí)為:%c/n", ch);
return 0;
2、定義—個(gè)類Rectangle代表矩形,為矩形定義getLength方法(獲得矩形的長(zhǎng)度)、getWidth方法(獲得矩形的寬度)、setLength方法(設(shè)置矩形的長(zhǎng)度)、setWidth方法(設(shè)置矩形的寬度)、getArea方法(求矩形的面積)和toString方法(顯示矩形的格式),為矩形派生出一個(gè)子類Square代表正方形,并對(duì)getArea和toString進(jìn)行重寫。并編寫程序進(jìn)行測(cè)試。
public class Rectangle {
// top, left 左上角那個(gè)頂點(diǎn)的坐標(biāo)
// width: 寬
// heigth: 長(zhǎng)
private double top, left, width, height;
// 構(gòu)造函數(shù)
public Rectangle(double top, double left, double width, double height) {
this.top = top;
this.left = left;
this.width = width;
this.height = height;
}
// 改變寬,高,即改變矩形寬高
public void size(double width, double height) {
this.width = width;
this.height = height;
}
// 計(jì)算面積,寬×高
public double area() {
return width * height;
}
//求面積
public double getMianJi(int mx,int my){
return Point.getDistance(pointA, pointB)*Point.getDistance(pointB, pointC);
}
3、卡車要裝載一批貨物,貨物有三種商品:電視、計(jì)算機(jī)和洗衣機(jī)。需要計(jì)算出大貨車承載的3種貨物的重量。要求有一個(gè)ComputeWeight接口,該接口中有一個(gè)抽象方法:
public double computeWeight();
設(shè)計(jì)3個(gè)實(shí)現(xiàn)接口的類:Television, Computer, WashMachine。這三個(gè)類通過(guò)實(shí)現(xiàn)接口給出自重。
定義一個(gè)Car類,該類用ComputeWeight接口類型的數(shù)組作為成員,那么該數(shù)組的單元可以存放Television, Computer, WashMachine對(duì)象的引用。
設(shè)計(jì)程序能輸出Car對(duì)象所裝載的貨物的總重量。
提示:可以把實(shí)現(xiàn)某接口的類創(chuàng)建的對(duì)象的引用賦值給該接口聲明的接口變量。
class Television implements Compute
Weight{
private double weight;
private double
//override
public double computeWeight(){
return this.weight;
}
class Car
{
public:
Car();
Car(int Television, int Computer int WashMachine );
private:
int Television;
int Computer;
int WashMachine;
}
【Java程序設(shè)計(jì)試題及答案】相關(guān)文章:
2.Java語(yǔ)言程序設(shè)計(jì)試題及答案
3.Java程序設(shè)計(jì)試題及答案-JAVA程序設(shè)計(jì)習(xí)題集
4.Java語(yǔ)言程序設(shè)計(jì)試題及答案(六)
5.Java語(yǔ)言程序設(shè)計(jì)模擬試題及答案
6.Java語(yǔ)言程序設(shè)計(jì)試題及答案(九)