




版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國(guó)90°刀口角尺數(shù)據(jù)監(jiān)測(cè)報(bào)告
- 2025年中國(guó)2-乙基己酸數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)高精度復(fù)膜(過(guò)膠)機(jī)市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)防爆塑身球市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)鋼圈擋圈市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)賽鴿市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)腰掛式無(wú)線發(fā)射機(jī)市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)糖尿清市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)益母草流浸膏市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)環(huán)保型成膜氟蛋白泡沫滅火劑市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025年新疆中考數(shù)學(xué)試卷真題
- 國(guó)內(nèi)在線教育的發(fā)展?fàn)顩r研究論文3000字
- 合肥長(zhǎng)鑫存儲(chǔ)在線測(cè)評(píng)題2024
- DB23-T 3336-2022懸掛式單軌交通技術(shù)標(biāo)準(zhǔn)-(高清最新)
- 服刑人員心理健康教育課件
- DB32-T 2665-2014機(jī)動(dòng)車(chē)維修費(fèi)用結(jié)算規(guī)范-(高清現(xiàn)行)
- “麥語(yǔ)言”函數(shù)手冊(cè)
- 外協(xié)(外委)單位作業(yè)安全管理制度(附安全告知書(shū))
- 【專(zhuān)項(xiàng)訓(xùn)練】初二數(shù)學(xué)-全等三角形的綜合應(yīng)用
- (完整版)《市場(chǎng)營(yíng)銷(xiāo)學(xué)》說(shuō)課課件
- 乙酸乙酯的反應(yīng)器設(shè)計(jì)流程
評(píng)論
0/150
提交評(píng)論