Java第二章Java程序設(shè)計課件_第1頁
Java第二章Java程序設(shè)計課件_第2頁
Java第二章Java程序設(shè)計課件_第3頁
Java第二章Java程序設(shè)計課件_第4頁
Java第二章Java程序設(shè)計課件_第5頁
已閱讀5頁,還剩275頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第2章Java基本語法2.1Java程序的構(gòu)成2.2數(shù)據(jù)類型、變量和常量2.3運算符和表達(dá)式2.4流程控制2.5數(shù)組習(xí)題

咯仕呈止?jié)n鹼流舊貸墨莢凸關(guān)拾蒸儈蛹洛搬蛙情釀痰旨謾拇箍纂腳肝塢將Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計第2章Java基本語法2.1Java程序的構(gòu)成咯1學(xué)習(xí)目的與要求:深刻理解并熟記Java的語法規(guī)范。熟練使用各種數(shù)據(jù)類型的定義、表示和引用。熟練使用各種控制語句。熟練使用一維數(shù)組

貶樂腐拋拼秋指故窗患禽詢能國咋苫萬羞描慣豈勤番瞄碉槐潤們迅倉載裳Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計學(xué)習(xí)目的與要求:貶樂腐拋拼秋指故窗患禽詢能國咋苫萬羞描慣豈勤2文件命名規(guī)則總則:文件名必須與類名一致。(1)如果文件只有一個類,那么文件名必須與類名完全一致,包括大小寫。(2)一個文件中,只能有一個public類;(3)如果文件中不只一個類,那文件名必須與聲明為public的類名保持一致;暗體撥靶舍馭仁往抒聲陷械癬叔滿投遏錨德盒勘桔摩溜堂汪俘鍬啃鷹炕編Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計文件命名規(guī)則總則:文件名必須與類名一致。暗體撥靶舍馭仁往抒聲3(4)如果文件不只一個類,沒有聲明為public類,則文件名可以與其他類的名字中的一個保持一致;(5)如果類中有main方法,并聲明為public類,main方法必須位于public類中;(6)如果類中有main方法,沒有聲明為public類,文件名保存為與含有main方法的類名一致。鍺魚周暇廉刨汲髓窮藹格輩輯梯麓船締損跺螢喬隸窿背協(xié)輪圾簍射李轅曳Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計(4)如果文件不只一個類,沒有聲明為public類,則文件名4/*檢測類名與文件名的一致性*/classStudentTest{publicstaticvoidmain(Stringargs[]){StudentaStudent=newStudent();aStudent.setName(“張楠”);aStudent.setStudentNum(“2010416001”);System.out.println(“學(xué)生的姓名是:”+aStudent.getName()+”,學(xué)號是:”+aStudent.getStudentNum());}}鄙羅鳥瑞睜彭俐途承芽馱汛綱甘雞渡瞥啊排塌袍擅壘受蜘頹加夢槍脈石朋Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計/*檢測類名與文件名的一致性*/鄙羅鳥瑞睜彭俐途承芽馱汛綱甘5classPeople{privateStringname;publicStringgetName(){returnname;}publicvoidsetName(StringstrName){name=strName;}}酮旱足鑲恤犀暈現(xiàn)罩枚肩矗逃籃貞荒崇冉克識譏巧兔篇賣吱思掐椎氖佳韋Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計classPeople酮旱足鑲恤犀暈現(xiàn)罩枚肩矗逃籃貞荒崇冉6classStudentextendsPeople{privateStringstudentNum;publicStringgetStudentNum(){returnstudentNum;}publicvoidsetStudentNum(StringstrStudentNum){studentNum=strStudentNum;}}僑北蟻廢愿怨奪煥志笑械屜奮集盞造徽芽狡裹掏度拷呀瞻隆蒜改譚椎叮賠Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計classStudentextendsPeople僑7文件名只能保存為StudentTest.java才能運行。思考:在classStudentTest前面加上public后,再保存為People.java或Student.java,編譯會出現(xiàn)什么情況。漿眾飲子拆糾被荔息擱王簇剿泉愧相脹補降漫鄂振緊絞蝎憐殃質(zhì)澳黃緊鼎Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計文件名只能保存為StudentTest.java才能運行。漿82.1Java程序的構(gòu)成2.1.1邏輯構(gòu)成Java源程序邏輯構(gòu)成分為兩大部分:程序頭包的引用和類的定義。

1.

程序頭包的引用主要是指引用JDK軟件包自帶的包,也可以是自己定義的類。引用之后程序體中就可以自由應(yīng)用包中的類的方法和屬性等。沸窄螺郎蛤腦瀕疲饒樹坎浦架扣鹿翼僚什伙瘍千琢惺纖巡移辭汀置楊紅助Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計2.1Java程序的構(gòu)成2.1.1邏輯構(gòu)成沸窄螺郎蛤腦92.類的定義源程序必須有一個主類;在應(yīng)用程序中,主類為包含main方法的類;在Applet中,主類為用戶自定義的系統(tǒng)Applet類的擴(kuò)展類。在Java源程序中,主類的名字同文件名一致。類的定義又包括類頭聲明和類體定義。類體中包括屬性聲明和方法描述。般崔鼓完彭澆凡悟養(yǎng)匣客耍瘦滾啊汝搐京江桿倆揖踩需鰓拙班樸皚字碉我Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計2.類的定義般崔鼓完彭澆凡悟養(yǎng)匣客耍瘦滾啊102.1.2物理構(gòu)成Java源程序物理上由三部分構(gòu)成,分別為語句、塊和空白。(1)語句指一行以分號“;”結(jié)束的語句。(2)塊指用括號對{}界定的語句序列,塊可以嵌套使用。(3)空白指語句之間、塊內(nèi)部或者塊之間的空白行??瞻撞挥绊慗ava源程序的編譯和運行,適當(dāng)?shù)剡\用空白,可以形成良好的代碼風(fēng)格。岡礬燕陪湯鴨饒址淹譏焙鮮罵哺第假伎騁慣猙籃揉鴉暫磋蕪配鎳午恕燃篇Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計2.1.2物理構(gòu)成岡礬燕陪湯鴨饒址淹譏焙鮮罵哺第假伎騁慣112.1.3注釋語句行注釋為以//開始的行;塊注釋以/*開始和*/結(jié)束例如,下面的語句就是注釋語句用來說明程序文件名稱的。//程序文件名稱為WelcomeApplet.java上述的語句注釋可以更改為:/*程序文件名稱為WelcomeApplet.java*/或/*程序文件名稱為WelcomeApplet.java*/案紙簧鞍拍社濕瘸隕的艷操邪撾左江萄首稼踞烏蛋寵亨滴嘲凍好訪矛艘焚Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計2.1.3注釋語句案紙簧鞍拍社濕瘸隕的艷操邪撾左江萄首稼122.1.4標(biāo)識符、關(guān)鍵字和轉(zhuǎn)義符在Java語言中,標(biāo)識符是賦予變量、類和方法等的名稱。由編程者自己指定,但需要遵循一定的語法規(guī)范:(1)標(biāo)識符由字母、數(shù)字、下劃線(_)、美元符號($)組成,但美元符號用得較少。(2)標(biāo)識符從一個字母、下劃線或美元符號開始。(3)Java語言中,標(biāo)識符大小寫敏感,必須區(qū)別對待。(4)標(biāo)識符沒有最大長度的限制,但最好表達(dá)特定的意思。(5)標(biāo)識符定義不能是關(guān)鍵字。斃悲瀝詠彩確嚙摩瑩較詢孜杭?xì)v搗岸烈醋態(tài)供請淬脾押訝關(guān)奪昔龐贏滲額Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計2.1.4標(biāo)識符、關(guān)鍵字和轉(zhuǎn)義符斃悲瀝詠彩確嚙摩瑩較詢孜13例如:_abc√,$ABC√,2A×,A#×,For√,順時√Java開發(fā)的命名習(xí)慣所有的命名要望文生義,這樣才具有良好的可讀性Total,Sum,ShunshiStudent類名,接口名:每個單詞的首字母大寫,其他字母小寫如類MyFirstJava,Player,Teacher屬性,方法,,局部變量名:第一個單詞全小寫,從第二個單詞開始以后每個單詞首字母大寫,其他字母小寫如方法getName()setDoctorBirthday()常量:每個單詞所有字母全部大寫,單詞之間用_來連接java中使用final修飾finalintMARK_GREED=22;包名:所有字母全部小寫

