Java程序設(shè)計(jì)教程(第三版)課件 項(xiàng)目二 Java語言編程基礎(chǔ)_第1頁
Java程序設(shè)計(jì)教程(第三版)課件 項(xiàng)目二 Java語言編程基礎(chǔ)_第2頁
Java程序設(shè)計(jì)教程(第三版)課件 項(xiàng)目二 Java語言編程基礎(chǔ)_第3頁
Java程序設(shè)計(jì)教程(第三版)課件 項(xiàng)目二 Java語言編程基礎(chǔ)_第4頁
Java程序設(shè)計(jì)教程(第三版)課件 項(xiàng)目二 Java語言編程基礎(chǔ)_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

項(xiàng)目二Java語言編程基礎(chǔ)

【項(xiàng)目描述】常用的編程元素——常量與變量;數(shù)據(jù)分類法——數(shù)據(jù)類型;編程部件——運(yùn)算符、表達(dá)式與語句;程序執(zhí)行方向——程序控制結(jié)構(gòu)。【任務(wù)分解】

本項(xiàng)目可分解為以下幾個任務(wù):1.數(shù)據(jù)類型與常量、變量。2.運(yùn)算符和表達(dá)式與語句。3.程序控制結(jié)構(gòu)。任務(wù)一

數(shù)據(jù)類型與常量、變量

【任務(wù)描述】任務(wù)2-1:聲明兩個整型變量x和y,分別賦予它們初始值5和8,求兩數(shù)之和,并輸出結(jié)果。跳至解題思路【必備知識】1.認(rèn)識標(biāo)識符Java對標(biāo)識符定義的規(guī)定:標(biāo)識符可以由字母、數(shù)字、下劃線(_)或美元符號($)組成。標(biāo)識符必須以字母、下劃線(_)或美元符號($)開頭。標(biāo)識符長度不限,但在實(shí)際中不宜過長。標(biāo)識符區(qū)分大小寫,例如:Myworld與myworld是不同的。標(biāo)識符不能與關(guān)鍵字(保留字)同名。2.認(rèn)識關(guān)鍵字abstractassertbooleanbreakbytecasecatchcharclassconstcontinuedefaultdodoubleelseextendsfinalfinallyfloatforgotoifimplementsimportinnerinstanceofintinterfacelongnativenewnulloperatorouterpackageprivateprotectedpublicreturnshortstaticsuperstrictfpswitchsynchronizedthisthrowtransienttryvoidvolatilewhileenumthrows3.認(rèn)識數(shù)據(jù)類型Java的數(shù)據(jù)類型可以分為兩大類:基本數(shù)據(jù)類型與引用數(shù)據(jù)類型。4.認(rèn)識常量常量是指在程序運(yùn)行過程中其值始終保持不變的量。常量共包含以下6類。(1)整型常量表2.2Java整型數(shù)據(jù)的取值范圍(2)浮點(diǎn)型常量如果不明確指明浮點(diǎn)數(shù)的類型,浮點(diǎn)數(shù)默認(rèn)為double。如:3.141592(double型浮點(diǎn)數(shù))2.08E25(double型浮點(diǎn)數(shù))6.56f(float型浮點(diǎn)數(shù))(3)字符型常量字符型常量是由一對單引號包含起來的單個字符。例如:‘a(chǎn)’,‘2’。(4)字符串常量字符串型常量是由一對雙引號括起來的,0個或多個字符組成的一個字符序列。如:“stu”。(5)布爾型常量布爾型常量只能取值為true和false,其中true表示邏輯真,false表示邏輯假。(6)null常量null常量只有一個值,用null表示,表示為空。5.認(rèn)識變量(1)變量的命名規(guī)則變量也是一種標(biāo)識符,所以它也遵循標(biāo)識符的命名規(guī)則。(2)聲明變量變量聲明格式為:類型名變量名[=常量];示例1:聲明整型變量。public

