Java 實訓(xùn)練習(xí)題題庫_第1頁
Java 實訓(xùn)練習(xí)題題庫_第2頁
Java 實訓(xùn)練習(xí)題題庫_第3頁
Java 實訓(xùn)練習(xí)題題庫_第4頁
Java 實訓(xùn)練習(xí)題題庫_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

【例1.1]編寫一個應(yīng)用程序,在屏幕上顯示字符串“Hello,World!”。

/*HelloWorld.java*/

publicclassHelloVVorld{

publicstaticvoidniain(Stringargs[]){

System.out.println("Hello,World!u);

【例2.1]本例結(jié)合基本數(shù)據(jù)類型,說明如何使用變量。

publicclassSimpieTypes{

publicstaticvoidmain(Stringargsf]){

byteb=0x55;

shorts=Ox55fT;

inti=1000000;

longI=OxfffL:

charc=*c,;

floatf=0.23F;

doubled=0.7E-3;

booleanbool=true;

Systcin.out.println("b="+b);

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

Systcm.out.println("i='*+i);

System.out.printlnC'H'*+I);

System.out.println(,'c=u+c);

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

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

System.out.println(,,bool="+bool);

}

)

【例2.2】算術(shù)運算符的使用示例.

publicclassArithmaticOp{

publicstaticvoidmain(Stringargs[]){

inta=5+4:Z/a=9

intb=a*2;//b=18

intc=b/4;//c=4

intd=b-c;//d=14

intc=-d;//c=-14

intf=e%4;//f=-2

doubleg=18.4;

doubleh=g%4;//h=2.4

inti=3;

intj=i++;〃i=4,j=3

intk=++i;//i=5,k=5

System.oul.prinUn("a="+a);

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

System.out.println("c=u+c);

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

System.out.println(,,e=u+e);

Systcm.out.println(,,f="+f);

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

Systcm.out.println(Mh="+h);

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

Systcm.out.println(*'j=,'+j);

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

【例2.3】遞增運算符和遞減運算符的使用示例。

publicclassAutolnc{

publicstaticvoidmain(String[]args){

inti=1;

System.ouLprintln("i:"+i);

System.out.println("++i:"+++i);//Pre-increment

System.out.println("i++:"+i++);//Post-increment

System.outprintln(*'i:"+i);

System.out.println("-i:"+-i);//Pre-decrement

Systcm.out.println("i-:"+i-);//Post-dccrcmcnt

System.out.println("i:"+i);

【例2.4]關(guān)系運算符的使用示例.

publicclassRelational()p{

publicstaticvoidmain(Stringargs[]){

floata=10.0f;

doubleb=10.0:

if(a==b)(

System.out.println(*'a和b相等");

}else{

System.out.printlnf"a和b不相等

)

2Java語言程序設(shè)計基礎(chǔ)

【例2.5]本例展示了如何使用關(guān)系和邏輯運算符。

importjava.util.*;

publicclassBool{

publicstaticvoidmain(String[]args){

Randomrand=newRandom。;

inti=rand.nextlnt()%100;

intj=rand.nextlnt()%100:

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

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

System.out.println("i>jis',+(i>j));

System.out.println('*i<jis'*+(i<j));

System.out.println("i>=jis"+(i>=j));

System.out.println("i<=jis"+(i<=j));

System.out.println("i=jis"+(I=j));

System.out.println("i!=jis"+(i!=j));

System.out.println(H(i<10)&&(j<10)is"+((i<10)&&(j<10)));

Svstem.out.println("(i<10)II(j<10)is"+((i<10)II(j<10)));

)

)

【例2.6]

publicclassShortCircuit{

staticbooleantestl(intval){

Systcm.out.println("tcstl("+val+

System.out.println("result:"+(val<1));

returnval<1;

}

staticbooleantest2(intval){

System.out.println("test2("+val+

System.out.println("result:u+(val<2));

returnva)<2;

}

staticbooleantest3(intval)(

System.out.println("test3("+val+

System.out.println("result:"+(val<3));

returnval<3;

}

publicstaticvoidmain(String[]args){

if(test1(0)&&test2(2)&&test3(2))

System.out.printlnC'expressionistrue");

else

System.out.printlnC'expressionisfalse");

[例2.7]移位運算符示例。

publicclassURShift{

publicstaticvoidmain(String[]args){

inti=-1;

i?>=10;

System.out.println⑴;

longI=-1;

I?>=10;

System.out.println(i);

shorts=-1;

s?>=10;

System.out.println(s);

byteb=-1;

b>?=10;

Svstem.out.println(b);

}

}

【例2.8]利用if語句,判斷某一年是否是閏年。

publicclassLeapYear{

publicstaticvoidmain(Stringargs[]){

〃第一種方式

intyear=1989;

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

System.out.printlnfyear+"isaleapyear.");

}clsc(

Svstem.out.pnntln(vear+"isnotaleapvear.");

)

〃第二種方式

year=2000;

booleanleap;

if(year%4!=0){

2

第1章Java語言概述3

leap=false;

}elseif(year%100!=0)(

leap=true;

}elseif(year%400!=0)(

leap=false;

}else{

leap=true;

}

iffleap==true){

System.out.println(year+“isaleapyear.");

}else(

Svstem.out.printlnfyear+"isnotaleapyear.");

)

〃第三種方式

year=2050;

iffyear%4==0){

if(year%100==0){

iftyear%400==0){

leap=true;

}else(

leap=false:

}

)else{

leap=false;

}

}elsc(

leap=false;

)

if(leap==true)(

Systcm.out.println(year+'*isaleapyean*');

}else{

Svstem.out.println(year+"isnotaleapyear.'');

)

【例2.9]switch語句示例。注意其中break語句的作用.

publicclassSwitchDemo{

publicstaticvoidmain(String[]args){

fdr(inti=0;i<100;i++){

charc=(char)(Math.random()*26+'a');

System.out.printfc+":");

switch?{

case'a*:

case'e':

case'i':

case'o':

case'u*:

System.out.println("vowel");

break;

case'y':

case'w*:

System.out.println("Sometimesavowel**);

break;

default:

System.out.println("consonant");

}

)

【例2.10]使用while語句,完成簡單的數(shù)據(jù)求和。

publicclassWhileDemo{

publicstaticvoidmain(Stringargs[]){

intn=10;

intsum=0;

whilc(n>0){

sum+=n;

n-;

}

System.out.println("l~10的數(shù)據(jù)和為:"+sum);

【例2.11]使用dozhile語句,完成簡單的數(shù)據(jù)求和。

publicclassWhiieDemo(

publicstaticvoidniain(Stringargs[]){

intn=0;

intsum=0;

do{

sum+=n;

4Java語言程序設(shè)計基礎(chǔ)

n++;

}while(n<=10);

Systcm.out.println(Ml'10的數(shù)據(jù)和為:"+sum);

【例2.12]break語句和continue語句的使用示例。

publicclassLabeledVVhile{

publicstaticvoidmain(String[]args){

inti=0;

outer:

while(true){

Systcm.out.println("Outerwhileloop*');

while(true){

i++;

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

if(i==1)(

System.out.println("continue");

continue;

}

if(i==3){

System.out.println("continueouter");

continueouter;

)

if(i==5)(

System.out.println("break");

break;

}

iKi==7){

System.out.println("breakouter*');

breakouter;

)

)

【例2.13】計算3、6和9的階乘并輸出結(jié)果。

publicclassTestFunctionl{

publicstaticvoidmain(String[]args){

longz=lL;

intx=l;

for(x=3;x>0;x-)〃該循環(huán)求3的階乘

z*=x;

System.out.println(',3!=',+z);〃輸出3的階乘

for(X=6R=1;x>0;x-)〃該循環(huán)求6的階乘

z*=x;

System.out.println("6!="+z);〃輸出6的階乘

for(x=9^=l;x>0;x-)〃該循環(huán)求9的階乘

z*=x;

System.out.println("9!="+z);〃輸出9的階乘

)

【例2.14】使用方法計算3、6和9的階乘并輸出結(jié)果。

publicclassTestFunction2{

〃第一個方法是main方法,它3次調(diào)用了第二個方法

publicstaticvoidmain(String[]args){

factorial^);

factorial(6);

factorial(9);

)

〃第二個方法是factorial方法,它求出參數(shù)n的階乘并輸出

staticvoidfactoriaKintn){

longz=lL;

intx=n;

for(;x>0;x-)〃該循環(huán)求n的階乘

z*=x;

System.out.println(n+,'!="+z)^tHn的階乘

【例2.15)方法的傳遞參數(shù)。

publicclassTestPara{

staticvoidtest(booleanparatest)(

paratest=!paratest;

System.out.printlnC'Intest(boolean):test="+paratest):

)

publicstaticvoidmain(String1]args){

booleantest=true;

System.out.println("Beforetest(boolean):test="+test);

4

第1章Java語言概述5

test(test);

System.out.printlnC,Aftertest(boolean):test='*+test);

)

}

【例2.16]使用遞歸方法計算3、4和5的階乘。

publicclassTestFunction3{

publicstaticvoidmain(String[]args){

System.out.printlnC'Factorialof3is"+fact(3));

System.out.println("Factorialof4is"+fact(4));

Svstem.out.println("Factorialof5is"+fact(5));

I

〃遞歸方法,求出參數(shù)n的階乘并返回階乘值

staticintfact(intn){

intresult:

if(n=l)

return1;

result=foct(n-l)*n;

returnresult;

)

}

【例2.17】使用間接遞歸方法,求斐波那契數(shù)列第n項。

publicclassTestF(

publicstaticvoidmain(String[]args){

intxl=1;

intsum=0:

intn=7;

for(inti=1;i<=n;i++){

xl=funcl(i);

sum=sum+xl;

}

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

)

staticintfuncl(inta){

intb;

b=f'unc2(a);

returnb;

)

staticintfunc2(intb){

if(b>2)

return(funclfb-1)+funcKb-2));

else

return1;

)

}

【例3.1]定義一個求圓面積的類。

publicclassCircle{

privatedoubleradius;

privatedoublearea;

finaldoublepi=3.14;

publicvoidsetRadius(doubler){

radius=r:

}

publicdoublecalculateArea()(

returnpi*radius*radius;

)

}

[例3.2]創(chuàng)建日期類Date并進行輸出。

publicclassDate{

privateintday;

privateintmonth;

privateintyear;

publicvoidsetDate(intdjntm,inty){

day=d;

month=m;

vear=v;

}

publicvoidprintDate(){

System.out.println(”今天是“+year+“年"+month+“月"+day+"H");

}

publicstaticvoidmain(String[]args)(

Datetoday=newDate();

today.setDate(12.3,2005):

Datethisday;

thisday=today;

thisday.printDatc();

)

6Java語言程序設(shè)計基礎(chǔ)

【例3.3】設(shè)計類Number,測試對象間的賦值。

classNumber{

inti;

publicstaticvoidmain(String[]a){

Numbernl=ncwNumbcr();

Numbern2=newNumber();

nl.i=9;

n2.i=47;

System.out.println(',nl.i=,'+nl.i+"\t\t,,+',n2,i=,,+n2.i)

nl=n2;

System.out.println("nl.i=,,+nl.i+,,\t\t,,+,,n2.i=',+n2.i)

nl.i=27;

System.out.println(',nl.i=',+nl.i+,'\t\t',+',n2.i=,,+n2.i)

)

【例3.4】測試成員變量修飾符的作用。

classFieldTest{

privateintnum=5;〃私有作用域,本類可見

publicintget()(〃公共作用域

returnnum;〃get方法返回成員變量num的值

}

}

classTest(

publicstaticvoidmain(String{]args){

FieldTestft=newFieldTestf);

intt=ft.get():〃正確訪問

Z/ints=ft.num;〃不能訪問FieidTest類中私有成員變量num

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

//System.out.println(s);

[例3.5]定義類SaticTest,測試對實例成員和類成員的不同訪問形式。

publicclassStaticTcstf

staticinti=l;

intj=l;

staticvoidprintStatic(){

Systcm.out.println(,,i="+i);

//System.out.printlnC'js0+j);〃非法訪問

}

voidprint(){

System.out.println(,,i="+i);

Systcm.out.println("j=H+j);

}

publicstaticvoidmain(String[]args){

StaticTest.printStatict);

//StaticTest.printf);〃非法訪問

StaticTest.i=2;

Z/StaticTest.j=2;〃非法訪問

StaticTcstst=newStaticTcst();

st.i=3;

st.j=3;

st.print();

st.printStatic();

【例3.6】測試類變量與實例變量的不同。

publicclassStaticVar(

inti=0;

staticintj=0:

publicvoidprint(){

System.out.printin(Mi="+i);

Systcm.out.println(,,j="+j);

)

publicstaticvoidmain(String[]args){

StaticVrarsvl=newStaticVar();

svl.i++;

sv1.j++;

svl.print():

StaticVarsv2=ncwStaticVar();

sv2.print();

)

【例3.7】對例3.2中Dale類進行修改,將定義日期的功能用構(gòu)造函數(shù)來實現(xiàn)。

publicclassDate{

privateintday;

privateintmonth;

6

第1章Java語言概述7

privateintyear;

Date(intd,intm,inty){〃構(gòu)造函數(shù)

day=d;

month=m;

vear=v;

)

publicvoidprintDate(){

System.out.print】n(”今天是“+year+“年"+month+“月”+day+”日”);

}

publicstaticvoidmain(String(]args){

Datetoday=newDatefl23,2005);

today.printDate();

Dateanothcrday=newDatef21.3,2005);

anotherdav.printDate();

)

}

【例3.8】設(shè)計類Person,用其創(chuàng)建對象,并對創(chuàng)建的對象個數(shù)計數(shù)。

publicclassPerson(

privatestaticinti:

privateStringname;

privateintage;

PersonCStringn,inta){

name=n:

age=a;

i++;

speakO;

)

voidspeak(){

Systenkout.println("我是第"+i+”個人,名叫”+name+”,年齡”+age+”歲。

}

publicstaticvoidmain(String[]args){

Personpl=newPerson("李大強20);

Personp2=newPerson("張曉明”,22);

Personp3=ncwPerson("王金寶

)

}

【例3.9]

publicclassSwap{

publicstaticvoidmain(Stringargs[])(

Integera,b;

a=newInteger(lO);

b=newInteger(SO);

System.out.println("beforeswap...**);

System.out.println("ais"+a);

Systcm.out.printlnC'bis"+b):

swapfa,b);

System.out.println("afterswap...");

Systcm.out.println("ais"+a);

System.out.println("bis"+b);

)

publicstaticvoidswap(Integerpa,Integerpb){

Integertemp=pa;

pa=pb;

pb=temp;

Systcm.out.printlnC'inswap...");

System.out.printlnC'ais"+pa);

Svstcm.out.printlnC'bis*'+pb);

}

)

【例3.10】

classTestObject{

privateStringname;

publicvoidsctNamc(Stringpnatne){

name=pname;

)

publicStringgetName(){

returnname:

publicclassTcstitJ

privatevoidmodify(Test()bjectta,TestObjecttb){

ta.sctNamcC'xyz");

tb.setNameC'uvw");

Systeni.out.println("intest...'1);

System.out.println("ta.getName()="+ta.getNameO);

System.out.println("tb.getName()="+tb.getNameO);

)

publicstaticvoidmain(String[]args){

TestObjectta=newTestObjectO;

8Java語言程序設(shè)計基礎(chǔ)

TcstObjccttb=newTcstObjectO;

Testittc=newTestitO;

ta.setName("abc°);

tbj?etName("der,);

System.out.println("beforetest...'*);

Systcm.out.println(,,ta.RetNamc()=M+ta.getName());

System.out.println("tb.getName()="+tb.getNameO);

tc.modify(ta,tb);

System.out.printlnC'aftertest...");

System.out.prlntln("ta.getName()='<+ta.getNameO);

System.out.println("tb.getName()=M+tb.getNameO);

}

I

【例3.11】對例3.2中Date類進行修改,用this實現(xiàn)對本類的引用。

publicclassDatc(

privateintday;

privateintmonth;

privateintyear;

publicvoidsetDate(intdayJntyear){

this.day=day;

this.month=month;

this.vcar=year;

I

)

【例3.12]對例3.2中Date類進行修改,將對象作為自變量傳送。

publicclassDatc{

privateintday,month,year;

Date(intmonthjntyear){

setDate(day,month,year);

printDate(this):

)

privatevoidsetDate(intday,intmonth,intyear){

this.day=day;

this.month=month:

this.year=year;

}

privatevoidprintDate(Datcd)(

System.out.println(“今天是"+d.year+“年”+d.month+“月”+d.day+“日今

}

publicstaticvoidmain(String[]args){

Datedate=newDate(31,03,2005);

【例3.13】將HelloVVorld程序放入自己定義的包myPackage中。

packagemyPackage;

publicclassHelloWorld{

publicstaticvoidmain(String[]args){

Svstcm.out.printCHelloWorld!'*);

)

)

【例3.14]將Dale類放入包mypackage.并用mypackage!包中的Test類實現(xiàn)該Date類。

packagemypackage;

publicclassDate(

privateintday;

privateintmonth;

privateintyear;

publicDatcfintd,intm,inty)(

day=d;

month=in:

ycar=y;

}

publicvoidsetDate(intdjntm,inty){

day=d;

month=m;

vear=v;

I

publicvoidprintDate()(

Systcm.out.println(“今天是"+year+“年”+month+”月“+day+”日

//以下程序是mypackage1包中的Test類.

packagemypackage1;

importmypackagc.Datc;

publicclassTest{

publicstaticvoidniain(String[]args){

Datemydate=newDate(10,04,2005);

mvdate.printDate();

)

8

第1章Java語言概述9

【例3.15】下面的例子演示了包的保護作用。

//A.java文件

packagemypackage;

publicclassA{〃公共作用域

intnum;〃包的作用域

publicintget(){returnnum;}〃公共作用域

Z/B.java文件

packageanotherpackage;

importmypackage.A;

classB{〃包的作用域

Amya=newA();〃正確訪問

voidm(){

intt=mya.get();i〃正確訪問

ints=mya.num;i〃錯誤,num是包的作用域,不能訪問

}

}

〃程序的編譯(javac-d.B.java)會出現(xiàn)如下錯誤:

Z/B.java:8:numisnotpublicinmypackage.A;cannotbeaccessedfromoutsidepackage

//ints=mya.num;〃錯誤mum是包的作用域,不能訪問

//人

【例3.16】設(shè)計一個電視機類,成員變量包括電視機編號、生產(chǎn)廠家、品牌名稱、大小、開關(guān)狀態(tài),并可以對其進行相應(yīng)操作,如

打開電視、提高/降低音量、更換頻道等。

電視機編號由生產(chǎn)日期和生產(chǎn)編號構(gòu)成,如2005年4月12日生產(chǎn)的第一臺電視的編號為2005041201,第二臺為2005041202,該編

號自動生成.將該類放入自己的包中,并進行測試.

packagemypackage.tvset;>〃定義包mvpackage.tvset

importjava.util.Date:>〃引入Java:util.Date類,用于獲得當(dāng)前日期

publicclassTvSet(

privatestaticintnumber;〃電視機編號

privateinttvnumber;

privatefinalStringmanufacturer”職業(yè)學(xué)院設(shè)備廠”;〃生產(chǎn)廠家

privatefinalStringbrandnamc="學(xué)院牌";〃電視機品牌名

privateintsize;〃電視機尺寸

privateStringswitchstate="關(guān)閉";〃電視開關(guān)狀態(tài)

publicTvSet(intsize){〃構(gòu)造函數(shù)

this.size=size;

setNumber();

tvnumbcr=number;

Systcm.out.print("由"+manufacturer+”制造的"+brandnamc+sizc+”時電視已被制造。");

Systeni.out.println(“該電視的編號為''+tvnumber);

privatestaticvoidsetNumber(){〃設(shè)置電視機編號

Stringdatenumber:

溫馨提示

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

最新文檔

評論

0/150

提交評論