060219JAVA程序設(shè)計(jì)(江蘇開(kāi)放大學(xué)本科期末試卷)_第1頁(yè)
060219JAVA程序設(shè)計(jì)(江蘇開(kāi)放大學(xué)本科期末試卷)_第2頁(yè)
060219JAVA程序設(shè)計(jì)(江蘇開(kāi)放大學(xué)本科期末試卷)_第3頁(yè)
060219JAVA程序設(shè)計(jì)(江蘇開(kāi)放大學(xué)本科期末試卷)_第4頁(yè)
060219JAVA程序設(shè)計(jì)(江蘇開(kāi)放大學(xué)本科期末試卷)_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

060219JAVA程序設(shè)計(jì)△

頁(yè)

1.在Java語(yǔ)言中,(對(duì)象)是最基本的元素。

2.下列標(biāo)識(shí)符(名字)命名原則中,正確的是(常量全部大寫(xiě))。

3.Java程序經(jīng)過(guò)編譯后生成的文件后綴是(class)。

4.do-while循環(huán)結(jié)構(gòu)中的循環(huán)體執(zhí)行的最少次數(shù)為(1)。

5.語(yǔ)句while(!e);中的條件!e等價(jià)于(e==0)。

6.關(guān)于數(shù)組,下列說(shuō)法中不正確的是(定義數(shù)組時(shí)必須分配內(nèi)存)。

7.在Java語(yǔ)言中,哪一個(gè)包中的類(lèi)是自動(dòng)導(dǎo)入的?(java.lang)。

8.定義外部類(lèi)時(shí)不能用到的關(guān)鍵字是(protected)。

9.下列對(duì)于多態(tài)的描述中,錯(cuò)誤的是(Java語(yǔ)言不允許方法覆蓋)。

10.在Java中,(HashMap)對(duì)象可以使用鍵/值的形式保存數(shù)據(jù)。

設(shè)有下列數(shù)組定義語(yǔ)句:inta[]={1,2,3};則對(duì)此語(yǔ)句的敘述錯(cuò)誤的是(a數(shù)組元素的下標(biāo)為1~3)。

11.下面關(guān)于方法的說(shuō)法,不正確的是(如果一個(gè)類(lèi)定義了構(gòu)造方法,也可以用該類(lèi)的默認(rèn)構(gòu)造方法)。

12下列表達(dá)式1+2+"aa"+3的值是("3aa3")。

13設(shè)a、b為long型變量,x、y為float型變量,ch為char類(lèi)型變量且它們均已被賦值,則下列語(yǔ)句中正確的是(switch(ch+1){}。

14.下列循環(huán)體執(zhí)行的次數(shù)是(3)。y=2,x=4;while(--x!=x/y){}

15下列循環(huán)體·行的次數(shù)是(2)。intx=10,y=30;do{y-=x;x++;}while(x++<y--);

16.區(qū)分類(lèi)中重載方法的依據(jù)是(形參列表的類(lèi)型和順序)。

17下列說(shuō)法中,不正確的一個(gè)是(if…elseif語(yǔ)句的執(zhí)行效率總是比switch語(yǔ)句高)。

18.運(yùn)行下面程序時(shí),會(huì)產(chǎn)生什么異常(ArithmeticException)。

publicclassEX{

publicstaticvoidmain(String[]args){

intx=0;

inty=5/x;

int[]z={1,2,3,4};

intp=z[4];

}

19.定義一個(gè)公有double型常量PI,哪一條語(yǔ)句最好?(publicfinalstaticdoublePI=3.14;)。

20.在異常處理中,如釋放資源關(guān)閉文件、關(guān)閉數(shù)據(jù)庫(kù)等由(finally子句)來(lái)完成。

21.為AB類(lèi)定義一個(gè)無(wú)返回值的方法f,使得使用類(lèi)名就可以訪問(wèn)該方法,該方法頭的形式為(staticvoidf())。

22.閱讀下列代碼,選出該代碼段正確的文件名(B.java)。

classA{

voidmethod1(){

System.out.println("Method1inclassA");

}}

publicclassB{

voidmethod2(){

System.out.println("Method2inclassB");

}

publicstaticvoidmain(String[]args){

System.out.println("main()inclassB");

}}

23.下列數(shù)據(jù)流中,屬于輸入流的一項(xiàng)是(從鍵盤(pán)流向內(nèi)存的數(shù)據(jù)流)。

2下列流中哪一個(gè)使用了緩沖區(qū)技術(shù)(BufferedOutputStream)。

25.下面說(shuō)法不正確的是(abstract和final能同時(shí)修飾一個(gè)類(lèi))。

26.當(dāng)單擊鼠標(biāo)或拖動(dòng)鼠標(biāo)時(shí),觸發(fā)的事件是(MouseEvent)。

27JPanel的默認(rèn)布局管理器是(FlowLayout)。

29.關(guān)于異常的含義,下列描述中最正確的一個(gè)是(程序編譯或運(yùn)行時(shí)發(fā)生的異常事件)。

30自定義異常時(shí),可以通過(guò)對(duì)下列哪一項(xiàng)進(jìn)行繼承?(Exception類(lèi)及其子類(lèi))

下列關(guān)于流類(lèi)和File類(lèi)的說(shuō)法中錯(cuò)誤的一項(xiàng)是(File類(lèi)可以修改文件內(nèi)容)。

2.Java語(yǔ)言屬于(面向?qū)ο蟮恼Z(yǔ)言)種語(yǔ)言?

4.編譯一個(gè)定義了3個(gè)類(lèi)和10個(gè)方法的Java源文件后,會(huì)產(chǎn)生(D)個(gè)字節(jié)碼文件?擴(kuò)展名是(3個(gè)字節(jié)碼文件,擴(kuò)展名為.class)?

5.以下的變量定義語(yǔ)句中,合法的是(doubled=Double.MAX_VALUE;)

7.下列選項(xiàng)中,不屬于Java核心包的一項(xiàng)是(.javax.swing)。

8.編譯下面源程序會(huì)得到哪些文件(A1.class、A2.class和B.class文件)?

10.下面哪種注釋方法能夠支持javadoc命令?(/**...*/)

11.下面代碼運(yùn)行后的輸出結(jié)果為(true)

publicclassXX{

publicstaticvoidmain(String[]args){

ABaa=newAB();

ABbb;

bb=aa;

system.out.println(bb.equals(aa));

}

}

classAB{intx=100;}

14.下列循環(huán)體執(zhí)行的次數(shù)是(.3)。

inty=2,x=4;

while(--x!=x/y){}

17.已知如下代碼:

switch(m){

case0:System.out.println("Condition0");

case1:System.out.println("Condition1");

case2:System.out.println("Condition2");

case3:System.out.println("Condition3");break;

default:System.out.println("OtherCondition");}

當(dāng)m的值為(.0、1、2、3)時(shí),輸出“Condition3”

18.假設(shè)a是int類(lèi)型的變量,并初始化為1,則下列(if(true){})是合法的條件語(yǔ)句?

19.下列哪種類(lèi)成員修飾符修飾的變量只能在本類(lèi)中被訪問(wèn)?(private)

21.給出下面的程序代碼:

publicclassX413{

privatefloata;

publicstaticvoidm(){}

}

如何使成員變量a被方法m()訪問(wèn)(將privatefloata改為staticfloata)

22.Java語(yǔ)言接口間的繼承關(guān)系是多重繼承)

