




版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 水泥墻面保溫板施工方案
- 人教版高中物理選擇性必修第一冊波的多解性和周期性課件
- 三門峽鈦鎂合金門施工方案
- 緯灣社區(qū)拆遷計劃
- 游戲公司創(chuàng)業(yè)計劃書
- 2025至2030年中國導(dǎo)電乳膠指套數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國多功能石材養(yǎng)護劑數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國外擺乘客門門泵數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國回力卡丁車數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國臥式家禽浸燙池數(shù)據(jù)監(jiān)測研究報告
- 高二數(shù)學(xué)(含創(chuàng)意快閃特效)-【開學(xué)第一課】2023年高中秋季開學(xué)指南之愛上數(shù)學(xué)課
- 《學(xué)前兒童社會教育》學(xué)前兒童社會教育概述-pp課件
- 全國醫(yī)學(xué)英語統(tǒng)考醫(yī)學(xué)英語詞匯表
- 【品牌建設(shè)研究國內(nèi)外文獻綜述5000字】
- 國家電網(wǎng)公司電力安全工作規(guī)程(電力通信部分)(試行)
- 第八版-精神分裂癥及其他精神病性障礙(中文)
- 小學(xué)一年級新生報名登記表
- 生態(tài)毒理學(xué)第三章毒物的分子效應(yīng)與毒理學(xué)機制
- 智能財務(wù)共享在京東的應(yīng)用研究
- 衛(wèi)生和微生物基礎(chǔ)知識培訓(xùn)-
- 2023年鎮(zhèn)江市高等專科學(xué)校單招綜合素質(zhì)題庫及答案解析
評論
0/150
提交評論