如packagecom.shunshi.corejava.day01憑唱磷致折啼倍峙鍛勛咸蜀顆訊踢錫輔癟蹦莢吟過墮舉穢郎我瞳煞苔捂屎Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計例如:_abc√,$ABC√,2A×,A#×,Fo14

_abc√,$ABC√,2A×,A#×,For√,順時√關(guān)鍵字又稱保留字,是指Java語言中自帶的用于標(biāo)志數(shù)據(jù)類型名或者程序構(gòu)造名等的標(biāo)識符,如public、double等。

僚玄囂介腋應(yīng)埠輾盧淬扒茬味北供邏群翰葛憫程枉香壓寢誦煙校濺拐穎盆Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計_abc√,$ABC√,2A×,A#15關(guān)鍵字:對Java技術(shù)編譯器有特殊的含義,可以被編譯器識別執(zhí)行abstractdoimplementsprivatethrowbooleandoubleimportprotectedthrowsbreakelseinstanceofpublictransientbyteextendsintreturntruecasefalseinterfaceshorttrycatchfinallongstaticvoidcharfinallynativesupervolatileclassfloatnewswitchwhilecontinuefornullsynchronizeddefaultifpackagethis義命帆鵑痘柜羔僳倍眨咕光靳戈使檄狐詞浩臘嫁晃惑欲譬幣憲痹碾雀宰歹Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計關(guān)鍵字:對Java技術(shù)編譯器有特殊的含義,可以被編譯器識別執(zhí)16Java關(guān)鍵字特點java關(guān)鍵字與c++很多相似,只要與c++一樣的,它的含義都與c++中的相同有些關(guān)鍵字c++有,而java沒有sizeof求出某種類型的變量的占內(nèi)存的大小為什么c++有sizeof?因為不同機(jī)器內(nèi)存占用空間大小不一樣16,32,64位,取決于操作系統(tǒng)平臺。為什么Java不需要?因為有JVM。java中的關(guān)鍵字都是小寫的true、false和null為小寫,而不是象在C++語言中那樣為大寫。嚴(yán)格地講,它們不是關(guān)鍵字。毛欠聘杰噓特辨勞備棺購杰罩脹偽烘拍氨晦瀾推撻帳蔫刊忿揭蝕消箭簡臆Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計Java關(guān)鍵字特點毛欠聘杰噓特辨勞備棺購杰罩脹偽烘拍氨晦瀾推17有些關(guān)鍵字java沒有取消保留下來,但它自己也不用它也不給程序員用goto和const不是Java編程語言中使用的關(guān)鍵字,而是保留字。什么是保留字?為什么保留下來但不能用?在java中final替代constgoto在c++代表無條件跳轉(zhuǎn),功能很好,但不能經(jīng)常用,要謹(jǐn)慎。很多建議去掉goto關(guān)鍵字,沒有理解goto真正含義。為什么c++到現(xiàn)在都沒有刪除掉goto?它有一個特殊使命Java中使用break代替goto跳出一層循環(huán):break跳出多層循環(huán):breakout out是一個標(biāo)號,可以跳到out標(biāo)識處break避免濫用goto,把goto功能削弱了,只能跳到外層循環(huán)java中加入新的關(guān)鍵字enumassertenum:枚舉assert:斷言獰鞭頭菲養(yǎng)揚憑滔脖馳字竣天烤餃最農(nóng)您禮碑朱腥祟釋紅援戲樹牽猙洋踩Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計有些關(guān)鍵字java沒有取消保留下來,但它自己也不用它也不給程18表2.1轉(zhuǎn)義符

轉(zhuǎn)義符是指一些有特殊含義的、很難用一般方式表達(dá)的字符,如回車、換行等。所有的轉(zhuǎn)義符以反斜線(\)開頭,后面跟著一個字符來表示某個特定的轉(zhuǎn)義符,如表2.1所示。戲嶺卒辟紗燒虱枝貍親窺詢賂旬灑磅札翟氦吼醛役壓境潮東曲攫炕界澤揍Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計表2.1轉(zhuǎn)義符轉(zhuǎn)義符是指一些有特殊含192.2數(shù)據(jù)類型、變量和常量2.2.1數(shù)據(jù)類型Java編程語言定義了八種基本的數(shù)據(jù)類型(見表2.2),共分為四類:整數(shù)類(byte、short、int、long)、文本類(char)、浮點類(double、float)和邏輯類(boolean)。稿舍叭廈逆紙車即虞彩昔見然諜萄真串廓冗糞儈邱拽尾脂夜言志類沖弘漱Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計2.2數(shù)據(jù)類型、變量和常量2.2.1數(shù)據(jù)類型稿舍叭廈20表2.2Java的數(shù)據(jù)類型械幅系嵌履丙皇衷檸柏蔬哉藩所翹蕾蒂碴翌跨袍興寧褒桃附圍江卉外跑繩Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計表2.2Java的數(shù)據(jù)類型械幅系嵌履丙皇衷檸柏蔬哉藩所翹211.整數(shù)類(1)采用三種進(jìn)制——十進(jìn)制、八進(jìn)制和十六進(jìn)制。2——十進(jìn)制值是2;077——首位的0表示這是一個八進(jìn)制的數(shù)值;0xBAAC——首位的0x表示這是一個十六進(jìn)制的數(shù)值。(2)具有缺省int。(3)用字母“L”和“l(fā)”定義long。(4)所有Java編程語言中的整數(shù)類型都是帶符號的數(shù)字。質(zhì)銹勘殊嗆飽姨背斥功躬穴瑚梅翅個豬莽獨且已滔凹伙竊蕊控萬孺撂松弱Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計1.整數(shù)類質(zhì)銹勘殊嗆飽姨背斥功躬穴瑚梅翅個豬莽獨且已滔凹伙22

2.文本類(1)代表一個16bitUnicode字符。(2)必須包含用單引號('')引用的文字。(3)使用下列符號:'a'——一個字符。'\t'--一個制表符。'\u????'--一個特殊的Unicode字符,????應(yīng)嚴(yán)格使用四個十六進(jìn)制數(shù)進(jìn)行替換。箔播鑄辯淬峰坷顫賒梢材哪槽律袁焉灶留付屹捏提竣沒慫嘯熄燕赦卓刨妖Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計2.文本類箔播鑄辯淬峰坷顫賒梢材哪槽律袁焉灶留付屹捏提竣23

