第章程式语言与java的基础.docx

上传人:b****8 文档编号:30432539 上传时间:2023-08-15 格式:DOCX 页数:30 大小:33.25KB
下载 相关 举报
第章程式语言与java的基础.docx_第1页
第1页 / 共30页
第章程式语言与java的基础.docx_第2页
第2页 / 共30页
第章程式语言与java的基础.docx_第3页
第3页 / 共30页
第章程式语言与java的基础.docx_第4页
第4页 / 共30页
第章程式语言与java的基础.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

第章程式语言与java的基础.docx

《第章程式语言与java的基础.docx》由会员分享,可在线阅读,更多相关《第章程式语言与java的基础.docx(30页珍藏版)》请在冰豆网上搜索。

第章程式语言与java的基础.docx

第章程式语言与java的基础

第1章:

程式語言與Java的基礎

1.請說明什麼是程式與軟體?

程式語言的種類?

低階和高階程式語言的差異?

2.請比較編譯和直譯程式語言的差異?

並各舉出2種程式語言?

3.什麼是Java?

其特點為何?

為什麼Java是一種跨平台的程式語言,請說明其意義?

Java平台是由_____________和_____________元件組成。

4.請簡單說明JVM是什麼,並且使用圖例說明Java程式的執行過程?

5.請說明Java語言的開發環境?

並且分別列出命令列和Gel整合開發工具建立Java應用程式的步驟?

6.Java原始程式碼的副檔名:

_____________,編譯成類別檔的副檔名:

______________。

7.請完成下列Java程式輸出「大家好!

生日快樂」字串,如下所示:

classTest

{publicstaticvoidmain(String[]args)

{

________________________

}

}

8.請問習題7.的Java程式儲存的全名為:

________________,如果輸出字串改為兩行「大家好!

」和「生日快樂」,請再次完成Java程式。

9.繼續習題8,在命令提示字元視窗執行編譯的指令:

_________________,編譯成的Bytecode檔案名稱:

_____________,執行Java程式的指令:

______________。

10..在安裝好Gel整合開發工具後,使用Gel建立Java程式輸出下列”*”字元顯示的圖形,如下所示:

*****

**

**

*****

**

**

*****

第2章:

變數與運算子

1.簡單說明Java的命名原則?

2.說明什麼是程式中的變數?

Java程式如何宣告變數?

3.請問下列哪些是Java的保留字,如下所示:

apple、float、7up、grandTotal和boolean

4.請指出下列哪些是Java合法的變數名稱,如下所示:

2bad、zero、lastValue、year2006、TWO-DOLLARS、team、2Int、int、I、j

5.請寫出Java的資料型態分為哪兩種?

8種基本資料型態是什麼?

6.請說明什麼是運算式?

下列Java運算子的功能,如下所示:

•--

•&&

•!

=

•>>

7.請指出下列哪些運算式是不正確的,如果正確請計算其值,如下所示:

•5+7

•(5*6)/2

•(-12+(12+8)/2)*4

•-20+(14+6)/2)*3

•(30-15)/3

•34-14)/(20-5)

•((34-14)/(13+7))

•(1/2+3.5)*2.0

•(2-6)/2+10

8.請建立Java程式計算下列運算式的值,如下所示:

•2X2-4X+1,X=3.0、4.0和2/3

•a2+b,a=2.0、4.0和2/3,b=10.0、5.0和12.0

•3X2-8X+4,X=2.0、4.0和2/3

9.圓周長的公式是2*PI*r,PI是圓周率3.1415,r是半徑10,20,50,請設計Java程式使用常數定義圓周率,然後計算各半徑的圓周長。

10.請建立Java程式將下列的八和十六進位值轉換成十進位值顯示,如下表所示:

0277、0xcc、0xab、0333、0555、0xff

11.現在有250個蛋,一打是12個,請使用Java程式計算250個蛋是幾打,還剩下幾個蛋。

12.某人在銀行存入150萬,利率是4%,如果每年的利息都繼續存入銀行,請使用Java程式計算在15年後,本金在利息一共有多少錢。

第3章:

流程控制結構

1.請說明什麼是結構化程式設計?

其主要觀念有哪3項?

流程控制的種類有幾種?

2.單一if/else指令敘述共有_____種選擇。

寫出下列關係與條件運算式值是true或false,如下所示:

(1)2+3==5

(2)36<6*6(3)8+1>=3*3

(4)2+1==(3+9)/4(5)12<=2+3*2(6)2*2+5!

=(2+1)*

3.請寫出下列條件敘述程式片斷的輸出結果?

(1)intsum=8+1+2+7;

if(sum<20)

ln("太小");

else

ln("太大");

(2)intdepth=10;

if(depth>=10)