23.下列代碼中,使成員變量m能被方法fun()直接訪問(wèn)的是(將privateintm改為staticintm)

classTest{

privateintm;

publicstaticvoidfun(){…}

}

26.已知y=2,z=3,n=4,則經(jīng)過(guò)n=n+-y*z/n運(yùn)算后n的值為(3)。

27.下列(_blank)是合法的標(biāo)識(shí)符?

28.下列(sizeof)不是Java中的保留字?

29.下列(2$_million)不是合法的標(biāo)識(shí)符?

30.下列選項(xiàng)中,(數(shù)組)不屬于Java語(yǔ)言的基本數(shù)據(jù)類(lèi)型?

31.下列關(guān)于基本數(shù)據(jù)類(lèi)型的說(shuō)法中,不正確的一項(xiàng)是(char是8位Unicode字符)。

32.下列關(guān)于運(yùn)算符優(yōu)先級(jí)的說(shuō)法中,不正確的一個(gè)是(同一優(yōu)先級(jí)的運(yùn)算符在表達(dá)式中都是按照從右到左的順序進(jìn)行運(yùn)算的)

39.下列敘述中,錯(cuò)誤的一項(xiàng)是采用GridLayout布局,容器大小改變時(shí),每個(gè)構(gòu)件不再平均分配容器空間)。

42.下列說(shuō)法中錯(cuò)誤的一項(xiàng)是(構(gòu)件能夠獨(dú)立顯示出來(lái))。

43.進(jìn)行Java基本GUI設(shè)計(jì)需要用到的包是(java.awt)。

44.Container是下列哪一個(gè)類(lèi)的子類(lèi)(Component)?

45.java.awt.Frame的父類(lèi)是(java.awtWindow)。

4下列(賦值語(yǔ)句)不屬于Java語(yǔ)言流程控制結(jié)構(gòu)?

6下面哪些選項(xiàng)是正確的main方法說(shuō)明?(publicstaticvoidmain(Stringargs[]))

9在編寫(xiě)Java程序時(shí),如果不為類(lèi)的成員變量定義初始值,Java會(huì)給出它們的默認(rèn)值,下列說(shuō)法中不正確的一個(gè)是(long類(lèi)型的默認(rèn)值是0.0L)。

19下列關(guān)于Java語(yǔ)言簡(jiǎn)單數(shù)據(jù)類(lèi)型的說(shuō)法中,正確的一項(xiàng)是(以0開(kāi)頭的整數(shù)代表8進(jìn)制整型常量)。

24設(shè)有類(lèi)型定義shorti=32;longj=64;下面賦值語(yǔ)句中不正確的一個(gè)是(i=j;)

29已知a=2,b=3,則表達(dá)式a%b*4%b的值為(2)

2有一個(gè)類(lèi)B,下面為其構(gòu)造方法的聲明,正確的是(B(intx){})。

3下面關(guān)于類(lèi)的說(shuō)法,不正確的是(類(lèi)就是對(duì)象)。

5關(guān)于內(nèi)部類(lèi),下列說(shuō)法不正確的是(內(nèi)部類(lèi)不能有自己的成員方法和成員變量)

8如果局部變量和成員變量同名,如何在局部變量作用域內(nèi)引用成員變量?(在成員變量前加this,使用this訪問(wèn)該成員變量)

9下面說(shuō)法不正確的是(abstract和final能同時(shí)修飾一個(gè)類(lèi))。

二、判斷題

1.在運(yùn)行字節(jié)碼文件時(shí),使用java命令,一定要給出字節(jié)碼文件的擴(kuò)展名.class。(錯(cuò)誤)

2.java命令不區(qū)分大小寫(xiě),而javac命令區(qū)分大小寫(xiě)。(錯(cuò)誤)

3.JavaApplication程序中,必有一個(gè)主方法main(),該方法有沒(méi)有參數(shù)都可以。(正確)

4.java.util.Scanner(System.in)可以接收用戶從鍵盤(pán)輸入的簡(jiǎn)單數(shù)據(jù)。(正確)

5.Java程序中不區(qū)分大小寫(xiě)字母。(錯(cuò)誤)