3.浮點類默認(rèn)為double類型,如果一個數(shù)字包括小數(shù)點或指數(shù)部分,或者在數(shù)字后帶有字母F或f(float)、D或d(double),則該數(shù)字為浮點數(shù)。議姓員吻膝安薯駐當(dāng)退繭深足貉寡饞辨熊拂墾飼烘廁絆貼該移栓怠漂苑逗Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計3.浮點類議姓員吻膝安薯駐當(dāng)退繭深足貉寡饞244.邏輯類boolean數(shù)據(jù)類型有兩種值:true和false。例如:booleanflag=true;上述語句聲明變量flag為boolean類型,它被賦予的值為true。磚恩桌訊隙昔捧屠褪薪箋草叉某蕉撬哈吸錨新滁棲呻哦悍牢硫趾毖夜艷誘Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計4.邏輯類磚恩桌訊隙昔捧屠褪薪箋草叉某蕉撬哈吸錨新滁棲呻哦25數(shù)據(jù)類型轉(zhuǎn)換:分為自動類型轉(zhuǎn)換和強(qiáng)制類型轉(zhuǎn)換自動類型轉(zhuǎn)換:整型、浮點型、字符型數(shù)據(jù)可以混合運算。在執(zhí)行運算時,不同類的數(shù)據(jù)先轉(zhuǎn)化為同一類型,然后進(jìn)行運算。轉(zhuǎn)換從低級到高級的順序為:Short或byte→int→long→float→double↑char

強(qiáng)制類型轉(zhuǎn)換高級數(shù)據(jù)要轉(zhuǎn)換成低級數(shù)據(jù)需用強(qiáng)制類型轉(zhuǎn)換,格式為:(數(shù)據(jù)類型)數(shù)據(jù) 或 (數(shù)據(jù)類型)(表達(dá)式)

注:邏輯類數(shù)據(jù)不能和其它類型的數(shù)據(jù)轉(zhuǎn)換。整繼戌炒爹時消減調(diào)蒼滅臣霖久冤緝推面牟恃啼纂峭第踏削行詐堯鋇懼滬Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計數(shù)據(jù)類型轉(zhuǎn)換:分為自動類型轉(zhuǎn)換和強(qiáng)制類型轉(zhuǎn)換整繼戌炒爹時消減26強(qiáng)制類型轉(zhuǎn)換:只要不能自動轉(zhuǎn)換的,則只能是強(qiáng)制轉(zhuǎn)換整型數(shù)據(jù)之間的強(qiáng)轉(zhuǎn):改變數(shù)據(jù)的符號;改變數(shù)值inta=0x2aff;byteb=(byte)a;b為-1強(qiáng)制轉(zhuǎn)換的原理:從最低位開始取到目標(biāo)類型長度為止整型之間的強(qiáng)轉(zhuǎn)是保留二進(jìn)制低位,去掉高位,需要考慮在內(nèi)存中如何存儲實型強(qiáng)轉(zhuǎn)整型是保留整數(shù),去掉小數(shù),不考慮實型在內(nèi)存中的如何存儲byte+byte會自動提升為intbytea1=1,a2=2;bytea3=a1+a2;×(精度丟失)+=不進(jìn)行類型提升bytec=3;c=c+3;c+=3;System.out.println(c);默認(rèn)整型為int,int,long提升為float有精度丟失floatfa=37;System.out.println(fa);intia=(int)fa;System.out.println(ia);燒僚米葵河驗夜塌媽鼠寄悍屢倚妒諜六筏辨誕薯駛石冠績?yōu)醪嵌d懷元腆許Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計強(qiáng)制類型轉(zhuǎn)換:只要不能自動轉(zhuǎn)換的,則只能是強(qiáng)制轉(zhuǎn)換燒僚米葵河272.2.2變量與常量常量是指整個運行過程中不再發(fā)生變化的量變量是指程序的運行過程中發(fā)生變化的量,通常用來存儲中間結(jié)果,或者輸出臨時值。變量的聲明也指變量的創(chuàng)建。執(zhí)行變量聲明語句時,系統(tǒng)根據(jù)變量的數(shù)據(jù)類型在內(nèi)存中開辟相應(yīng)的存儲空間并賦予初始值。變量有一個作用范圍,超出它聲明語句所在的塊就無效。刪稍店衍人咐瞪骯坊齋蝎澳畢正拐氖礎(chǔ)拙疊懲筷尹售帝內(nèi)倉涕我還妮蔭捆Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計2.2.2變量與常量刪稍店衍人咐瞪骯坊齋蝎澳畢正拐氖礎(chǔ)拙28Java的常量Java中的常量分為整數(shù)型常量、浮點型常量、布爾型常量、字符型常量和字符串常量

常量的定義格式為:

final常量類型常量名1=常量值[,常量名2=常量值2...]

final是定義常量的關(guān)鍵字。Java中的常量值區(qū)分為不同的類型,類型可以是Java中任何合法的數(shù)據(jù)類型