classExample2_1{

public

static

voidmain(String[]args){

inta=016;//聲明int型變量a,并賦予它初值為八進(jìn)制數(shù)16

intb=3;

intc=0x15;

longy=123456L; System.out.println("a="+a);//輸出a的值 System.out.println("b="+b); System.out.println("c="+c);System.out.println("y="+y);}}示例2:聲明單精度和雙精度類型變量。代碼請參考Example2_2。示例3:聲明字符類型變量。代碼請參考Example2_3。示例4:聲明字符串類型變量。publicclassExample2_4{ publicstaticvoidmain(String[]args){ Stringstr1="Hello"; Stringstr2="123"; System.out.println("str1="+str1); System.out.println("str2="+str2); }}示例分析:在本例中,聲明了String類型(即字符串類型)變量str1和str2,并分別給它們賦予初始值“Hello”和“123”,調(diào)用println()方法在屏幕上顯示兩個變量的值。(3)變量的作用域變量是有作用范圍的,一旦超出它的范圍,就無法再使用這個變量。按作用范圍進(jìn)行劃分,變量分為成員變量和局部變量。1)成員變量在類體中定義的變量為成員變量。它的作用范圍為整個類,也就是說在這個類中都可以訪問到定義的這個成員變量。示例6:成員變量的作用范圍。代碼請參考Example2_6。2)局部變量Java可以在程序的任何地方聲明變量,當(dāng)然也可以在循環(huán)里聲明。有趣的是,在循環(huán)里聲明的變量只是局部變量,只要跳出循環(huán),這個變量便不能再使用。示例7:局部變量的作用范圍。代碼請參考Example2_7?!窘忸}思路】

任務(wù)2-1:1.首先分析確定要使用多少個變量,聲明兩個int型的變量。2.分別賦予它們初始值。3.再聲明一個int型的變量,用于存放兩數(shù)之和。在聲明求和的變量時,一般要將其初始值設(shè)為0。4.調(diào)用println()方法在屏幕上顯示所求的和。重溫任務(wù)描述【任務(wù)透析】//ClassDemo2_1Test.javapublicclassClassDemo2_1Test{ publicstaticvoidmain(String[]args){ intx=5; inty=8; intsum=0; sum=x+y; System.out.println("sum="+sum); }}【現(xiàn)場演練】有三門課程成績,通過使用“聲明變量”和“賦予初始值”的知識,完成求三門課程的平均分,并輸出所求的平均分。示例分析:把變量i聲明在for循環(huán)里,因此變量i在此就是局部變量,它的有效范圍僅在for循環(huán)開始和結(jié)束之間(即5~9行),只要一離開這個范圍,變量i便無法使用。相對而言,變量sum是聲明在main()方法的開始處,因此它的有效范圍從(03~09)行,當(dāng)然,for循環(huán)內(nèi)也屬于變量sum的有效范圍。任務(wù)二

運(yùn)算符、表達(dá)式與語句

【任務(wù)描述】任務(wù)2-2:(1)已知a=13,b=4,求a/b,(float)a/b,a%b,((a>10)&&(b<5))的值;(2)已知i=3,j=3,求x=i++,i,y=++j,j的值;(3)計(jì)算12+5>3||12-5<7表達(dá)式的值。求結(jié)果,并按給定的變量和初始值編寫程序驗(yàn)證結(jié)果。跳至解題思路【必備知識】1.運(yùn)算符。(1)賦值運(yùn)算符賦值運(yùn)算符是“=”,通過一個示例來講解賦值運(yùn)算符的用法。示例10:在程序中用“=”賦值。代碼請參考Example2_10。(2)算術(shù)運(yùn)算符數(shù)據(jù)類型精度的次序:byte<short<int<long<float<double。例如:20+3//結(jié)果是286*5//結(jié)果是309/4//結(jié)果是29/4.0//結(jié)果是2.259%4//結(jié)果是19%4.0//結(jié)果是1.0-9%5//結(jié)果是-4(3)關(guān)系運(yùn)算符比較兩個值是否滿足某種關(guān)系。如果滿足,則返回“true”(真),否則返回“false”(假)。關(guān)系運(yùn)算符都是二元運(yùn)算符,見表2.6。12.5>9.5//結(jié)果是true25!=25//結(jié)果是false3==3//結(jié)果是true‘T’<‘a(chǎn)’//結(jié)果是true(4)遞增與遞減運(yùn)算符(5)邏輯運(yùn)算符(6)位運(yùn)算符位運(yùn)算是對整數(shù)類型的操作數(shù)按二進(jìn)制的位進(jìn)行運(yùn)算,運(yùn)算結(jié)果仍然是整數(shù)類型值。在Java語言中位運(yùn)算的操作數(shù)只能為整型和字符型數(shù)據(jù)。具體運(yùn)算符見表2.8所示。(7)條件運(yùn)算符條件運(yùn)算符格式為:表達(dá)式1?表達(dá)式2:表達(dá)式3intmin,x=5,y=19;min=(x<y)?x:y;//(x<y)=(5<19)的值是true,取x的值,即min=x=4;2.運(yùn)算符的優(yōu)先級運(yùn)算符的優(yōu)先級及結(jié)合性見表2.10。3.表達(dá)式表達(dá)式是由常量、變量或是其他操作數(shù)與運(yùn)算符所組合而成的語句。例如下面均是正確的表達(dá)式:-49//表達(dá)式由一元運(yùn)算符“﹣”與常量49組成sum+2//表達(dá)式由變量sum、算術(shù)運(yùn)算符“+”與常量2所組成a+b-c/(d*3)//表達(dá)式由變量、常量與運(yùn)算符所組成4.語句在學(xué)會使用運(yùn)算符和表達(dá)式后,就可以寫出最基本的Java程序語句了。語句用來向計(jì)算機(jī)系統(tǒng)發(fā)出操作指令。程序由一系列語句組成。Java語言中的語句主要分為以下幾類:(1)表達(dá)式語句Java語言中最常見的語句是表達(dá)式語句,其形式如下:表達(dá)式;例如:a+b(2)空語句空語句只有分號,沒有內(nèi)容,不執(zhí)行任何操作。設(shè)計(jì)空語句是為了語法需要。例如,循環(huán)語句的循環(huán)體中如果僅有一條空語句,表示執(zhí)行空循環(huán)。例如:for(inti=0;;i++){}(3)復(fù)合語句(4)聲明語句(5)賦值語句(6)控制語句控制語句完成一定的控制功能,包括選擇語句、循環(huán)語句和轉(zhuǎn)移語句?!窘忸}思路】

任務(wù)2-2:1.聲明變量。2.給變量賦初值。3.按要求計(jì)算。4.調(diào)用println()方法在屏幕上顯示所求的值。重溫任務(wù)描述【任務(wù)透析】//ClassDemo2_2Test.java

public

classClassDemo2_2Test{

public

static

voidmain(String[]args){ /*(1)已知a=13,b=4, *求a/b,(float)a/b,a%b,((a>10)&&(b<5))的值。 */ 01inta=13,b=4; 02System.out.println("(1)的結(jié)果為:"); 03System.out.println("a/b="+(a/b));04System.out.println("(float)a/b="+(float)(a/b)); 05System.out.println("a%b="+(a%b)); 06System.out.println("((a>10)&&(b<5))="+((a>10)&&(b<5))); /*(2)已知i=3,j=3, *求x=i++,i,y=++j,j的值。 */ 07inti=3,j=3,x,y; 08x=i++; 09y=++j; 10System.out.println("(2)的結(jié)果為:"); 11System.out.println("x="+x+",i="+i); 12System.out.println("y="+y+",j="+j); /* *計(jì)算12+5>3||12-5<7表達(dá)式的值

*/ 13System.out.println("(3)的結(jié)果為:"); 14System.out.println(12+5>3||12-5<7); }}【現(xiàn)場演練】inti=15,j1,j2,j3,j4,(1)j1=i++,求j1和i值;(2)j2=++i,求j2和i值;(3)j3=i--,求j3和i值;(4)j4=--i,求j4和i值?!局R鏈接】復(fù)合賦值運(yùn)算符任務(wù)三

程序控制結(jié)構(gòu)

【任務(wù)描述】任務(wù)2-3-1:公共汽車買票問題:乘客上車時顯示W(wǎng)elcome;輸入乘客年齡;如果年齡小于8歲或大于60歲,免票顯示OK,否則顯示:2yuan。任務(wù)2-3-2:分別用for語句、while語句和do…while語句求1+2+…+100。任務(wù)2-3-3:編程輸入成績(0~100分?jǐn)?shù)),根據(jù)輸入的百分制按五分制的成績輸出(排除不可能的分?jǐn)?shù))。百分制與五分制之間的關(guān)系見表2.12。跳至解題思路任務(wù)2-3-4:用for循環(huán)完成如下所示的圖形?!颈貍渲R】1.程序的結(jié)構(gòu)設(shè)計(jì)一般來說程序的結(jié)構(gòu)包含以下3種:1、順序結(jié)構(gòu)2、選擇結(jié)構(gòu)3、循環(huán)結(jié)構(gòu)這3種不同的結(jié)構(gòu)有一個共同點(diǎn),就是它們都只有一個入口,也只有一個出口。程序中使用了上面這些結(jié)構(gòu)到底有什么好處呢?這些單一入、出口可以讓程序易讀、好維護(hù),也可以減少調(diào)試的時間。2.順序結(jié)構(gòu)結(jié)構(gòu)化程序的最簡單的結(jié)構(gòu)就是順序結(jié)構(gòu),所謂順序結(jié)構(gòu)就是按書寫順序執(zhí)行的語句構(gòu)成的程序段,其流程如圖2-2所示。示例11:將華氏溫度轉(zhuǎn)換為攝氏溫度。攝氏溫度c和華氏溫度f之間的關(guān)系為:c=5(f-32)/9。public