6.Java語(yǔ)言中不同數(shù)據(jù)類(lèi)型的長(zhǎng)度是固定的,不隨機(jī)器硬件不同而改變。(正確)

7.所有的變量在使用前都必須進(jìn)行初始化。(錯(cuò)誤)

8.已知bytei=(byte)127;i=i+1;這兩個(gè)語(yǔ)句能被成功編譯。(正確)

9.Stringstr="abcdefghi";charchr=str.charAt(9);(錯(cuò)誤)

10.char[]chrArray={'a','b','c','d','e','f','g'};charchr=chrArray[6];(正確)

11.inti,j;booleanbooleanValue=(i==j);(錯(cuò)誤)

12.intintArray[]={0,2,4,6,8};intlength=intArray.length();(錯(cuò)誤)

13.類(lèi)中說(shuō)明的方法可以定義在類(lèi)體外。(錯(cuò)誤)

14.Java語(yǔ)言使用的是Unicode字符集,每個(gè)字符在內(nèi)存中占8位。(錯(cuò)誤)

15.強(qiáng)制類(lèi)型轉(zhuǎn)換運(yùn)算符的功能是將一個(gè)表達(dá)式的類(lèi)型轉(zhuǎn)換為所指定的類(lèi)型。(正確)

16.捕獲異常try語(yǔ)句后面通常跟有一個(gè)或多個(gè)catch()方法用來(lái)處理try塊內(nèi)生成的異常事件。正確)

17.文件緩沖流的作用是提高文件的讀/寫(xiě)效率。(正確)

18.容器是用來(lái)組織其他界面成分和元素的單元,它不能嵌套其他容器。(錯(cuò)誤)

19printf()和format()方法使用指定格式字符串和參數(shù),將格式化字符串寫(xiě)入到PrintStream類(lèi)型的輸出流(System.out對(duì)象)中。(正確)

20.Java語(yǔ)言不允許同時(shí)繼承一個(gè)類(lèi)并實(shí)現(xiàn)一個(gè)接口。(錯(cuò)誤)

21.調(diào)用this或super構(gòu)造方法的語(yǔ)句必須放在第一條語(yǔ)句。(正確)

22.Java語(yǔ)言會(huì)自動(dòng)回收內(nèi)存中的垃圾。(正確)

23.實(shí)例方法中不能引用類(lèi)變量。(錯(cuò)誤)

1.Java語(yǔ)言具有較好的安全性和可移植性及與平臺(tái)無(wú)關(guān)等特性。(正確)

2.Java語(yǔ)言的源程序不是編譯型的,而是編譯解釋型的。(正確)

6.機(jī)器不能直接識(shí)別字節(jié)碼文件,它要經(jīng)過(guò)JVM中的解釋器邊解釋邊執(zhí)行。(正確)7.System類(lèi)中的println()方法分行顯示信息,而print()方法不分行顯示信息。(正確)

8.當(dāng)前路徑的標(biāo)識(shí)是“.”。(正確)

9.java命令不區(qū)分大小寫(xiě),而javac命令區(qū)分大小寫(xiě)。(錯(cuò)誤)

10printf()和format()方法使用指定格式字符串和參數(shù),將格式化字符串寫(xiě)入到PrintStream類(lèi)型的輸出流(System.out對(duì)象)中。(正確)

25.創(chuàng)建對(duì)象時(shí)系統(tǒng)將調(diào)用適當(dāng)?shù)臉?gòu)造方法給對(duì)象初始化。(正確)

26.Java語(yǔ)言中,構(gòu)造方法是不可以繼承的。(正確)

27.子類(lèi)的成員變量和成員方法的數(shù)目一定大于等于父類(lèi)的成員變量和成員方法的數(shù)目。(錯(cuò)誤)

29.使用運(yùn)算符new創(chuàng)建對(duì)象時(shí),賦給對(duì)象的值實(shí)際上是一個(gè)引用值。(正確)

30.對(duì)象賦值實(shí)際上是同一個(gè)對(duì)象具有兩個(gè)不同的名字,它們都有同一個(gè)引用值。(正確)

31.對(duì)象可作方法參數(shù),對(duì)象數(shù)組不能作方法參數(shù)。(錯(cuò)誤)

32.class是定義類(lèi)的惟一關(guān)鍵字。(正確)

34.使用try-catch-finally語(yǔ)句只能捕獲一個(gè)異常。(錯(cuò)誤)

35.類(lèi)是一種類(lèi)型,也是對(duì)象的模板。(正確)

37.IOException必須被捕獲或拋出。(正確)

38.Java系統(tǒng)的標(biāo)準(zhǔn)輸入對(duì)象是System.in,標(biāo)準(zhǔn)輸出對(duì)象有兩個(gè),分別是標(biāo)準(zhǔn)輸出System.out和標(biāo)準(zhǔn)錯(cuò)誤輸出System.err。(正確)

39.對(duì)象串行化機(jī)制是指將程序中對(duì)象的狀態(tài)轉(zhuǎn)化為一個(gè)字節(jié)流,存儲(chǔ)在文件中。(正確)

3判斷:Java有垃圾回收機(jī)制,內(nèi)存回收程序可在指定的時(shí)間釋放內(nèi)存對(duì)象。錯(cuò)

5判斷:main函數(shù)是java程序的執(zhí)行入口。對(duì)

7判斷:說(shuō)明或聲明數(shù)組時(shí)不分配內(nèi)存大小,創(chuàng)建數(shù)組時(shí)分配內(nèi)存大小。(對(duì))

11判斷:continue語(yǔ)句用在循環(huán)語(yǔ)句中,它的作用是跳出循環(huán)。對(duì)

12判斷:JDK安裝是不可以修改安裝目錄。錯(cuò)

