版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
2.1標識符與數(shù)據(jù)類型
2.2常量與變量
2.3語句、表達式和運算符
2.4數(shù)據(jù)類型之間的轉(zhuǎn)換
2.5注釋
2.6關(guān)鍵字
2.7Java編碼規(guī)范與編碼格式2.1標識符與數(shù)據(jù)類型2.1.1標識符在程序設(shè)計語言中存在的任何一個成分(如變量、常量、屬性、方法、類、接口等)都需要有一個名字表示,這個名字就是標識符。也可以說,程序員對程序中的每個成分命名時使用的命名符號就是標識符(identifier)。Java語言中,標識符是以字母、下劃線(_)、美元符(?$?)開始的一個字符序列,后面可以跟字母、下劃線、美元符和數(shù)字,如圖2.1所示。標識符是大小寫敏感的,即要區(qū)分大小寫,也就是說Class與class是不同的。2.1.2數(shù)據(jù)類型Java語言的數(shù)據(jù)類型有簡單類型和復(fù)合類型(用戶根據(jù)需要用基本數(shù)據(jù)類型經(jīng)過組合而形成的類型)。簡單數(shù)據(jù)類型包括以下八種:整數(shù)類型(Integer):byte、short、int、long。浮點類型(Floating):float、double。字符類型(Textual):char。布爾類型(Logical):boolean。1.整型數(shù)據(jù)(1)整型常量:十進制整數(shù)。如:123,-456,0。八進制整數(shù)。以0開頭,如0123表示十進制數(shù)83,-011表示十進制數(shù)?-9。十六進制整數(shù)。以0x或0X開頭,如0x123表示十進制數(shù)291,-0X12表示十進制數(shù)?-18。(2)整型變量如表2.1所示。2.浮點型(實型)數(shù)據(jù)(1)實型常量:十進制數(shù)形式。由數(shù)字和小數(shù)點組成,且必須有小數(shù)點,如0.123,1.23,123.0??茖W(xué)計數(shù)法形式。如:123e3或123E3,其中e或E之前必須有數(shù)字,且e或E后面的指數(shù)必須為整數(shù)。?float型的值,必須在浮點常量后加f或F,如1.23f。浮點常量后不加任何字符或加D或加d表示雙精度數(shù),即double型的值。(2)實型變量如表2.2所示。3.字符型數(shù)據(jù)(1)字符型常量:字符型常量是用單引號括起來的一個字符,如?'a'、'A'。(2)字符型變量:類型為char,它在機器中占16位,其范圍為0~65?535。字符型變量的定義如下:charc='a'; /*指定變量c為char型,且賦初值為?'a'*/4.布爾型數(shù)據(jù)布爾型數(shù)據(jù)只有兩個值true和false,且它們不對應(yīng)于任何整數(shù)值。布爾型變量的定義:booleanb=true;與C++?不同,true和false不對應(yīng)于1和0。2.2常?量?與?變?量2.2.1常量常量有字面(Literal)常量和符號常量兩種形式。1.字面常量字面常量是指其數(shù)值意義如同字面所表示的一樣,有各種數(shù)據(jù)類型的常量,還有字符串常量。其中,字符型常量是用引號括起的單個字符,字符串常量是用雙引號括起的零個或多個字符串序列。用單引號括起的還有轉(zhuǎn)義字符,如回車、換行等。Java的轉(zhuǎn)義字符用反斜杠“\”開頭,后面跟一個字母來表示某個特定的控制符。2.符號常量符號常量是用Java標識符表示的一個常量,用保留字final來實現(xiàn),符號常量定義的一般格式如下:finaltypeSpecifiervarName=value[,varName[=value]…];<final><數(shù)據(jù)類型><符號常量標識符>=<常量值>;2.2.2變量變量是Java程序中的基本存儲單元,它包括變量名、變量類型和作用域三部分。電腦一般使用內(nèi)存來記憶計算時所使用的數(shù)據(jù),內(nèi)存空間與變量的關(guān)系可由入住旅館的過程來說明。旅館入住時對房間的需求各不相同,應(yīng)根據(jù)需求為旅客分配房間類型,指定房間號,旅客才能順利入?。⊥瑯?,數(shù)據(jù)各式各樣,要先根據(jù)數(shù)據(jù)的需求(即類型)為它申請一塊合適的內(nèi)存空間,再給這塊內(nèi)存空間指定一個變量名,這樣才能正常訪問數(shù)據(jù)存儲的位置,兩個過程的對應(yīng)如圖2.3所示。使用變量的步驟如下:第一步:聲明變量,即“根據(jù)數(shù)據(jù)類型在內(nèi)存申請空間”。第二步:賦值,即“將數(shù)據(jù)存儲至對應(yīng)的內(nèi)存空間”。說明:第一步和第二步可以合并。第三步:使用變量,即“取出數(shù)據(jù)使用”。使用變量時,可能會出現(xiàn)以下常見錯誤:(1)變量未賦值,如圖2.4所示的運行代碼及結(jié)果。(2)變量名命名不符合要求,如圖2.5所示的運行代碼及結(jié)果。(3)變量名重名,如圖2.6所示的運行代碼及結(jié)果。2.2.3變量的作用域Java語言所處理的任何對象(變量、標識符常量、類、實例等)都遵從先聲明后使用的原則。聲明的作用有兩點:一是確認對象的標識符,以便系統(tǒng)為它指定存儲地址和識別它,這是“按名訪問”的原則;二是為該對象指定數(shù)據(jù)類型,以便系統(tǒng)為它分配足夠的存儲單元。變量經(jīng)聲明后,便可以對它進行賦值和使用,若使用前沒有賦值,則在編譯時會指出語法錯誤。這也是Java語言安全性的體現(xiàn)。變量的作用域指明可訪問該變量的一段代碼,聲明一個變量的同時也就指明了變量的作用域。按作用域來分,變量可以有:局部變量、類變量(也稱成員變量)、方法參數(shù)和異常處理參數(shù)。在一個確定的域中,變量名應(yīng)該是唯一的。局部變量在方法或方法的一個塊代碼中聲明,則它的作用域為它所在的代碼塊(整個方法或方法中的某塊代碼)。類變量在類中聲明,而不是在類的某個方法中聲明,則它的作用域是整個類。方法參數(shù)傳遞給方法,它的作用域就是這個方法。異常處理參數(shù)傳遞給異常處理代碼,它的作用域就是異常處理部分。2.2.4變量的默認值若不給變量賦初值,則變量默認值如表2.3所示。2.3語句、表達式和運算符2.3.1賦值運算符與賦值表達式Java語言中,賦值運算符是“=”,左邊必須是變量。在賦值運算符“=”之前加上其他運算符,則構(gòu)成復(fù)合賦值運算符,如“=”、“+=”、“-=”、“*=”、“/=”都是賦值運算符。復(fù)合賦值運算符如表2.4所示。2.3.2語句語句是程序的基本執(zhí)行單位,一個程序由若干條語句組成。Java語言的語句,在其末尾有一個分號“;”作為標記,其語法和語義與C和C++?中的很相似,但有一個例外,goto語句被取消了。Java語言的語句可分為四大類:聲明語句、表達式語句、流程控制語句和異常處理語句。也有文獻或教材將Java語言的語句分為簡單語句和復(fù)合語句。簡單語句是語句的基本構(gòu)建塊;復(fù)合語句是那些包含其他語句的語句。簡單語句包括表達式語句、局部變量聲明、break語句、continue語句和return語句。復(fù)合語句包括語句塊、選擇語句、循環(huán)語句以及執(zhí)行語句。2.3.3算術(shù)運算符算術(shù)運算符是指能夠進行算術(shù)運算的符號,它有:+、-、*、/、%?(取余數(shù))、++?(自增1)、--?(自減1)、-?(取反)。2.3.4關(guān)系運算符關(guān)系運算符是指能夠?qū)\算數(shù)進行關(guān)系運算的符號,共有6個,即?>、<、>=、<=、==、!=。利用關(guān)系運算符連接的式子稱為關(guān)系表達式。關(guān)系運算實際上就是常說的比較運算,結(jié)果是邏輯值(true或false)。2.3.5邏輯運算符邏輯運算符是指能夠進行邏輯運算的符號,即邏輯非(!)、邏輯與(&&)、邏輯或(||)。它與關(guān)系運算符的不同之處是關(guān)系運算符的運算結(jié)果是布爾值,而邏輯運算的運算數(shù)和運算結(jié)果都是布爾值。2.3.6位運算符位運算是對整數(shù)的二進制表示的每一位進行操作,位運算的操作數(shù)和結(jié)果都是整型量。位運算符包括右移(>>)、左移(<<)、不帶符號的右移(>>>)、位與(&)、位或(?|?)、位異或(?^?)、位反(?~?)。2.3.7其他運算符其他運算符包括條件運算符(?:)、分量運算符(·)、下標運算符([])、實例運算符(instanceof)、內(nèi)存分配運算符(new)、強制類型轉(zhuǎn)換運算符(類型)、方法調(diào)用運算符(())等。條件運算符是Java中唯一的一個三元運算符,其使用格式如下:布爾表達式?結(jié)果表達式1:結(jié)果表達式2;在實際應(yīng)用中,常常將條件運算符與賦值運算符結(jié)合起來構(gòu)成賦值表達式。2.3.8運算符的優(yōu)先級(1)不同類型數(shù)據(jù)間的優(yōu)先關(guān)系如下:低------------------------------------------->高byte、short、char→int→long→float→double(2)運算符的優(yōu)先次序。表達式的運算按照運算符的優(yōu)先順序從高到低進行,同級運算符從左到右進行,如表2.5所示。2.4數(shù)據(jù)類型之間的轉(zhuǎn)換2.4.1自動類型轉(zhuǎn)換整型、實型、字符型數(shù)據(jù)可以混合運算。運算中,不同類型的數(shù)據(jù)先轉(zhuǎn)化為同一類型,即把精度較低的類型轉(zhuǎn)換為精度較高的類型,然后進行運算,這種轉(zhuǎn)換稱為自動類型轉(zhuǎn)換,如表2.6所示。int類型的常量可以直接賦值給byte、short、char類型的變量。2.4.2強制類型轉(zhuǎn)換高級數(shù)據(jù)要轉(zhuǎn)換成低級數(shù)據(jù),需要用到強制類型轉(zhuǎn)換,如下:inti;byteb=(byte)i; /*把int型變量i強制轉(zhuǎn)換為byte型*/轉(zhuǎn)換格式:(類型名)表達式強制類型轉(zhuǎn)換只是得到一個所需類型的中間變量,原來變量的類型并不發(fā)生變化。boolean類型的數(shù)據(jù)不能進行自動和強制類型轉(zhuǎn)換。2.4.3表達式的類型轉(zhuǎn)換如果要進行強制類型轉(zhuǎn)換的對象不是單個數(shù)據(jù)或變量,而是一個包含多項的表達式,則表達式必須用括號括起來,否則結(jié)果有誤。轉(zhuǎn)換格式:(類型名)(表達式)2.5注釋Java程序里主要有兩種類型的注釋。第一種是傳統(tǒng)的、C語言風(fēng)格的注釋,是從C++繼承而來的。這些注釋用一個“/*”起頭,隨后是注釋內(nèi)容,并可跨越多行,最后用一個“*/”結(jié)束,這種注釋方法叫做“多行注釋”。注意:許多程序員為閱讀方便,在連續(xù)注釋內(nèi)容的每一行都用一個“*”開頭,所以經(jīng)常能看到像下面這樣的注釋:/*這是*一段注釋,*它跨越了多個行*/但請記住,進行編譯時,“/*”和“*/”之間的內(nèi)容都會被忽略,所以上述注釋與下面這段注釋并沒有什么不同:/*這是一段注釋,它跨越了多個行*/第二種類型的注釋也起源于C++。這種注釋叫做“單行注釋”,以一個“//”起頭,表示這一行的所有內(nèi)容都是注釋。這種類型的注釋更常用,因為它書寫時更方便。沒有必要在鍵盤上尋找“/”,再尋找“*”(只需按兩次同樣的鍵),而且不必在注釋結(jié)尾時加一個結(jié)束標記。下面便是這類注釋的一個例子://這是一條單行注釋運行代碼如圖2.10所示。還有一種注釋是多行注釋的變形,叫做“文檔注釋”,格式如下:/***/運行代碼如圖2.11所示??捎胘avadoc.exe提取程序文件中的文檔注釋來制作HTML幫助文件。2.6關(guān)鍵字關(guān)鍵字又稱為保留字,它具有專門的意義和用途,不能當作一般的標識符使用。下面這些標識符是Java語言中的所有保留字:abstractbreakbytebooleancatchcaseclasscharcontinuedefaultdoubledoelseextendsfalsefinalfloatforfinallyifimportimplementsintinterfaceinstanceoflonglengthnativenewnullpackageprivateprotectedpublicreturnswitchsynchronizedshortstaticsupertrytruethisthrowthrowsthreadsafetransientvoidwhileJava語言中的保留字均用小寫字母表示。2.7Java編碼規(guī)范與編碼格式一個完整的Java源程序應(yīng)該包括下列部分:package語句; //該部分至多只有一句,必須放在源程序的第一句import語句; /*該部分可以有若干import語句或者沒有,必須放在所有的類定義之前*/publicclassDefinition; //公共類定義部分,至多只有一個公共類的定義//Java語言規(guī)定該Java源程序的文件名必須與該公共類名完全一致classDefinition; //類定義部分,可以有0個或者多個類定義interfaceDefinition; //接口定義部分,可以有0個或者多個接口定義package語句:由于Java編譯器為每個類生成一個字節(jié)碼文件,且文件名與類名相同,因此同名的類有可能發(fā)生沖突。為了解決這一問題,Java提供包來管理類名空間,包實際提供了一種命名機制和可見性限制機制。而在Java的系統(tǒng)類庫中,把功能相似的類放到一個包(Package)中。例如,所有的圖形界面的類都放在Java.awt這個包中,與網(wǎng)絡(luò)功能有關(guān)的類都放到這個包中。用戶自己編寫的類(指.class文件)也應(yīng)該按照功能放在由自己命名的相應(yīng)的包中。包在實際的實現(xiàn)過程中是與文件系統(tǒng)相對應(yīng)的,如javawork.helloworld所對應(yīng)的目錄是path\javawork\helloworld,而path是在編譯該源程序時指定的。比如在命令行中編譯上述HelloWorldApp.java文件時,可以在命令行中輸入“javac-df:\javaprojectHelloWorldApp.java”,則編譯生成的HelloWorldApp.class文件將放在目錄f:\javaproject\javawork\helloworld\目錄下面,此時f:\javaprojcet相當于path。但是如果在編譯時不指定path,則生成的?.class文件將放在編譯時命令行所在當前目錄的下面。比如在命令行目錄f:\javaproject下輸入編譯命令“javacHelloWorldApp.java”,則生成的HelloWorldApp.class文件將放在目錄f:\javaproject下面,此時的package語句沒起作用。但是,如果程序中包含了package語句,則在運行時就必須包含包名。例如,HelloWorldApp.java程序的第一行語句是packagep1.p2;編譯的時候在命令行下輸入“javac-dpathHelloWorldApp.java”,則HelloWorldApp.class將放在目錄path\p1\p2的下面,這時候運行該程序時有以下兩種方式。第一種:在命令行下的path目錄下輸入字符“javap1.p2.HelloWorldApp”。第二種:在環(huán)境變量classpath中加入目錄path,則運行時在任何目錄下輸入“javap1.p2.HelloWorldApp”即可。import語句:如果在源程序中用到了除java.lang這個包以外的類,無論是系統(tǒng)的類還是自己定義的包中的類,都必須用import語句標識,以便通知編譯器在編譯時找到相應(yīng)的類文件。例如,上例中的java.awt是系統(tǒng)的包,而javawork.newcentury是用戶自定義的包。比如程序中用到了類Button,而Button是屬于包java.awt的,在編譯時編譯器將從目錄classpath\java\awt中去尋找類Button,classpath是事先設(shè)定的環(huán)境變量,如可以設(shè)為classpath=.;d:\jdk1.3\lib\。classpath也可以稱為類路徑,需要提醒大家注意的是,在classpath中往往包含多個路徑,用分號隔開。例如,classpath=.;d:\jdk1.3\lib\中的第一個分號之前的路徑是一個點,表示當前目錄,分號后面的路徑是d:\jdk1.3\lib\,表示系統(tǒng)的標準類庫目錄。在編譯過程中尋找類時,先從環(huán)境變量classpath的第一個目錄開始往下找,如先從當前目錄往下找java.awt中的類Butto
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度企業(yè)培訓(xùn)中心新生入學(xué)服務(wù)協(xié)議書3篇
- 2024-2030年中國家庭食物垃圾處理器行業(yè)運行動態(tài)與發(fā)展戰(zhàn)略分析報告
- 2024年度工廠總經(jīng)理績效考核合同2篇
- 2024年某市區(qū)居民區(qū)垃圾清運服務(wù)定制合同
- 2024安置房買賣協(xié)議樣本3篇
- 2024年物流合作共識:貨車租賃合同模板
- 綜合項目-畢業(yè)紀念冊實訓(xùn)項目指導(dǎo)書
- 2024全新商務(wù)辦公樓使用權(quán)出售協(xié)議下載3篇
- 2024年度櫥柜定制與綠色建材采購合同3篇
- 2024年度加盟商合作合同5篇
- GB 19517-2004國家電氣設(shè)備安全技術(shù)規(guī)范
- 模具定期保養(yǎng)點檢表
- 山西省太原市市藥品零售藥店企業(yè)藥房名單目錄
- 工程部長橋梁工程施工技術(shù)(PPT116)
- 全面設(shè)備保養(yǎng)TPM培訓(xùn)教材課件
- 茶葉企業(yè)營銷課件
- 高爐無料鐘爐頂設(shè)備安裝與調(diào)試技術(shù)
- 初中語文人教九年級上冊如何分析環(huán)境描寫的作用 教案
- 壓力容器壁厚快速計算
- 抗菌藥物供應(yīng)目錄備案表
- 關(guān)于轉(zhuǎn)包及違規(guī)分包的關(guān)系(特別詳細)
評論
0/150
提交評論