classExample2_11{

public

static

voidmain(String[]args){

floatf,c; f=70.0f; c=5*(f-32)/9; System.out.println("f="+f); System.out.println("c="+c); }}示例分析:main()方法中聲明了f和c兩個float類型的變量,分別表示華氏溫度和對應(yīng)的攝氏溫度,接著給f賦值70.0,通過5*(f-32)/9計(jì)算對應(yīng)的攝氏溫度,最后輸出f和c的值。main()方法中,各語句按照書寫的先后次序順序執(zhí)行,屬于順序結(jié)構(gòu)。3.選擇結(jié)構(gòu)

程序中有些程序段的執(zhí)行是有條件的,當(dāng)條件成立時,執(zhí)行一些程序段;當(dāng)條件不成立時,執(zhí)行另一些程序段,或不執(zhí)行,稱為選擇結(jié)構(gòu)。選擇結(jié)構(gòu)程序通過Java提供的選擇語句對給定條件進(jìn)行判斷,根據(jù)條件的滿足與否,執(zhí)行對應(yīng)的語句。選擇語句有兩種:if語句和switch語句。(1)if語句if語句也叫條件語句,它根據(jù)條件表達(dá)式的值來選擇將要執(zhí)行的語句??梢詫?shí)現(xiàn)單分支、雙分支和多分支等選擇結(jié)構(gòu)。形式一:if語句實(shí)現(xiàn)單分支選擇結(jié)構(gòu)。其使用格式如下:If(條件表達(dá)式){

語句主體}示例12:用if語句實(shí)現(xiàn)單分支選擇結(jié)構(gòu)。代碼請參考Example2_12。形式二:if-else語句實(shí)現(xiàn)雙分支選擇結(jié)構(gòu)。其使用格式如下:if(條件表達(dá)式){ 語句主體1;}else{語句主體2;}其流程圖如圖2-4所示。圖2-4雙分支選擇結(jié)構(gòu)的流程圖示例13:用if…else語句實(shí)現(xiàn)雙分支選擇結(jié)構(gòu)。代碼請參考Example2_13。形式三:嵌套的if-else語句實(shí)現(xiàn)多分支選擇結(jié)構(gòu)。其使用格式如下:if(條件表達(dá)式1){

語句主體1;}elseif(條件表達(dá)式2){

語句主體2;}…//多個elseif()語句else{