18判斷:若x=5,則表達(dá)式(x+5)/3的值是3對(duì)

28判斷:Java的源代碼中定義幾個(gè)類(lèi),編譯結(jié)果就生成幾個(gè)以.class為后綴的字節(jié)碼對(duì)

30判斷:標(biāo)識(shí)符可以為關(guān)鍵字。錯(cuò)

三、閱讀程序題

1、閱讀以下程序:

publicclassSum{

publicstaticvoidmain(Stringargs[]){

doublesum=0.0;

for(inti=1;i<=100;i++)

sum+=i;,

System.out.println("sum="+sum);

}}

該程序完成的功能是:。

答案:求sum=1+2+3+...+100的和

2、閱讀以下程序:

publicclassSum{

publicstaticvoidmain(Stringargs[]){

doublesum=0.0:

for(inti=1;i<=100;i++)

sum+=i*i;

System.out.println("sum="+sum);

}}

該程序的功能是:。

答案:求出sum的值為1到100的平方和。

3、閱讀以下程序:

publicclassSum{

publicstaticvoidmain(Stringargs[]){

doublesum=0.0;

for(inti=1;i<=100;i++)

sum+=i*i*i;

System.out.println("sum="+sum);

}}

此程序完成的功能是:。

答案:計(jì)算并輸出1到100的立方和sum值。

4、閱讀以下程序:

publicclassSum{

publicstaticvoidmain(Stringargs[]){

doublesum=0.0;

for(inti=1;i<=100;i++)

sum+=1.0/(double)i;

System.out.println("sum="+sum);

}

}

此程序完成的功能是:。

答案:求解sum=1+1/2+1/3+...+1/100的值并打印輸出。

5.閱讀以下程序

importjava.io.*;

publicclassTest1{

publicstaticvoidmain(Stringargs[]){

inti,s=0;

inta[]={2,4,6,8,10,12,14,16,18};

for(i=0;i<a.length;i++)

if(a[i]%3==0)s+=a[i];

System.out.println("s="+s);

}

}

運(yùn)行結(jié)果:s=36。

6.閱讀以下程序

importjava.io.*;

publicclassabc{

publicstaticvoidmain(Stringargs[]){

ABs=newAB("Great!","IamJSOUer");

System.out.println(s.toString());

}

}

classAB{

Strings1;

Strings2;

publicAB(Stringstr1,Stringstr2){

s1=str1;s2=str2;

}

publicStringtoString(){

returns1+s2;

}}

運(yùn)行結(jié)果:Great!IamJSOUer___。

7.閱讀以下程序

importjava.io.*;

publicclassabc{

publicstaticvoidmain(Stringargs[]){

SubSubClassobj=newSubSubClass(10,20,30);

obj.show();}}

classSuperClass{

intb;

SuperClass(intaa,intbb){

b=bb;

}}

classSubClassextendsSuperClass{

intc;

SubClass(intaa,intbb,intcc){

super(aa,bb);

c=cc;

}}

classSubSubClassextendsSubClass{

inta;

SubSubClass(intaa,intbb,intcc){

super(aa,bb,cc);

a=aa+bb+cc;

}

voidshow(){

System.out.println("a="+a+"\nb="+b+"\nc="+c);

}}

運(yùn)行結(jié)果:___a=60b=20c=30。

8、下列程序的運(yùn)行結(jié)果是:。

publicclassMyClass{

inta[]={1,2,3,4,5};

voidout(){

for(intj=0;j<a.length;j++)

System.out.print(a[j]+"");

}

publicstaticvoidmain(String[]args){

MyClassmy=newMyClass();

my.out();

}}

答案:12345

閱讀以下程序,寫(xiě)出運(yùn)行結(jié)果。

publicclassTom{

privatefloatweight;

privatestaticStringname;

publicvoidsetWeight(floatweight){

this.weight=weight;

}

privatevoidout(){

System.out.println(name+"體重:"+weight+"斤");

}

publicstaticvoidmain(String[]args){

T="湯姆貓";

Tomcat=newTom();

cat.setWeight(20);

cat.out();

}

}

答案:湯姆貓?bào)w重:20.0斤

10.閱讀以下程序,寫(xiě)出程序功能。

publicclassSum{

publicstaticvoidmain(Stringargs[]){

doublesum=0.0;

for(inti=1;i<=100;i++)sum+=1.0/(double)i;

System.out.println("sum="+sum);

}

}

答案:相等

11.閱讀以下程序,寫(xiě)出運(yùn)行結(jié)果。

classAnimal{

Animal(){

System.out.print("Animal");

}}

publicclassDogextendsAnimal{

Dog(){

System.out.print("Dog");}

publicstaticvoidmain(String[]args){

Dogsnoppy=newDog();

}}

答案:AnimalDog

12.閱讀以下程序,寫(xiě)出運(yùn)行結(jié)果。

publicclassE{

publicstaticvoidmain(Stringargs[]){

charx='你',y='好',z='啊';

if(x>'A'){

y='開(kāi)';

z='心';

}

else{

y='快';

z='樂(lè)';

}

System.out.println(x+","+y+","+z);

}

}

答案:你快樂(lè)

四、編程題

1.編寫(xiě)程序,從鍵盤(pán)上輸入攝氏溫度C,計(jì)算華氏溫度F的值并輸出。其轉(zhuǎn)換公式如下:F=(9/5)

*C+32。

importjava.io.*;

publicclassX234{

publicstaticvoidmain(String[]args)throwsIOException{

InputStreamReaderisr=newInputStreamReader(System.in);

BufferedReaderbr=newBufferedReader(isr);

doubleC,F;

Stringstr;

str=br.readLine();

C=Double.parseDouble(str);

F=(9/5)*C+32;

System.out.println("F="+F);

}}