{ln("危險:

");

ln("水太深.");

}

4.請說明while和do/while迴圈的差異?

並舉例說明是否會影響程式的執行結果

5.請寫出下列main()方法的輸出結果,如下所示:

(1)publicstaticvoidmain(String[]args)

{intn=1;

while(n<=64)

{n=2*n;

}

}

(2)publicstaticvoidmain(String[]args)

{inttotal=0;

for(i=1;i<=10;i++)

{if((i%2)==0)

{total+=i;

}

elsetotal--;

}

}

6.請設計Java程式顯示1~100的奇數和偶數,並且計算其總和。

7.目前商店正在周年慶折扣,消費者消費1000元,就有8折的折扣,請建立Java程式當消費額為900、2500和3300時的付款金額?

8.請設計Java程式計算網路購物的運費,基本物流處理費199,1~5公斤,每公斤50元,超過5公斤,每一公斤為30元,目前購物的重量為3.5、10、25公斤,請計算和顯示購物所需的運費+物流處理費?

9.微波爐建議的加熱時間是當加熱2項食物時,增加50%的加熱時間,3項時就是一倍的加熱時間,請設計Java程式計算當加熱1個包子需時30秒,加熱2、3、4、5、6個包子的建議時間?

10.請建立Java程式使用for、while或do/while迴圈計算下列數學運算式的值,如下所示:

•1+1/2+1/3+1/4~+1/nn=50

•1*1+2*2+3*3~+n*nn=35

11.請建立Java程式使用for迴圈從3到120顯示3的倍數,例如:

3、6、9、12、15、18、21…..。

12.請設計Java程式計算在指定年份時的年齡,這是使用生日的2位數西元年份,例如:

67年或78年,和2位數的指定年份時的年齡(注意!

Y2K的問題),例如:

輸出結果範例如下:

生日年份:

67

指定年份:

04

年齡:

37

第4章:

程序與函數的類別方法

1.請說明什麼是由上而下分析法?

模組化程式設計?

其注意事項?

2.請說明什麼是程序?

什麼是函數?

3.正式參數(FormalParameters)和實際參數(ActualParameters)的差異?

4.請說明什麼是傳值或傳址的參數傳遞?

5.請說明什麼是類別變數?

並且舉例說明Java變數範圍的區域變數、方法參數和成員變數範圍?

6.請舉例說明什麼是方法的過載?

物件導向技術的3個重要觀念?

7.請參考第4-5節設計2個過載的staticintgetMax()方法,分別傳入2個或3個int參數,傳回值是參數中的最大值。

8.請設計staticvoidprintStars()方法,傳入一共幾列的參數,顯示下列星號字元的三角形,如下圖所示:

*

**

***

****

*****

******

*******

(提示:

需要使用三層迴圈)

9.費式數列(Fibonacci)是第1個和第2個數值為1,F0=F1=1,其它是前2個數值的和Fn=Fn-1+Fn-2,n>=2,請設計staticvoidfibonacci()方法顯示費式數列,參數是顯示數字的個數。

10.請寫出下列遞迴方法printMoney(5)的執行結果,如下所示:

staticvoidprintMoney(intlevel)

{if(level==0)

else

printMoney(level-1);

}

}

11.在整數A與B中,假設:

0<=A且0

.

mod(A,B)=A,ifA

mod(A,B)=mod(A-B,B),ifA>=B

請建立Java的mod()遞迴方法計算mod(2,5)和mod(17,5)的值

12.請建立遞迴方法num(),計算num(5)、num(10)的值,其定義如下所示:

num

(1)=1,ifX==1

num(X)=num(X-1)+2X-1,ifX>1

13.請試著自行以盤子數為1、2、3時,分別一一繪出河內塔問題的解答步驟,在3根木樁各擁有的盤子數,以便歸納出解決問題的3個步驟?

第5章:

類別與物件

1.請說明物件導向程式語言的3種特性?

什麼是物件基礎程式語言?

UML是什麼?

2.請說明什麼是物件?

物件擁有哪3種特性?

並且舉例說明物件與類別的關係?

3.Java是使用_______運算子來建立物件,如果一個類別型態的物件變數參考的不是物件,我們稱為「_____________」(NullReference),在Java就是使用指定敘述指定成___________。

4.請舉例說明private和public兩種修飾子的用途和差異?

什麼是「工具方法」(UtilityMethods)?

5.請簡單說明什麼是建構子?

其目的和用途?

6.請說明實例變數/方法和類別變數/方法的差異?

7.請在Date類別完成setDate()成員方法,如下所示:

publicbooleansetDate(intday,intmonth,intyear)

{if(validDate(day,month,year))

{

____.day=day;

____.month=month;

____.year=year;

returntrue;

}

elsereturnfalse;

}

8.請修改第5-2-3節的程式範例,將validDate()方法改為類別方法。