語句主體n;}示例14:用嵌套的if…else語句,實(shí)現(xiàn)多分支選擇結(jié)構(gòu)。y和x的函數(shù)關(guān)系如表2.13所示,編寫由x計(jì)算y的程序。public

classExample2_14{

public

static

voidmain(String[]args){

floatx,y; x=Float.parseFloat(args[0]);

if(x<0) y=0;

else

if(x>0&&x<=10) y=x;

else

if(x>10&&x<=20) y=10;

else y=0.5f*x+20; System.out.println("x="+x); System.out.println("y="+y); }}(2)switch語句---多分支選擇語句switch語句能夠根據(jù)給定表達(dá)式的值,從多個分支中選擇一個分支來執(zhí)行。其使用的格式如下:switch(表達(dá)式){ case選擇值1:語句主體1;break; case選擇值2:語句主體2;break; …… case選擇值n:語句主體n;break; default:語句主體;}功能說明:1)switch語句先計(jì)算括號中表達(dá)式的結(jié)果。2)根據(jù)表達(dá)式的值檢測是否符合執(zhí)行case后面的選擇值,若是所有case的選擇值皆不符合,則執(zhí)行default所包含的語句,執(zhí)行完畢即離開switch語句。3)如果某個case的選擇值符合表達(dá)式的結(jié)果,就會執(zhí)行該case所包含的語句,直到遇到break語句后才離開switch語句。4)若是沒有在case語句結(jié)尾處加上break語句,則會一直執(zhí)行到switch語句的尾端才會離開switch語句。5)若是沒有定義default該執(zhí)行的語句,則什么也不會執(zhí)行,而是直接離開switch語句。6)若選擇值為字符時,必須用單引號將字符包圍起來。switch語句的流程圖示例15:通過命令行輸入1~12之間的一個整數(shù),輸出相應(yīng)月分的英文單詞(使用switch語句處理)。代碼請參考Example2_15。4.循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)包括while語句、do…while語句和for語句。(1)while語句while循環(huán)的格式如下:while(判斷條件){

語句1;

語句2;

…語句n;}功能說明:先計(jì)算“判斷條件”的值,若判斷條件的值為真(true),則執(zhí)行循環(huán)體中的語句;再計(jì)算“判斷條件”的值,若判斷條件的值為真(true),再執(zhí)行循環(huán)體的語句,形成循環(huán),直到判斷條件的值為假(false),結(jié)束循環(huán),執(zhí)行while語句后面的語句。