定義名為MyTime的類(lèi)。其中應(yīng)有三個(gè)整型成員:時(shí)hour、分minute、秒second。為了保證數(shù)據(jù)的安全性,這三個(gè)成員變量應(yīng)聲明為私有。為MyTime類(lèi)定義構(gòu)造方法以方便創(chuàng)建對(duì)象時(shí)初始化成員變量。再定義diaplay方法用于將時(shí)間信息打印出來(lái)。為MyTime類(lèi)添加以下方法:addSecond(intsec)、addMinute(intmin)、addHour(inthou)、subSecond(intsec)、subMinute(intmin)、subHour(inthou)分別對(duì)時(shí)、分、秒進(jìn)行加減運(yùn)算。

packageDemo;

publicclassMyTime做鬧{

privateinthour,minute,second;

publicMyTime(int銷(xiāo)胡中hour,intminute,intsecond){

super();

***.hour=hour;

***.minute=minute;

***.second=second;

}

publicvoidaddSecond(intsec){

second+=sec;

}

publicvoidaddMinute(intmin){

minute+=min;

}

publicvoidaddHour(inthou)虧山{

hour+=hou;

}

publicvoidsubSecond(intsec){

second-=sec;

}

publicvoidsubMinute(intmin){

minute-=min;

}

publicvoidsubHour(inthou){

hour-=hou;

}

publicvoiddiaplay(){

system.***.println(hour+"時(shí)"+minute+"分"+second+"秒");

}

}

編寫(xiě)一個(gè)人類(lèi)Person,其中包含姓名、性別和年齡的屬性,包含構(gòu)造方法以及顯示姓名、性別和年齡的方法。再編寫(xiě)一個(gè)學(xué)生類(lèi)Student,它繼承Person類(lèi),其中包含學(xué)號(hào)屬性,包含構(gòu)造方法以及顯示學(xué)號(hào)的方法。最后編寫(xiě)一個(gè)主類(lèi)PSDemo,包含main()方法,在main()方法中定義兩個(gè)學(xué)生s1和s2并給他們賦值,最后顯示他們的學(xué)號(hào)、姓名、性別以及年齡。

文件1:***.java

packagemyapp.***.person;

/皮租**

*Person類(lèi)

*@author

*/拆信

publicclassPerson{

privateStringname;

privateStringsex;

privateintage;

publicPerson(){

}

publicintgetAge(){

returnage;

}

publicvoidsetAge(intage){

***.age=age;

}

publicStringgetName(){

returnname;

}

publicvoidsetName(Stringname){

***.name=name;

}

publicStringgetSex(){

returnsex;

}

publicvoidsetSex(Stringsex){

***.sex=sex;

}

}

文件2:***.java

packagemyapp.***.person;

/旅握輪**

*Student類(lèi)

*@authoryhx

*/

publicclassStudentextendsPerson{

privateStringstudentNo;

publicStudent(){

}

publicStudent(StringstudentNo){

***.studentno=studentNo;

}

publicStringgetStudentNo(){

returnstudentNo;

}

publicvoidsetStudentNo(StringstudentNo){

***.studentno=studentNo;

}

publicstaticvoidmain(String[]args){

Students1=newStudent("201009102311");

***.setname("王五");

***.setsex("男");

***.setage(21);

Students2=newStudent();

***.setstudentno("201009102313");

***.setname("李四");

***.setsex("女");

***.setage(20);

//以下顯示學(xué)生信息

system.***.println(***.getstudentno());

system.***.println(***.getname());

system.***.println(***.getsex());

system.***.println(***.getage());

system.***.println(***.getstudentno());

system.***.println(***.getname());

system.***.println(***.getsex());

system.***.println(***.getage());

s1=null;

s2=null;

}

}

4.編一個(gè)程序,程序中包含以下內(nèi)容:

一個(gè)圓類(lèi)(Circle),包含:

屬性:圓半徑radius;常量:PI。

方法:構(gòu)造方法;求面積方法area();求周長(zhǎng)方法:perimeter()。

主類(lèi)(CircleDemo),包含:

主方法main(),在主方法中創(chuàng)建圓類(lèi)的對(duì)象c1和c2并初始化,c1的半徑為100,c1的半徑為200,然后分別顯示兩個(gè)圓的面積和周長(zhǎng)。

5.編寫(xiě)Animal接口,接口中聲明run()方法;定義Bird類(lèi)和Fish類(lèi)實(shí)現(xiàn)Animal接口;編寫(xiě)B(tài)ird類(lèi)和Fish類(lèi)的測(cè)試程序,并調(diào)用其中的run()方法。

publicinterfaceAnimal{

voidrun();}

classBirdimplementsAnimal{

publicvoidrun(){

System.out.println("鳥(niǎo)兒在飛...");}}

classFishimplementsAnimal{

publicvoidrun(){

System.out.println("魚(yú)兒在游...");}}

publicclassTestAnimal{

publicstaticvoidmain(String[]args){

Birdbird=newBird();bird.run();

Fishfish=newFish();fish.run();}}

定義一個(gè)網(wǎng)絡(luò)用戶類(lèi),要處理的信息有用戶ID、用戶密碼、email地址。在建立類(lèi)的實(shí)例時(shí)把以上三個(gè)信息都作為構(gòu)造函數(shù)的參數(shù)輸入,其中用戶ID和用戶密碼時(shí)沒(méi)有缺省,而email地址缺省的時(shí)候email地址是用戶ID

@\"。"

加上字符串"@"。

打印出所有的"水仙花數(shù)",所謂"水仙花數(shù)"是指一個(gè)三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如:153是一個(gè)"水仙花數(shù)",因?yàn)?53=1的三次方+5的三次方+3的三次方。

8.編程實(shí)現(xiàn)1!+2!+...+20!