9.請使用Java語言寫出Box類別的宣告,這是一個盒子物件,可以計算盒子體積與面積,並且繪出Box類別的UML類別圖,如下所示:

•成員變數:

width、height和length儲存寬、高和長。

•建構子:

Box(doublewidth,doubleheight,doublelength)。

•成員方法:

doublevolume()計算體積、doublearea()計算面積。

10.請建立Time類別宣告和繪出UML類別圖,Time類別可以建立儲存時間資料的物件,其描述如下所示:

•成員變數:

hour、minute和second儲存小時、分和秒。

•建構子:

Time(inthour,intminute,intsecond)。

•成員方法:

設定setXXX()和取出intgetXXX()時間資料的方法、printTime()方法顯示時間資料、validateTime()方法可以檢查時間資料。

11.請修改第Ch5_4.java程式,使用習題10的Time類別新增客戶的出生時間。

12.在第5-5節使用類別變數儲存學生計數,請建立Counter計數類別宣告,擁有成員變數value,2個方法increment()和decrement()分別將計數加一和減一,getCounter()方法取得目前的計數,修改Ch5_5.java使用Counter類別記錄學生人數。

13.請建立Books圖書資料類別,成員變數code、title、author和price成員變數儲存書號、書名、作者和書價,code、title和author是String物件,除了設定、取出和列印圖書資料的方法外,再加上圖書本數和總價的類別變數,計算圖書的平均價格。

14.請建立名片資料的Cards類別,擁有name、age、phone和email成員變數儲存姓名、年齡、電話和電子郵件資料,phone變數是參考另一個類別PhoneList的實例,PhoneList類別擁有成員變數homephone、officehone和cellphone儲存住家、公司和手機電話,最後建立printCard()方法顯示名片資料。

15.請依照下列UML類別圖寫出Java語言的類別宣告,如下圖所示:

第6章:

繼承、抽象類別和多形

1.請使用圖例說明什麼是物件導向的繼承觀念?

Java不支援_______繼承。

2.請說明什麼是覆寫和隱藏方法,請使用表格列出其差異?

3.請簡述常數和抽象類別的目的?

常數類別是使用_________關鍵字宣告,抽象類別是使用__________關鍵字宣告。

4.現有3個類別Computer、AppleComputer和AcerComputer,請繪出這3個類別的類別架構?

哪一個類別可以宣告成抽象類別?

5.請舉一個實例說明Java語言物件導向的多形觀念?

6.請寫出下列類別繼承架構中的父類別、子類別和兄弟類別,如下所示:

•類別甲的子類別________________________。

•類別丙的兄弟類別______________________。

•類別戍的父類別________________________。

7.請完成Java的Test與MidTerm的類別宣告,如下所示:

classTest

{publicintnum;

publicStringname;

publicTest(intnum,Stringname){}

publicvoidprintTest(){}

}

classMidTermextendsTest

{privateintnumOfStudents;

publicMidTerm(intno,Stringname,intnumOfStudents)

{

_______(no,name);

_____.numOfStudents=numOfStudents;

}

publicvoidprintMidTerm()

{_______.printTest();

______.name);

}

}

8.Card抽象類別有繼承的Birthday、Valentine和Holiday子類別,請寫出下列程式碼呼叫greeting()方法實際是哪一個子類別的物件,如下所示:

(1)Cardcrd=newBirthDay("江小魚",36);

crd.greeting();

(2)Cardcrd=newVaentine(“小龍女”,16);

crd.greeting();

(3)Cardcrd=newHoliday(“陳會安”);

crd.greeting();

9.繼續習題8,請完成下列Java程式碼,如下所示:

_____c;

c=newValentine("陳小安",14);

c.greeting();

c=newHoliday("江大魚");

c.greeting();

10.請建立Bicycle單車的抽象類別,內含色彩、車型和車價等資料,然後繼承抽象類別建立RacingBike(競速單車),新增幾段變數的成員變數和顯示單車資訊的方法,並且繪出UML類別圖。

11.在程式範例Ch6_3.java的抽象類別Shape新增計算周長的perimeter()方法。

12.請在第6-3節的程式範例Ch6_3.java新增繼承抽象類別Shape的Polygon多角形,並且新增area()方法。

13.請建立Vehicle抽象類別,然後建立Cars(轎車)、Trucks(卡車)子類別,多形的show()方法顯示車輛資料。

14.請建立Test抽象類別,然後建立MidTerm(期中考)、Final(期末考)和Quiz(小考)子類別,多形的print()方法可以顯示各次考試的最商和平均成績。

第7章:

巢狀類別、多重繼承和套件

1.請使用圖例來說明Java巢狀類別?

2.如果Java巢狀類別的外層類別是Students,內層類別是Exams,編譯成的類別檔案.class:

________________和________________。

3.請說明多重繼承的觀念和Java介面?