循環(huán)流程圖示例16:while循環(huán)的使用。01public

classExample2_16{02 public

static

voidmain(String[]args){03 inti=1,sum=0;04 while(i<=10){05 sum+=i;//累加計(jì)算06 i++;07 }08 System.out.println("1+2+...+10="+sum);09 }

(2)do…while語句do…while循環(huán)的格式如下:do{語句1;

語句2;

…語句n;}while(判斷條件);示例17:do…while循環(huán)的使用代碼請參考Example2_17。(3)for語句for循環(huán)的格式如下:for(賦值初值;判斷條件;賦值增減量){語句1;

語句2;

…語句n;}若是在循環(huán)主體中要處理的語句只有1個,可以將大括號去掉。for循環(huán)流程圖(4)循環(huán)嵌套當(dāng)循環(huán)語句中又出現(xiàn)循環(huán)語句時,就稱為嵌套循環(huán),如嵌套for循環(huán),如嵌套while循環(huán)等。當(dāng)然也可以使用混合嵌套循環(huán),也就是循環(huán)中又有其他不同種類的循環(huán)。例如:for(;;)//外循環(huán)開始{for(;;)//內(nèi)循環(huán)開始 {……}//內(nèi)循環(huán)結(jié)束}//外循環(huán)結(jié)束for(;;)//外循環(huán)開始{do{//內(nèi)循環(huán)開始 ……}while();//內(nèi)循環(huán)結(jié)束}//外循環(huán)結(jié)束

5.循環(huán)跳轉(zhuǎn)語句(1)break語句(2)continue語句示例21:break語句的使用代碼請參考Example2_21。示例22:continue語句的使用代碼請參考Example2_22。【解題思路】

任務(wù)2_3_1:“年齡小于8歲或年大小于60歲”的數(shù)學(xué)表達(dá)式為“age<8||age>60”。任務(wù)2_3_2:while循環(huán)語句的特點(diǎn)是:先判斷,后執(zhí)行;do-while循環(huán)語句的特點(diǎn)是:先執(zhí)行,后判斷。任務(wù)2_3_3:用嵌套的if-else語句時,要注意else和if的匹配問題。當(dāng)有多種分支時,使用switch-case語句會讓程序更容易理解。任務(wù)2_3_4:聲明3個控制變量i、sapce、star。i變量控制行數(shù),space變量控制空格數(shù),star變量控制圖形數(shù),由for循環(huán)嵌套完成整個圖形的輸出。

重溫任務(wù)描述【任務(wù)透析】//ClassDemo2_3_1Test.javapublic

classClassDemo2_3_1Test{

public

static

voidmain(String[]args){ System.out.println("Welcome"); Shortage; age=Short.parseShort(args[0]);

if(age<8||age>60) System.out.println("Ok");

else System.out.println("2yuan"); }}//ClassDemo2_3_2Test.javapublic

classClassDemo2_3_2Test{

public

static

voidmain(String[]args){ //用while循環(huán)語句完成

inti=1,sum1=0;

while(i<=100) { sum1+=i; i++; } System.out.println("while語句:1+2+...+100="+sum1); //用do...while循環(huán)語句完成

intj=1,sum2=0;

do{ sum2+=j; j++; }while(j<=100); System.out.println("do...while語句:1+2+...+100="+sum2); //用for循環(huán)語句完成

intk=1,sum3=0;

for(k=1;k<=100;k++) sum3+=k; System.out.println("for語句:1+2+...+100="+sum3); }}//ClassDemo2_3_3Test.javapublic

classClassDemo2_3_3Test{

public

static

voidmain(String[]args){ //嵌套的if語句完成

intscore;

chargrade; score=(int)Float.parseFloat(args[0]);

if(score>=0&&score<=100) {

if(score>89) grade='5';

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論