三、簡(jiǎn)答題

1.簡(jiǎn)述Java語(yǔ)言的主要特點(diǎn)。Java語(yǔ)言共有十大特點(diǎn),分別為:簡(jiǎn)單性、面向?qū)ο?、分布性、編譯和解釋性、穩(wěn)健性、安全性、可移植性、高性能、多線索性、動(dòng)態(tài)性。

2.構(gòu)造方法的作用是什么?構(gòu)造方法和普通方法的區(qū)別?。

3.方法的重載和方法的覆蓋有什么不同?4.訪問(wèn)修飾符有哪些?各自的作用范圍是什么?4.閱讀以下程序

importjava.io.*;

publicclassabc{

publicstaticvoidmain(Stringargs[]){

ABs=newAB("Great!","IloveEclipse.");

System.out.println(s.toString());

}

}

classAB{

Strings1;

Strings2;

publicAB(Stringstr1,Stringstr2){

s1=str1;s2=str2;

}

publicStringtoString(){

returns1+s2;

}}

運(yùn)行結(jié)果是:__Great!IloveEclipse.。

5.閱讀以下程序

importjava.io.*;

publicclassabc{

publicstaticvoidmain(Stringargs[]){

inti,s=0;

inta[]={10,20,30,40,50,60,70,80,90};

for(i=0;i<a.length;i++)

if(a[i]%3==0)s+=a[i];

System.out.println("s="+s);

}

}

運(yùn)行結(jié)果:s=180。

7.以下程序的輸出結(jié)果為:相等。

classStringTest1{

publicstaticvoidmain(String[]args){

Strings1="hello";

Strings2=newString("hello");

if(s1.equals(s2))

System.out.println("相等");

elseSystem.out.println("不相等");

}}

五、編程題(共16分)

8.編寫(xiě)一個(gè)JavaApplication類(lèi)型的程序,從鍵盤(pán)上輸入三角形的三條邊的長(zhǎng)度,計(jì)算三角形的面積和周長(zhǎng)并輸出。根據(jù)三角形邊長(zhǎng)求面積公式如下:,其中a、b、c為三角形的三條邊,p=(a+b+c)/2。

importjava.io.*;publicclassX2_3_3{publicstaticvoidmain(String[]args)throwsIOException{InputStreamReaderisr=newInputStreamReader(System.in);BufferedReaderbr=newBufferedReader(isr);doublea,b,c,s,area;Stringstr;str=br.readLine();a=Double.parseDouble(str);str=br.readLine();b=Double.parseDouble(str);str=br.readLine();c=Double.parseDouble(str);s=(a+b+c)/2.0;area=Math.sqrt(s*(s-a)*(s-b)*(s-c));System.out.println("area="+area);}}【運(yùn)行結(jié)果】345area=6.0

7.打印出楊輝三角形。(要求打印出10行如下圖)

1

11

1331

14641

15101051

1.(編程題)編寫(xiě)程序。判斷給定的某個(gè)年份是否是閏年

閏年的判斷規(guī)則如下:(1)若某個(gè)年份能被4整除但不能被100整除,則是閏年。(2)若某個(gè)年份能被400整除,則也是閏年

importjava.util.Scanner;

classBissextile{publicstaticvoidmain(String[]arge){

System.out.print("請(qǐng)輸入年份");

intyear;//定義輸入的年份名字為“year”

Scannerscanner=newScanner(System.in);

year=scanner.nextInt();

if(year<0||year>3000){

System.out.println("年份有誤,程序退出!");

System.exit(0);}

if((year%4==0)&&(year%100!=0)||(year%400==0))

System.out.println(year+"isbissextile");

elseSystem.out.println(year+"isnotbissextile");}}

2.(編程題)使用for循環(huán)答應(yīng)9*9乘法口訣表。

1*1=1

1*2=22*2=4

1*3=32*3=63*3=9

1*4=42*4=83*4=124*4=16

1*5=52*5=103*5=154*5=205*5=25

1*6=62*6=123*6=184*6=245*6=306*6=36

1*7=72*7=143*7=214*7=285*7=356*7=427*7=49

1*8=82*8=163*8=244*8=325*8=406*8=487*8=568*8=64

1*9=92*9=183*9=274*9=365*9=456*9=547*9=638*9=729*9=81

publicclassNineNine{

publicstaticvoidmain(String[]args){

System.out.println();

for(intj=1;j<10;j++){

for(intk=1;k<10;k++){

if(k>j)break;

System.out.print(""+k+"X"+j+"="+j*k);}

System.out.println();}}}

6.(編程題)編寫(xiě)程序在終端打印1~100之間的素?cái)?shù)。