介面是由________關鍵字進行宣告,其組成是什麼?

4.請問介面是否包含方法的程式碼區塊?

介面是否可以繼承?

類別是否可以實作多個介面?

下列介面宣告是否正確?

interfaceTax{doubleTaxRate=0.06;doublecalTax();}

5.如果IPrint介面繼承自IShow,請寫出其宣告語法?

如果類別Final繼承自Test類別且實作ShowInterface,請寫出其宣告語法?

6.請說明什麼是Java套件?

什麼是JavaAPI。

7.請將第6-3節的程式範例Ch6_3.java改成Ch6_3的套件。

8.請建立Java巢狀類別內層和外層的建構子,內層建構子指定value值,next為null,外層建構子在建立好ListNode物件後,將front參考到此物件,如下所示:

classLinkedList

{ListNodefront;

ListNode

{intvalue;

ListNodenext;

publicListNode(intvalue){}

}

publicLinkedList(intvalue){}

}

9.在Ch7_3_4.java取消最後2列程式碼的註解測試編譯錯誤,如果將Point類別的x和y改為public是否仍會產生錯誤,為什麼?

10.如果在習題9改為private是否會產生錯誤,為什麼?

11.如果在習題9刪除Point類別成員變數x和y的protected修飾子,然後重新編譯Point.java和Ch7_3_4.java是否會產生錯誤,為什麼?

12.請使用表格說明Java存取修飾子?

在同一個套件可以存取的修飾子有哪些?

在同一個類別可以存取的修飾子有哪些?

第8章:

字元、字串、數值類別與陣列

1.請問String物件可以說是一種唯讀或唯寫字串?

一共可以新增多少個字元到StringBuffer物件?

當建立StringBuffer物件sb1和sb2後,請寫出比較這2個物件的Java程式碼?

2.請說明什麼是陣列(Array)?

Java二維陣列的建立有哪2種方法?

3.請寫出宣告float浮點數一維陣列myArray的語法,元素有10個?

然後寫出下列陣列宣告各元素的索引值序列值,如下所示:

int[]array={2,4,6,8}

4.請寫出下列Java程式碼片斷的執行結果,如下所示:

(1)int[]arr={1,3,5,7};

r[0]+arr[2]);

(2)int[]arr={2,4,6,8};

arr[0]=13;

arr[3]=arr[1];

r[0]+arr[2]+arr[3]);

5.現在有字串String物件,請寫出下列各方法的輸出結果,如下所示:

Stringstr="Java2程式設計範例教本2e-陳會安";

•str.length()。

•str.charAt(10)。

•str.substring(11)。

•str.substring(5,9)。

6.請說明下列Java方法和程式碼片斷的用途,如下所示:

(1)StringaMethod(String[]str)

{if(str==null)returnnull;

Stringresult="";

for(inti=0;i

result=result+str[i];

returnresult;

}

(2)double[][]temps=newdouble[365][];

for(i=0;i

temps[i]=newdouble[24];

7.請設計字串處理方法(不能使用String和StringBuffer物件相同功能的方法),如下所示:

•intstrLen(String):

取得字串長度。

•StringstrInsert(String1,String2,int):

插入字串,將String2插入String1的位置int。

•StringstrReplace(String1,String2,int):

取代字串,將String1位置int開始取代成String2。

8.請設計Java程式從命令列輸入12小時制的時間字串,在轉換後,輸出成24小時制的時間資料。

9.請分別建立getMax()和getMin()方法能夠在int陣列中找出最大值和最小值,並且設計測試的Java程式,使用亂數產生陣列值,其範圍為100~500。

10.請修改Ch8_6_1.java程式碼,將tips陣列的初值改為使用命令列參數傳入,陣列尺寸視參數的個數而定。

11.請設計Java程式擁有3X3的二維陣列,陣列值是使用亂數產生,其範圍是50~100,然後計算每一列的總和和平均,並且計算2個對角線陣列元素的總和。

12.請建立Java程式擁有三維的int整數陣列,陣列值是使用亂數產生,然後使用迴圈將陣列值都顯示出來。

第9章:

JavaApplet與事件處理

1.請說明JavaApplet執行環境?

為什麼JavaApplet沒有main()方法?

JavaApplet程式架構是繼承_____________類別。

2.現在有一個MyApplet.class的JavaApplet,其尺寸為200X200,請寫出HTML文件所需的HTML標籤,以便插入此JavaApplet?

3.在JavaApplet匯入____________套件是為了取得Applet類別,匯入______________套件是為了取得繪圖元件AWT。

4.請說明下列程式碼的目的,如下所示:

inc=Integer.parseInt(getParameter("INC"));

offset=Integer.parseInt(getParameter("OFFSET"));

5.請使用圖例說明AWT元件的事件處理架構?

什麼是事件物件(EventObjects

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1