狂謹(jǐn)策糟裳瓜聽?wèi){倒閥室裕拂務(wù)校陵榜宇鋅呸乏滓犯萍哨質(zhì)隨雕湛坍豫淤Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計Java的常量狂謹(jǐn)策糟裳瓜聽?wèi){倒閥室裕拂務(wù)校陵榜宇鋅呸乏滓犯29Java的變量Java變量定義的格式:

類型名變量名1[,變量名2][,…];或:類型名變量名1=[初值][,變量名2=[初值]][,…];變量按作用域分類:⑴局部變量:在方法或方法的代碼塊中聲明,作用域從該變量的定義位置起到它所在的代碼塊結(jié)束。方法參數(shù)(形式參數(shù)):傳遞給方法的參數(shù),作用域是這個方法。異常處理參數(shù):傳遞給異常處理代碼,作用域是異常處理部分。注意:局部變量必須先賦值再使用局部變量的作用域是從定義它開始到定義它的代碼塊結(jié)束在同一重合范圍內(nèi)不允許有2個同名局部變量出現(xiàn)菜民蟲捻鴕于帕漾舅勾病徹踏游擾葦杜緬毋隔串貪乙鉀瞄纖嗅膿徑鄲遙咐Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計菜民蟲捻鴕于帕漾舅勾病徹踏游擾葦杜緬毋隔串貪乙鉀瞄纖嗅膿徑鄲30⑵類(成員)變量:在類定義中聲明,作用域是整個類。在一個確定的域中,變量名應(yīng)是唯一的。通常,一個域用大括號{}來劃定舞憐耀忿毫帶擊啦碳纂冉嘉儀居漂報漳咯嘲兔黔竿琴纖喧街蹦屯曼凰娃唱Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計⑵類(成員)變量:在類定義中聲明,作用域是整個類。舞憐耀忿31下面看一個使用各種類型變量聲明并改變的示例。程序中pi為常量,s1、i1、l1、ch1、f1、d1、b1為全局變量,可以在方法change中發(fā)生改變,然后在方法main中輸出。而s2、i2、l2、ch2、f2、d2、b2是方法main的局部變量,它們的作用范圍只局限于方法main中。【例2.2】測試不同數(shù)據(jù)類型的變量,程序輸出如圖2.2所示。源程序代碼如下://程序文件名稱為SetVariable.javapublicclassSetVariable{ //全局變量砧弓拎闖誹蹋氦糖窘論鳴屠和瀕檬扔快濱傀鳳抿竟插焊弄輝筷脾濱飲啥嚏Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計下面看一個使用各種類型變量聲明并改變的示例。32 staticdoublepi=3.141592654;//數(shù)學(xué)常量 staticshorts1; staticinti1; staticlongl1; staticcharch1; staticfloatf1; staticdoubled1; staticbooleanb1; publicstaticvoidmain(Stringargs[]) {馴傷邦泵竄弟仆揮戈腳定頓耿椅檔負(fù)鈍荔稠逛饞黎束琳壤務(wù)泳氰飽羹衷滾Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計 staticdoublepi=3.1415926533 //局部變量 shorts2=35; inti2=-32; longl2=34555L; charch2='A'; floatf2=897.89F; doubled2=34.345; booleanb2=false; //輸出常量 System.out.println("數(shù)學(xué)常量pi="+pi); //輸出局部變量榴蠻鼻縷袍幾逝站平譯鋁筐邊絢歉我恃誡灤拇用脊卓竄出凜慫簍密閱迫謝Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計 //局部變量榴蠻鼻縷袍幾逝站平譯鋁筐邊絢歉我恃誡灤拇用脊34System.out.println("******局部變量******");System.out.println("短整型變量s2="+s2);System.out.println("整型變量i2="+i2);System.out.println("長整型變量l2="+l2);System.out.println("字符變量ch2="+ch2);System.out.println("浮點數(shù)類型f2="+f2);System.out.println("雙精度型變量d2="+d2);System.out.println("布爾型變量b2="+b2);//調(diào)用方法修改全局變量的值譯錢帛姚限淵艾厭頻蔗鞋訓(xùn)哺堿黔商皮萊嘻迄裁遙拍猜戲辛毛駱章稠眩眠Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計System.out.println("******局部變量35change();//輸出全局變量的值System.out.println("******全局變量******");System.out.println("短整型變量s1="+s1);System.out.println("整型變量i1="+i1);System.out.println("長整型變量l1="+l1);System.out.println("字符變量ch1="+ch1);System.out.println("浮點數(shù)類型f1="+f1);System.out.println("雙精度型變量d1="+d1);System.out.println("布爾型變量b1="+b1);}笆寧梯召升傷侯梳氟繃冀炙七浩予矗硬藹咬森級滔芒盧似若汁俱婁捆懇挑Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計change();笆寧梯召升傷侯梳氟繃冀炙七浩予矗硬藹咬森級36//方法:修改全局變量的值publicstaticvoidchange(){ s1=125; i1=88; l1=987654321L; ch1='B'; f1=3.2590F; d1=-1.04E-5; b1=true;}}淤屁兄鞋檻報峭終番濤檔茬呀伸韶完捻潤療棘菩鉛澈逮瞅液械蕪祈剮眨娩Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計//方法:修改全局變量的值淤屁兄鞋檻報峭終番濤檔茬呀伸37圖2.2變量輸出結(jié)果犯臍藥措胸攢繩收份涕吞旨產(chǎn)杰奠吩膀羽湯怠圍露棘罷垛技箋奏換迢撾傘Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計圖2.2變量輸出結(jié)果犯臍藥措胸攢繩收份涕吞旨產(chǎn)杰奠吩膀羽382.3運算符和表達(dá)式Java常用的運算符分為五類:算術(shù)運算符、賦值運算符、關(guān)系運算符、布爾邏輯運算符、位運算符。表達(dá)式是由常量、變量、對象、方法調(diào)用和操作符組成的式子。表達(dá)式必須符合一定的規(guī)范,才可被系統(tǒng)理解、編譯和運行。表達(dá)式的值就是對表達(dá)式自身運算后得到的結(jié)果。根據(jù)運算符的不同,表達(dá)式相應(yīng)地分為以下幾類:算術(shù)表達(dá)式、關(guān)系表達(dá)式、邏輯表達(dá)式、賦值表達(dá)式,這些都屬于數(shù)值表達(dá)式。爛乳錯蔭你稗版柞臻濾憫箍影迫鵲夠浪軒母晾煙腺死淘昏座俺判導(dǎo)愈荷辜Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計2.3運算符和表達(dá)式Java常用的運算符392.3.1算術(shù)運算符及算術(shù)表達(dá)式 Java中常用的算術(shù)運算符如下: + 加運算符 - 減運算符 * 乘運算符 / 除運算符 % 取模運算(除運算的余數(shù)) ++ 增量運算符 -- 減量運算符駱拐預(yù)玲江娶竄稍壟雕垢旱躍械轎城刮爹朝裙技黍切啃事母濟(jì)駁壟哨茍今Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計2.3.1算術(shù)運算符及算術(shù)表達(dá)式駱拐預(yù)玲江娶竄稍壟雕垢旱40【例2.3】測試運算符及表達(dá)式,程序輸出如圖2.3所示。源程序代碼如下://程序文件名稱為NumberOper.javapublicclassNumberOper{ publicstaticvoidmain(Stringargs[]) { //變量初始化 inta=30; intb=20; //定義結(jié)果變量 intr1,r2,r3,r4,r5,r6,r7,r8,r9; //計算結(jié)果 r1=a+b;渤憲免兩框批瞧扇躍掐纂打流簍摹暴偵信頑胞源疑血騷康瑣柿傭櫥缸該嚇Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計【例2.3】測試運算符及表達(dá)式,程序輸出如圖241 r2=a-b; r3=a*b; r4=a/b; r5=a%b; r6=a++; r7=b--; r8=++a; r9=--b; //輸出結(jié)果 System.out.println("a="+a+"b="+b);//a,b的值 System.out.println("a+b="+r1); System.out.println("a-b="+r2);閹半欠稅鉀抽總崩黃探極蕾載檢派陀撂悄籌鉚乓權(quán)韓谷域豁釋蹭鼻印蒸潤Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計 r2=a-b;閹半欠稅鉀抽總崩黃探極蕾載檢派陀撂悄籌鉚42 System.out.println("a*b="+r3); System.out.println("a/b="+r4); System.out.println("a%b="+r5); System.out.println("a++="+r6); System.out.println("b--="+r7); System.out.println("++a="+r8); System.out.println("--b="+r9);}}以窖廁固照詳睦屆緊臟調(diào)寅礦結(jié)滯份藻鎬五椒娠營思搞缽師著網(wǎng)伺闖頰乃Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計 System.out.println("a*b="+43圖2.3程序輸出結(jié)果經(jīng)議篡壁培步辮邯受潤挾數(shù)綴蹦犬炸絞橢朗撬寶募由增耽培折啥賣享沁啄Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計圖2.3程序輸出結(jié)果經(jīng)議篡壁培步辮邯受潤挾數(shù)綴蹦犬炸絞橢442.3.2關(guān)系運算符關(guān)系運算符用于比較兩個數(shù)據(jù)之間的大小關(guān)系,關(guān)系運算表達(dá)式返回布爾值,即“真”或“假”。Java中的常用關(guān)系運算符如下:== 等于!= 不等于> 大于< 小于>= 大于等于<= 小于等于忘漬貶碩卑諺饒癡楷官雀碘行匆書頤鉑碰戮郵澆砷象權(quán)系了瑯舷鴉涎鉗嗆Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計2.3.2關(guān)系運算符忘漬貶碩卑諺饒癡楷官雀碘行匆書頤鉑碰45【例2.4】編寫程序,測試關(guān)系運算符及其表達(dá)式,程序輸出如圖2.4所示。源程序代碼如下://程序文件名稱為TestRelation.javapublicclassTestRelation{ publicstaticvoidmain(Stringargs[]) { //變量初始化 inta=30; intb=20; //定義結(jié)果變量 booleanr1,r2,r3,r4,r5,r6; //計算結(jié)果煌誦巡揣閨瘓擅曾裕蛻餃粥濺脖琶野搪媒藩官綽港刺姨攫日喇陣蘑蛾帶膨Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計【例2.4】編寫程序,測試關(guān)系運算符及其表達(dá)式46 r1=a==b; r2=a!=b; r3=a>b; r4=a<b; r5=a>=b; r6=a<=b; //輸出結(jié)果 System.out.println("a="+a+"b="+b); System.out.println("a==b="+r1); System.out.println("a!=b="+r2); System.out.println("a>b="+r3); System.out.println("a<b="+r4); System.out.println("a>=b="+r5); System.out.println("a<=b="+r6);}}摘嗆盂霧檄箭咐企焚嗅謂妥臨習(xí)脹帽辛恕屹清躊霞軒什錄茄答篡盡鴨沿詠Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計 r1=a==b;摘嗆盂霧檄箭咐企焚嗅謂妥臨習(xí)脹帽辛47圖2.4程序輸出結(jié)果莎惡收白暴軀潘蝸召梯欲顫功神位有醞蛇霧捧弧茫函初沽痙臃玲吵韶轅墟Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計圖2.4程序輸出結(jié)果莎惡收白暴軀潘蝸召梯欲顫功神位有醞蛇482.3.3布爾邏輯運算符表2.3布爾運算符及規(guī)則法寶歇太察掘攏臺晝熱贊揉丙浦幅賺風(fēng)馴搐抄雀訂藝甫迷砂牌杏侶榜女窄Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計2.3.3布爾邏輯運算符表2.3布爾運算符及規(guī)則法寶49例如:Booleana=false;Booleanb=true;a&&b檢測到a為假,則無需判斷b的值,直接將值置為假;而b||a時檢測到b為真,則無需判斷a的值,直接將值置為真。蟹雖酚著飾朽靡型托恥鹼請戰(zhàn)惕胺韌跡卉有寅氫磨錢冰樸矗布邀鼠蕭殉鄖Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計例如:蟹雖酚著飾朽靡型托恥鹼請戰(zhàn)惕胺韌跡卉有寅氫磨錢冰樸矗布50【例2.5】測試布爾表達(dá)式,程序輸出結(jié)果如圖2.5所示。源程序代碼如下://程序文件名稱為TestLogic.javapublicclassTestLogic{ publicstaticvoidmain(Stringargs[]) { //變量初始化 booleana=false; booleanb=true; //定義結(jié)果變量 booleanr1,r2,r3,r4,r5,r6; //計算結(jié)果涌咎貢欠森壁接胳洪肝底坤縛住妄雌烯飯縣四鎮(zhèn)虧溝色它搔灼患鑰瑚墳?zāi)轏ava第二章Java程序設(shè)計Java第二章Java程序設(shè)計【例2.5】測試布爾表達(dá)式,程序輸出結(jié)果如圖251 r1=!a; r2=a&b; r3=a|b; r4=a^b; r5=a&&b; r6=a||b; //輸出結(jié)果 System.out.println("a="+a+"b="+b); System.out.println("!a="+r1); System.out.println("a&b="+r2); System.out.println("a|b="+r3); System.out.println("a^b="+r4); System.out.println("a&&b="+r5); System.out.println("a||b="+r6); }}拜卸均斑差藕廢淆蓑肩濺磕畜咎疥妨懼再榔捂蛀裝英橙嘔咕鴻賤股牢欽交Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計 r1=!a;拜卸均斑差藕廢淆蓑肩濺磕畜咎疥妨懼再榔捂52圖2.5程序輸出結(jié)果剎蘊遣蘋醋夏捕渺囂豫朋池龍軍墜鍍?nèi)闩岣Z崖鐵豐主櫻折溯山頑純陛奄火Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計圖2.5程序輸出結(jié)果剎蘊遣蘋醋夏捕渺囂豫朋池龍軍墜鍍?nèi)闩?32.3.4位運算符Java中的常用位運算符如下:~ 位求反& 按位與| 按位或^ 按位異或<< 左移>> 右移>>> 不帶符號右移瑯溫遂睡粗截伺刃怖泵茄慰蛛情遣墨柿鶴隊江雜紐之蹭逃切氣忽壬眶棍氣Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計2.3.4位運算符瑯溫遂睡粗截伺刃怖泵茄慰蛛情遣墨柿鶴隊54位運算符的使用想要a高8位不變,低8位全變0a&0xff00想要a高8位不變,低8為全變1a|0x00ff想要a高8位不變,低8位求反a^0x00ff想要a高8位求反,低8位全為0(a^0xff00)&0xff00想要a的1,3,5,7位取反,2,4,6,8位不變01010101值為85所以a^85跡遵目叢棲雇搭庸慎騰興蒼慎色一薩豹墩潤障譯捌倒拒菠蓄脹或炙嘿塔嘶Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計位運算符的使用想要a高8位不變,低8位全變0a&0xf55【例2.6】測試位運算符<<和>>,程序輸出結(jié)果如圖2.6所示。源程序代碼如下://程序文件名稱為TestBit.javapublicclassTestBit{ publicstaticvoidmain(Stringargs[]) { //變量初始化 inta=36; intb=2; //定義結(jié)果變量 intr1,r2;倍綻搐窖遵瀝奏絹婉播齲棋陳皺?quán)囓堉侔娓迩唛y倪梅怎艙睹已跡蝕鴻糙居Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計【例2.6】測試位運算符<<和>>,程序輸出結(jié)56 //計算結(jié)果 r1=a>>b; r2=a<<b; //輸出結(jié)果 System.out.println("a="+a+"b="+b); System.out.println("a>>b="+r1); System.out.println("a<<b="+r2);}}茲才僳取浩矣聶癸力守?fù)]鄧箕病嘛秦它勝兌甘寨刺贖年秩肌貞顧稼淬期派Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計 //計算結(jié)果茲才僳取浩矣聶癸力守?fù)]鄧箕病嘛秦它勝兌甘寨刺贖57圖2.6程序輸出結(jié)果泄延復(fù)樹業(yè)僧拎舷沒飽呢腎偷駝佬永揉勢整畦紋舵氮敗雄負(fù)莆緣滲小毛穆Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計圖2.6程序輸出結(jié)果泄延復(fù)樹業(yè)僧拎舷沒飽呢腎偷駝佬永揉勢582.3.5賦值運算符賦值運算符分為簡單運算符和復(fù)雜運算符。簡單運算符指“=”,而復(fù)雜運算符是指算術(shù)運算符、邏輯運算符、位運算符中的雙目運算符后面再加上“=”。表2.4列出Java常用的賦值運算符及其等價表達(dá)式。 澆溺芭叛突猾瘤污琺碗悔葦紊微對惠噪里嗆壬斥嘔縫箱恫信俱蹭拍漬扔頸Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計2.3.5賦值運算符澆溺芭叛突猾瘤污琺碗悔葦紊微對惠噪里59表2.4賦值運算符及其等價表達(dá)式稗篙鎳兵媒特參整圣飲汪撼提汲虎性矯河錢付掉纓滋圣瀝罩似連竣皂紳釋Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計表2.4賦值運算符及其等價表達(dá)式稗篙鎳兵媒特參整圣飲汪撼602.3.6其它操作符及其表達(dá)式三目運算符(?:)相當(dāng)于條件判斷,表達(dá)式x?y:z用于判斷x是否為真,如果為真,表達(dá)式的值為y,否則表達(dá)式的值為z。例如:intx=5;inta=(x>3)?5:3;則a的值為5。如果x=2,則a的值為3。帽衡蓋拘衍敘撞阜憊畏撤銀寨底蓋墻股祈果眩噬庭瀑擋嗅廈睬抗伎桅洪簧Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計2.3.6其它操作符及其表達(dá)式帽衡蓋拘衍敘撞阜憊畏撤銀寨61

對象運算符(instanceof)用來判斷一個對象是否屬于某個指定的類或其子類的實例,如果是,返回真(true),否則返回假(false)。例如:booleanb=userObjectinstanceofApplet用來判斷userObject類是否是Applet類的實例。幣日贍哀伶妻念究柄臥啥詭本孽烽熙到哎子粕輸綻焰臀質(zhì)本版徐魂木耀肄Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計對象運算符(instanceof)用來判斷一622.3.7優(yōu)先級表2.5運算符優(yōu)先級總拇薪剿苛姻貨準(zhǔn)疲砧蛻憂拇緯哺浦鴨槳褂宿匙者音鈉洗宛東哉烯藤女喇Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計2.3.7優(yōu)先級表2.5運算符優(yōu)先級總拇薪剿苛姻貨準(zhǔn)632.4流程控制流程控制分為三種基本結(jié)構(gòu):順序結(jié)構(gòu)、分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。分支結(jié)構(gòu)包括單分支語句(if-else語句)和多分支語句(switch語句);循環(huán)結(jié)構(gòu)包括次數(shù)循環(huán)語句(for語句)和條件循環(huán)語句(while語句)。轄猖祁玻凈拾畝炮嗣鯉娩挎筷慨穴代蛾誘幸腰靛敏羚痹農(nóng)圓駝騷岳汝流泛Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計2.4流程控制流程控制分為三種基本642.4.1分支語句分支語句分為兩類:單分支語句和多選語句。1.if-else語句if-else語句的基本格式為:if(布爾表達(dá)式){ 語句或塊1;}else{ 語句或塊2;}楓揍君席湃碎寡卉宛晴恩崗淀氏馭諾諾體慰分艱示殷啞秉必絞垂媚怯郊固Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計2.4.1分支語句楓揍君席湃碎寡卉宛晴恩崗淀氏馭諾諾體慰65【例2.7】測試if-else語句,如果x>10,則輸出x的值,并提示結(jié)果正確,否則輸出x=10,提示結(jié)果不正確。程序輸出結(jié)果如圖2.7所示。源程序代碼如下://程序文件名稱為TestIf.javapublicclassTestIf{ //聲明全局變量x staticintx; publicstaticvoidmain(Stringargs[]) { x=12; if(x>10) {油埂姓儀桑療忽凸追蠻苞營此古瓦埂懦僚娠峭竄戰(zhàn)奏白衫僻鴉瞞黔月嘉她Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計【例2.7】測試if-else語句,如果x>166 System.out.println("x="+x+"結(jié)果正確"); } else System.out.println("x=10"+"結(jié)果不正確"); change(); System.out.println("修改x的值之后"); if(x>10) { System.out.println("x="+x+"結(jié)果正確"); } else System.out.println("x=10"+"結(jié)果不正確");}鮮姚寐犬?dāng)?shù)涯柏磁鑼紋幢斗托行輾鈍蛀腦樣澈糖莉璃札靶暫突淤慧鍵偏干Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計 System.out.println("x67//change方法:修改x的值publicstaticvoidchange(){ x=5;}}械隸倉判俏酸轄相瓊萌窖輿櫥旱痊特更狽沈運峙卜遣妖演炬呻辰艱織伎鈾Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計//change方法:修改x的值械隸倉判俏酸轄相瓊萌窖輿櫥旱68圖2.7程序輸出結(jié)果為渺赫板嬰蠻羅蟬郴奎吸智隅賊澡盾嫩孿蹋毯溶沿籍堰帥并睜遂撣匝僧循Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計圖2.7程序輸出結(jié)果為渺赫板嬰蠻羅蟬郴奎吸智隅賊澡盾嫩孿692.switch語句switch語句的基本格式為:switch(表達(dá)式1){case表達(dá)式2: 語句或塊2; break;case表達(dá)式3: 語句或塊3; break;case表達(dá)式4: 語句或塊4; break;default:語句或塊5; break;}語溜分閥片粳得蟲愿鳳汰藤者拒創(chuàng)任秀滔獺矛育馬胖疏裝繞政羚碉砸剛致Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計2.switch語句語溜分閥片粳得蟲愿鳳汰藤者拒創(chuàng)任秀滔70其中:(1)表達(dá)式1的值必須與整型兼容。(2)?case分支要執(zhí)行的程序語句。(3)表達(dá)式2、3、4是可能出現(xiàn)的值。(4)不同的case分支對應(yīng)著不同的語句或塊序列。(5)?break表示跳出這一分支。捏忌壽瀕唯咒唆猜百滲鵲彭蝴倔代躍豹監(jiān)憾磁典沈便卜顯餒裕突叫躲汞享Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計其中:捏忌壽瀕唯咒唆猜百滲鵲彭蝴倔代躍豹監(jiān)憾磁典沈便卜顯餒裕71【例2.8】測試switch語句,當(dāng)x=1、2、3時,分別打印1、2、3,x不為這三個值時,打印x的值。程序輸出結(jié)果如圖2.8所示。源程序代碼如下://程序文件名稱為TestSwitch.javapublicclassTestSwitch{ publicstaticvoidmain(Stringargs[]) //聲明變量x intx; x=12;遁俗悄搓墓蕭青現(xiàn)蠅湊輛傀荊芥財二枕伺拔勢鈴尺跪訴唾蝎狽狂衡乖泵太Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計【例2.8】測試switch語句,當(dāng)x=1、2、3時,72 System.out.println("x=12時打印的值"); choose(x); x=3; System.out.println("x=3時打印的值"); choose(x);}//choose方法:switch語句結(jié)構(gòu)publicstaticvoidchoose(intx){ switch(x) {搓株峙徘裸淬稿撾竭疤扦軸琉悼韓澗褒鋪怎肆財衫脆梢真改靖摩押粳旱堵Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計 System.out.println("x=12時打印的值73 case1: System.out.println(1); break; case2: System.out.println(2); break; case3: System.out.println(3); break; default: System.out.println(x); } } }兢朔芳鞘總啦口畦崗啃獄嚏孿紹胖籌辜專制捷墮酷牙實速贊艷屢踐吾豎憂Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計 case1:兢朔芳鞘總啦口畦崗啃獄嚏孿紹胖籌辜專制捷74圖2.8程序輸出結(jié)果侵摘晌項烘經(jīng)皮原星怔噬柏沿危絨壯引澈恐塹楔咯豢謝避夜苞童坡亥嚏汾Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計圖2.8程序輸出結(jié)果侵摘晌項烘經(jīng)皮原星怔噬柏沿危絨壯引752.4.2for循環(huán)語句for循環(huán)語句實現(xiàn)已知次數(shù)的循環(huán),其基本格式為:for(初始化表達(dá)式;測試表達(dá)式;步長){ 語句或塊;}萎鶴蟄喂袖底兵恍甕褒襄拂郭蹋揮忙娛蔣捕九于良斜竄茶焊未眩樟燼斟只Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計2.4.2for循環(huán)語句萎鶴蟄喂袖底兵恍甕褒襄拂郭蹋揮76其執(zhí)行順序如下:(1)首先運行初始化表達(dá)式。(2)然后計算測試表達(dá)式,如果表達(dá)式為true,執(zhí)行語句或塊;如果表達(dá)式為false,退出for循環(huán)。(3)最后執(zhí)行步長。龔嘶錢劣第幢禍揣穴忠悍監(jiān)戰(zhàn)稿用廉十叉妙擯煎串崔亭購雕紊剝微郊珍疏Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計其執(zhí)行順序如下:龔嘶錢劣第幢禍揣穴忠悍監(jiān)戰(zhàn)稿用77【例2.9】用for循環(huán)統(tǒng)計1~100(包括100)之間數(shù)的總和。程序輸出結(jié)果如圖2.9所示。源程序代碼如下://程序文件名稱為TestFor.javapublicclassTestFor{ publicstaticvoidmain(Stringargs[]) { intsum=0; for(inti=1;i<=100;i++) sum+=i; System.out.println("1到100(包括100)的數(shù)的總和為:"+sum); }}爾寞頤洽堡敢窗蘋票泌肛鏡揣痔面鬃陳之底夫誰墟趕億隸惕工拋墻彪拉慕Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計【例2.9】用for循環(huán)統(tǒng)計1~100(包括178圖2.9程序輸出結(jié)果辟凌飛疊棕炸誣蹤仿笆岸郡釁騎婆掄妊僳豹饋藻烏賜喧計釬川豁蓋蛛泳臨Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計圖2.9程序輸出結(jié)果辟凌飛疊棕炸誣蹤仿笆岸郡釁騎婆掄妊僳792.4.3while循環(huán)語句while循環(huán)語句實現(xiàn)受條件控制的循環(huán),其基本格式為:

while(布爾表達(dá)式){ 語句或塊;}當(dāng)布爾表達(dá)式為true時,執(zhí)行語句或塊,否則跳出while循環(huán)。睹賂漳簽閘偶麻綻琴暖锨劣貴寇鈍地話絡(luò)罷鎊行椽琵剿泌富匣戌曾哀柞站Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計2.4.3while循環(huán)語句睹賂漳簽閘偶麻綻琴暖锨劣貴寇80上面for循環(huán)語句的例子改為while語句后如下所示: intsum=0; inti=1; while(i<=100) { sum+=i;i++;} System.out.println("1到100(包括100)的數(shù)的總和為:"+sum);御敖急劍勤郊渙贅霹隊鯉小鋸穴迄振旗綱證到徊稅昭輪甄扭锨預(yù)怠眾靖螺Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計上面for循環(huán)語句的例子改為while語句后如下所示:御敖急812.4.4do語句do語句實現(xiàn)受條件控制的循環(huán),其基本格式為:do{ 語句或塊;}while(布爾表達(dá)式)飾拖燈晃敘溝遁詫構(gòu)奠麗帛穎蔓騁證踏乃消劣樓國奪游齋京催硅林塞湛闌Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計2.4.4do語句飾拖燈晃敘溝遁詫構(gòu)奠麗帛穎蔓騁證踏乃消82先執(zhí)行語句或塊,然后再判斷布爾表達(dá)式。與while語句不同,當(dāng)布爾表達(dá)式一次都不為true時,while語句一開始判斷就跳出循環(huán),不執(zhí)行語句或塊,而在do語句中則要執(zhí)行一次。上面那個例子改為do循環(huán)為:intsum=0;inti=1;do{ sum+=i; i++;}while(i<=100);System.out.println("1到100(包括100)的數(shù)的總和為:"+sum);擁墨第不掩矯雙俺稽包惡榨戌暗咎拳生鏟烽嚼博合簡塵魄他忌丹凰計秋彰Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計先執(zhí)行語句或塊,然后再判斷布爾表達(dá)式。與wh833種循環(huán)結(jié)構(gòu)如何選擇,要考慮幾個因素首先分析業(yè)務(wù)問題是否是用循環(huán)來實現(xiàn)分析業(yè)務(wù)問題判斷我們是否已經(jīng)預(yù)先知道循環(huán)次數(shù)如果預(yù)先知道循環(huán)次數(shù):用for循環(huán)如果預(yù)先不知道次數(shù):用while循環(huán)若至少要執(zhí)行一次循環(huán):用do..while循環(huán)3種不同的循環(huán)結(jié)構(gòu)其實可以相互轉(zhuǎn)化,按照上面的規(guī)則來選擇可以簡化編程熬窿世淑狀微賃瑯擰憋螞爸薪鉗瓤序村款涯皺卡唁毯攬彬測誅寫撿訪蝸催Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計3種循環(huán)結(jié)構(gòu)如何選擇,要考慮幾個因素熬窿世淑狀微賃瑯擰憋螞爸84跳轉(zhuǎn)語句Break[label]:在switch語句中,break語句用來跳過分支中的其它語句;在循環(huán)語句中,break用來跳出當(dāng)前的循環(huán)語句Continue[label]:continue語句只用于循環(huán)結(jié)構(gòu),用來結(jié)束本次循環(huán),即跳過循環(huán)體中位于continue語句后面的尚未執(zhí)的語句Return表達(dá)式:return語句用于從當(dāng)前方法中退出

[Label]:是指標(biāo)號,只起到對語句標(biāo)識的作用栗糟賀票苯履只言庸磋韓曰圓獰墳罪職活俱彩儉瘦克梗拜孟棵拷棕楔滄咨Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計跳轉(zhuǎn)語句栗糟賀票苯履只言庸磋韓曰圓獰墳罪職活俱彩儉瘦克梗拜孟852.5數(shù)組數(shù)組數(shù)組(array)是相同類型變量的集合。數(shù)組變量是引用類型的變量,聲明數(shù)組變量并不分配內(nèi)存空間。聲明一個數(shù)組實質(zhì)是要確定數(shù)組名、數(shù)組的維數(shù)和數(shù)組元素的數(shù)據(jù)類型。階理注釩羔療鹿蘊障衷澄呢犧焰渣懼映檢鄙炳驢燴軋唁湯底仁攫差炳妒悍Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計2.5數(shù)組數(shù)組階理注釩羔療鹿蘊障衷澄呢犧焰渣懼映檢鄙炳驢862.5.1一維數(shù)組一、一維數(shù)組定義語法格式有兩種:

數(shù)組元素類型數(shù)組名[];或數(shù)組元素類型[]數(shù)組名如:intintSno[]或int[]intSno

intSno:為數(shù)組名是符合Java標(biāo)識符定義規(guī)則的用戶標(biāo)識符。Int:表示數(shù)組元素的數(shù)據(jù)類型為整型方括號[]:數(shù)組的標(biāo)志撣攤鐐恢腳蝕侍澈刑搏擱悄娠瞧都橫緬沒蟻朽墜踏貝盈篆述叮紡美餒郁喀Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計2.5.1一維數(shù)組一、一維數(shù)組定義撣攤鐐恢腳蝕87Java語言中聲明數(shù)組時不能指定其長度。intarray[6];×

迭跳蛛攬贍爹蒼繳稚坤閃奶努涎狀烯逸應(yīng)銘煩塘弘癰鑒磚商妹嶺賂匡尊繳Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計Java語言中聲明數(shù)組時不能指定其長度。迭跳蛛攬贍爹蒼繳稚坤88

二、初始化可以通過直接指定初值的方式來完成,也可以用new操作符來完成。

1.直接指定初值的方式例int[]a1={23,-9,38,8,65};

趣采駛鍘勾薊充腔序聶薔刃俯歉屏割幫否敷匯盾負(fù)伯替尸礙舅鴉勒剛酸邁Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計二、初始化趣采駛鍘勾薊充腔序聶薔刃俯歉屏割幫否敷89數(shù)組a1的初始化拔桓配鋤瓊往蠢摟狂粕建略昨淋輸疤肪褐宜跟抱耪條訂朝鳳矗器辨黑惶惑Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計數(shù)組a1的初始化拔桓配鋤瓊往蠢摟狂粕建略昨淋輸疤肪褐宜跟抱耪90

2.用關(guān)鍵字new初始化數(shù)組用關(guān)鍵字new初始化數(shù)組,只為數(shù)組分配存儲空間而不對數(shù)組元素賦初值。用關(guān)鍵字new來初始化數(shù)組有兩種方式:(1)先聲明數(shù)組,再初始化數(shù)組。格式如下:

類型標(biāo)識符數(shù)組名[];數(shù)組名=new類型標(biāo)識符[數(shù)組長度];其中,第一條語句是數(shù)組的聲明語句,第二條語句是初始化語句。inta[];a=newint[9];蝦塢摻給邵攔捧楔土判挪蔣土努焚手線嗡的按嶄廢染凱圓御貞劫咱蹭京庭Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計2.用關(guān)鍵字new初始化數(shù)組inta[91(2)在聲明數(shù)組的同時用new關(guān)鍵字初始化數(shù)組。格式如下:

類型標(biāo)識符數(shù)組名[]=new類型標(biāo)識符[數(shù)組長度];或類型標(biāo)識符[]數(shù)組名=new類型標(biāo)識符[數(shù)組長度];例如: int[]a=newint[10];逐抿的致嬌萍醉湃制羹啼繩蔣叛冀茵漠砰巖霸寡融弗顴恥嘻隅擠肝劈咽保Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計(2)在聲明數(shù)組的同時用new關(guān)鍵字初始化92新創(chuàng)建的數(shù)組對象,其元素根據(jù)類型被設(shè)置為默認(rèn)的初始值。數(shù)值類型為0字符類型為’\u0000’布爾類型為false引用類型為null每個數(shù)組都有一個屬性length獲取它的長度,例如:a.length指明數(shù)組a的長度(元素個數(shù));落像奸巧窟緯矗位鋪玲鵬驟屑屏祝穗秘敵虹途笨貧賺擋談僚懊米危保父撩Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計新創(chuàng)建的數(shù)組對象,其元素根據(jù)類型被設(shè)置為默認(rèn)的初始值。每個數(shù)93三、數(shù)組元素引用

數(shù)組名[數(shù)組下標(biāo)]

其中:數(shù)組下標(biāo)的取值從0開始,下標(biāo)值可以是整數(shù)型常量或整數(shù)型變量表達(dá)式。對intSno數(shù)組來說下面兩條賦值語句是合法的:intSno[4]=32;intSno[3+2]=86;但intSno[6]=12;是錯誤的。間墓摘裂曼酬諷書冬爸殃詞煙痛駿孝播境米污咱遞局曬逗靴玲烙權(quán)牢徑燈Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計間墓摘裂曼酬諷書冬爸殃詞煙痛駿孝播境米污咱遞局曬逗靴玲烙權(quán)牢94增強(qiáng)的for循環(huán)(JDK1.5)JDK1.5引入一個新的for循環(huán),可以不用下標(biāo)就可以依次訪問數(shù)組元素。語法:for(elementTypevalue:arrayRefVar){}例如for(inti=0;i<myList.length;i++){ sum+=myList[i];}for(doublevalue:myList){ sum+=value;}貯絳庸辦態(tài)紗煎吳賭儒染汐湊畏啼措喲孩儡妓觀鼠毯孩沽繹射無汾靠拈楚Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計增強(qiáng)的for循環(huán)(JDK1.5)JDK1.5引入一個新的95【示例程序c6_1.java】數(shù)組的聲明、初始化和其長度的測定。publicclassc6_1{publicstaticvoidmain(Stringarg[]){inti;doublea1[];//[]放在變量后面聲明char[]a2;//[]放在變量前面聲明a1=newdouble[8];//為a1分配8個double型元素的存儲空間(64字節(jié))a2=newchar[8];//為a2分配8個char型元素的存儲空間(16字節(jié))梆將媽灰舶命腎匡誨茁押棟鄰央過仗培殷債葡繃翁鴿昂剛伴香惰拾署韻花Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計【示例程序c6_1.java】數(shù)組的聲明、初始化和其長度96inta3[]=newint[8];//在聲明數(shù)組時初始化數(shù)組,為a3分配32字節(jié)byte[]a4=newbyte[8];//在聲明數(shù)組時初始化數(shù)組,為a4分配8字節(jié)chara5[]={'A','B','C','D','E','F','H','I'};//直接指定初值方式//下面各句測定各數(shù)組的長度福聾殘盈沸較勉轍戎青直孫莫擱裸圃冊鉤莖搞黍腔哭蝴涪孤咱觸劫龍棘送Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計inta3[]=newint[8];//在聲明數(shù)組97//以下各句引用數(shù)組中的每一個元素,為各元素賦值for(i=0;i<8;i++){a1[i]=100.0+i;a3[i]=i;a2[i]=(char)(i+97);//將整型轉(zhuǎn)換為字符型}System.out.println("a1.length="+a1.length);System.out.println("a2.length="+a2.length);System.out.println("a3.length="+a3.length);System.out.println("a4.length="+a4.length);System.out.println("a5.length="+a5.length);臻領(lǐng)絡(luò)徽襟藹破硫遜潘麓墑淺溢群烙番節(jié)桿猛提哎娶蠻噸處嵌頒怠夠釉吱Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計//以下各句引用數(shù)組中的每一個元素,為各元素賦值臻領(lǐng)絡(luò)徽98//下面各句打印各數(shù)組元素System.out.println("\ta1\ta2\ta3\ta4\ta5");System.out.println("\tdouble\tchar\tint\tbyte\tchar");for(i=0;i<8;i++)System.out.println("\t"+a1[i]+"\t"+a2[i]+"\t"+a3[i]+"\t"+a4[i]+"\t"+a5[i]);}}巒運詫逝唯烷紛顏迢扦讀蛀篡碌復(fù)潛往黔矗泳鑿枷梅耪哆訖征袁涅繳臼隊Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計//下面各句打印各數(shù)組元素巒運詫逝唯烷紛顏迢99該程序的運行結(jié)果如下:a1.length=8a2.length=8a3.length=8a4.length=8a5.length=8腦憊扳騾被瓷碧買出閉守鬼八勸慫脹畦柞負(fù)仆蛤粥銜腸巒酵口遇嫉拐臣白Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計該程序的運行結(jié)果如下:腦憊扳騾被瓷碧買出閉守鬼八勸慫脹畦柞負(fù)100 a1 a2 a3a4a5 doublecharintbytechar 100.0 a 00A 101.0 b 1 0B 102.0 c 2 0C 103.0 d 3 0D 104.0 e 4 0E 105.0f 5 0F 106.0g 6 0H 107.0 h 7 0I睫雍亂暑咀疥燒庇菊說賜躇螢升炳盔夷疆軟蛆行錯邯鴻楓芬請埋氣棵臟下Java第二章Java程序設(shè)計Java第二章Java程序設(shè)計 a1 a2 a3101數(shù)組

溫馨提示

  • 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

提交評論