classTestChoose{

publicstaticvoidmain(Stringargs[]){

intn=2;while(n<=100){

booleanflag=true;

intk1=2;

while(k1<=n/2+1)

{

if(n%k1==0){flag=false;

break;}

k1++;}

if(flag){System.out.println(n);}

n++;

}}

7.(編程題)構(gòu)造一個(gè)類(lèi)來(lái)描述屏幕上的一個(gè)點(diǎn),該類(lèi)的構(gòu)成包括點(diǎn)的x和y兩個(gè)坐標(biāo),以及一些對(duì)點(diǎn)進(jìn)行的操作,包括:取得點(diǎn)的坐標(biāo)值,對(duì)點(diǎn)的坐標(biāo)進(jìn)行賦值,編寫(xiě)應(yīng)用程序生成該類(lèi)的對(duì)象并對(duì)其進(jìn)行操作。

答案:

importjava.io.*;

publicclassPoint{

intx,y;

publicPoint(intx,inty){

this.x=x;this.y=y;}

publicPointgetPoint(){

PointtempPoint=newPoint(x,y);

returntempPoint;}

publicvoidsetPoint(Pointpoint)

this.x=point.x;

{

this.y=point.y;}

publicstaticvoidmain(Stringargs[]){

PointPoint1=newPoint(3,4);

System.out.println("Point1:"+"("+Point1.x+","+Point1.y+")");

PointPoint2=Point1.getPoint();

System.out.println("Point2:"+"("+Point2.x+","+Point2.y+")");

PointPoint3=newPoint(5,6);

Point1.setPoint(Point3);

System.out.println("Point1:"+"("+Point1.x+","+Point1.y+")");

}

}

9.(編程題)編寫(xiě)一個(gè)學(xué)生類(lèi)Student,要求:

(1)學(xué)生類(lèi)Student屬性有:id:long型,代表學(xué)號(hào)name:String類(lèi)對(duì)象,代表姓名age:int型,代表年齡sex:boolen型,代表性別(其中:true表示男,false表示女)phone:String類(lèi)對(duì)象,代表聯(lián)系電話(2)學(xué)生類(lèi)Student的方法有:Student(longi,Stringn,inta,booleans,longp):有參構(gòu)造函數(shù),形參表中的參數(shù)分別初始化學(xué)號(hào)、姓名、年齡、性別和聯(lián)系電話。intgetAge()():獲取年齡作為方法的返回值。booleangetSex()():獲取性別作為方法的返回值。longgetPhone():獲取聯(lián)系電話作為方法的返回值。publicStringtoString():以姓名:聯(lián)系電話的形式作為方法的返回值。

classStudent{

longid;

Stringname;

intage;

booleansex;

longphone;

Student(longi,Stringn,inta,booleans,longp){

id=i;

name=n;

age=a;

sex=s;

phone=p;}

intgetAge(){returnage;}

booleangetSex(){returnsex;}

longgetPhone(){returnphone;}

publicStringtoString(){returnname+":"+phone;

}}

11.(編程題)按以下要求編寫(xiě)程序

(1).(簡(jiǎn)答題)(1)創(chuàng)建一個(gè)Rectangle類(lèi),添加width和height兩個(gè)成員變量(2)在Rectangle中添加兩種方法分別計(jì)算矩形的周長(zhǎng)和面積(3)編程利用Rectangle輸出一個(gè)矩形的周長(zhǎng)和面積

答案:publicclassRectangle{f

loatwidth,height;

publicRectangle(floatwidth,floatheight){t

his.width=width;this.height=height;}

publicfloatgetLength(){

return(this.width+this.height)*2;}

publicfloatgetArea(){returnthis.width*this.height;}

publicstaticvoidmain(String[]args){

Rectanglerect=newRectangle(10,20);

System.out.println("周長(zhǎng)是:"+rect.getLength());

System.out.println("面積是:"+rect.getArea());

}}

12.簡(jiǎn)答題90分以上A級(jí)80~89B級(jí)70~79C級(jí)60~69D級(jí)60分以下E級(jí)

importjava.util.Scanner;

classMark{

publicstaticvoidmain(String[]args){

System.out.println("請(qǐng)輸入一個(gè)分?jǐn)?shù)");//定義輸入的分?jǐn)?shù)為“mark”,且分?jǐn)?shù)會(huì)有小數(shù)

doublemark;

Scannerscanner=newScanner(System.in);

mark=scanner.nextDouble();//判斷是否有輸入錯(cuò)誤。

if(mark<0||mark>100){System.out.println("輸入有誤!");

System.exit(0);}/*判斷分?jǐn)?shù)的等級(jí)90分以上者A級(jí),80~89分者B級(jí),70~79分者C級(jí),

60~69者D級(jí),60分以下E級(jí)*/

if(mark>=90)System.out.println("thismarkisgrade\'A\'");

elseif(mark>=80)System.out.println("thismarkisgrade\'B\'");

elseif(mark>=70)System.out.println("thismarkisgrade\'C\'");

elseif(mark>=60)System.out.println("thismarkisgrade\'D\'");

elseSystem.out.println("thismarkisgrade\'E\'");

}}

簡(jiǎn)答題

1創(chuàng)建數(shù)組元素為基本數(shù)據(jù)類(lèi)型的數(shù)組時(shí),系統(tǒng)都會(huì)指定默認(rèn)值嗎?布爾型的默認(rèn)值是什么?java在聲明了一個(gè)數(shù)組,并為其分配好存儲(chǔ)空間后,未賦值之前會(huì)默認(rèn)對(duì)其初始化:整形數(shù)組默認(rèn)初始值為0;布爾數(shù)組默認(rèn)初始值為false;String數(shù)組以及對(duì)象數(shù)組初始值為null.

2閱讀程序:

importjava.io.*;

publicclassabc

{publicstaticvoidmain(Stringargs[])

{inti,s=0;

inta[]={10,20,30,40,50,60,70,80,90};

for(i=0;i<a.length;i++)

if(a[i]%3==0)s+=a[i];

System.out.println("s="+s);

}

}運(yùn)行結(jié)果:s=180

3閱讀程序:publicclassTestArray

publicstaticvoidmain(Stringargs[]){

inti,j;

inta[]={5,9,6,8,7};

for(i=0;i<a.length-1;i++){

intk=i;

for(j=i;j<a.length;j++)

if(a[j]<a[k])k=j;

inttemp=a[i];

a[i]=a[k];

a[k]=temp;

}

for(i=0;i<a.length;i++)

System.out.print(a[i]+"");

System.out.println();

}

}運(yùn)行結(jié)果

56789

4如果JDK的安裝目錄為D:\jdk,應(yīng)當(dāng)怎么設(shè)置path和classpath的值?

設(shè)置環(huán)境變量Path的值為D:\jdk\bin;

設(shè)置環(huán)境變量ClassPath的值為D:\jdk\lib\dt.jar;D:\jdk\lib\tools.jar;

5字符數(shù)組與字符串有本質(zhì)的不同,而字符串實(shí)際上是String類(lèi)和StringBuffer類(lèi)的對(duì)象,這種說(shuō)法對(duì)嗎?這種說(shuō)法不對(duì),字符數(shù)組與字符串在內(nèi)存中都是邊續(xù)線性分布的的一系列數(shù)據(jù),本質(zhì)上沒(méi)有不同,只是操作上有點(diǎn)差異。

6Java程序的開(kāi)發(fā)步驟。

(1)編寫(xiě)源文件。擴(kuò)展名必須是.java。(2)編譯Java源程序。使用Java編譯器(javac.exe)編譯源文件,得到字節(jié)碼文件。(3)運(yùn)行Java程序。使用JavaSE平臺(tái)中的Java解釋器(java.exe)來(lái)解釋執(zhí)行字節(jié)碼文件。

1簡(jiǎn)答實(shí)例變量和類(lèi)變量的區(qū)別?

(1)不同對(duì)象的實(shí)例變量互不相同(2)所有對(duì)象共享類(lèi)變量(3)通過(guò)類(lèi)名直接訪問(wèn)類(lèi)變量

2簡(jiǎn)述構(gòu)造方法的特點(diǎn)與作用?

構(gòu)造方法是類(lèi)的一個(gè)特殊成員,它會(huì)在類(lèi)實(shí)例化對(duì)象時(shí)被自動(dòng)調(diào)用。而普通方法只有在使用的時(shí)候才會(huì)被調(diào)用。在定義構(gòu)造方法時(shí)要求方法名與類(lèi)名相同、在方法名的前面沒(méi)有返回值類(lèi)型的聲明、在方法中不能使用return語(yǔ)句返回一個(gè)值。

3簡(jiǎn)述面向?qū)ο蟮幕舅枷?、主要特征和基本要?

面向?qū)ο蟮拈_(kāi)發(fā)方法(簡(jiǎn)稱(chēng)OO)的基本思想:OO方法認(rèn)為,客觀世界是由各種各樣的對(duì)象組成的,每種對(duì)象都有各自的內(nèi)部狀態(tài)和運(yùn)動(dòng)規(guī)律,不同的對(duì)象之間的相互作用和聯(lián)系就構(gòu)成了各種不同的系統(tǒng)。當(dāng)我們?cè)O(shè)計(jì)和實(shí)現(xiàn)一個(gè)客觀系統(tǒng)時(shí),如能在滿足需求的條件下,把系統(tǒng)設(shè)計(jì)成由一些不可變的(相對(duì)固定)部分組成的最小集合,這個(gè)設(shè)計(jì)就是最好的。而這些不可變的部分就是所謂的對(duì)象。對(duì)象是OO方法的主體,對(duì)象至少應(yīng)有以下特征:模塊性。即對(duì)象是一個(gè)獨(dú)立存在的實(shí)體,從外部可以了解它的功能,但其內(nèi)部細(xì)節(jié)是“隱蔽”的,它不受外界干擾。對(duì)象之間的相互依賴(lài)性很小,因而可以獨(dú)立地被其它各個(gè)系統(tǒng)所選用。繼承和類(lèi)比性。事物之間都有一定的相互聯(lián)系,事物在整體結(jié)構(gòu)中都會(huì)占有它自身的位置。在對(duì)象之間有屬性關(guān)系的共同性,在OO方法學(xué)中稱(chēng)之為繼承性次結(jié)構(gòu)是靠繼承關(guān)系維系著的。對(duì)象是一個(gè)被嚴(yán)格模塊化了的實(shí)體,稱(chēng)之為封裝(encapsulation)。這種封裝了的對(duì)象滿足軟件工程的一切要求,而且可以直接被面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言所接受。

《Java程序設(shè)計(jì)》實(shí)驗(yàn)報(bào)告

目的 完成圖書(shū)管理應(yīng)用程序

內(nèi)容 1.查詢所有圖書(shū)2.新增圖書(shū)3.修改圖書(shū)4.刪除圖書(shū)5.退出

設(shè)計(jì)思路與關(guān)鍵技術(shù)描述 數(shù)據(jù)庫(kù)的增刪改查

任務(wù)一

程序源碼 importjava.util.Date;

importjava.util.List;

importjava.util.Scanner;

publicclassMain{

publicstaticvoidmain(String[]args){

Scannerscanner=newScanner(System.in);

BookServicebookService=newBookService();

while(true){

System.out.println("請(qǐng)輸入操作序號(hào):1.查詢所有圖書(shū)2.新增圖書(shū)3.修改圖書(shū)4.刪除圖書(shū)5.退出");

intoption=scanner.nextInt();

switch(option){

case1:

List<Book>books=bookService.getAllBooks();

for(Bookbook:books){

System.out.println(book.getId()+"\t"+book.getName()+"\t"+book.getAuthor()+"\t"+

book.getPrice()+"\t"+book.getPublishDate());

}

break;

case2:

System.out.println("請(qǐng)輸入圖書(shū)名稱(chēng):");

StringnameToAdd=scanner.next();

System.out.println("請(qǐng)輸入圖書(shū)作者:");

StringauthorToAdd=scanner.next();

System.out.println("請(qǐng)輸入圖書(shū)價(jià)格:");

floatpriceToAdd=scanner.nextFloat();

System.out.println("請(qǐng)輸入出版日期(格式為yyyy-MM-dd):");

StringdateToAdd=scanner.next();

BookbookToAdd=newBook();

bookToAdd.setName(nameToAdd);

bookToAdd.setAuthor(authorToAdd);

bookToAdd.setPrice(priceToAdd);

bookToAdd.setPublishDate(java.sql.Date.valueOf(

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論