- Java程序設(shè)計:原理與范例
- 胡平主編
- 1009字
- 2018-12-29 11:56:23
2.1 標(biāo)識符
標(biāo)識符(Identifier)是編程語言的“單詞”,它是組成程序最基本的元素。標(biāo)識符可以分為關(guān)鍵字和用戶標(biāo)識符。
2.1.1 關(guān)鍵字
關(guān)鍵字(Keyword)有時又稱為保留字(Reserved Word),是被某種編程語言保留的、具有特殊用途的標(biāo)識符。關(guān)鍵字通常用于表示數(shù)據(jù)類型、程序結(jié)構(gòu)或修飾變量等,它們對于編譯器有著特殊的含義。表2-2列出了JDK 6.0中所有的關(guān)鍵字。
表2-2 JDK 6.0中的關(guān)鍵字

Java中所有的關(guān)鍵字都是小寫的。表2-2中最后一行的const和goto被留待擴(kuò)展,不排除會被后續(xù)的JDK新版本支持,但目前尚不能使用。其余大部分關(guān)鍵字的具體作用和用法將在后續(xù)章節(jié)分別介紹,在此不必記憶。
需要注意的是,C語言支持的sizeof并非Java的關(guān)鍵字,其不受Java支持。此外,隨著JDK版本的更新,關(guān)鍵字可能會有所增加,如strictfp和enum分別是JDK 1.2和5.0引入的。
2.1.2 用戶標(biāo)識符
用戶標(biāo)識符(User Identifier)是除關(guān)鍵字之外的任何合法標(biāo)識符,它們是由用戶(即編程者)命名的。用戶標(biāo)識符有時也稱為自定義標(biāo)識符,通常簡稱為標(biāo)識符。如同給人起名字一樣,標(biāo)識符的命名也有著一定的規(guī)則,只有滿足這些規(guī)則的標(biāo)識符才會被編譯器接受。
Java的標(biāo)識符命名規(guī)則包括:
(1)能包含數(shù)字(0~9)、英文字母(a~z、A~Z)、下畫線(_)、美元符號($)。
(2)不能以數(shù)字開頭。
(3)不能與關(guān)鍵字相同。
表2-3列舉了一些合法和非法的標(biāo)識符。
表2-3 標(biāo)識符舉例

幾點(diǎn)說明:
(1)標(biāo)識符的長度沒有限制,但不要過長。
(2)Java的標(biāo)識符區(qū)分大小寫(或稱大小寫敏感),如Max和max是不同的標(biāo)識符。
(3)除某些特定地方之外,命名應(yīng)盡量使用英文單詞,并做到顧名思義,如CourseInfo、getCurrentValue、userName、user_name。
(4)標(biāo)識符可以包含下畫線而非橫線,Java編譯器會將后者理解為運(yùn)算符,從而導(dǎo)致語法錯誤,如user-name是非法標(biāo)識符。這是初學(xué)者容易犯的錯誤之一。
(5)一般不推薦使用$字符。若確實(shí)需要將標(biāo)識符分隔成幾部分,可使用下畫線。
2.1.3 命名慣例和約定
除必須滿足的命名規(guī)則外,在實(shí)際開發(fā)中還應(yīng)遵守一些命名慣例和約定,原因在于:
(1)這些慣例和約定已經(jīng)被大量實(shí)踐證明有利于軟件代碼的編寫和維護(hù)。
(2)全世界絕大多數(shù)Java程序員包括JDK類庫的編寫者,都遵守著這些慣例和約定。
(3)遵守這些慣例和約定不僅有利于團(tuán)隊(duì)中的其他人理解自己編寫的代碼,也有利于理解自己以前編寫的代碼。
下面以表格的形式給出這些慣例和約定,見表2-4。
表2-4 Java標(biāo)識符的命名慣例和約定

盡管命名慣例和約定不是強(qiáng)制性的,但建議讀者在初學(xué)時就遵守并逐漸形成習(xí)慣。除標(biāo)識符的命名之外,還有一些編程慣例和約定,具體可參考附錄C。
- Spring 5.0 Microservices(Second Edition)
- Leap Motion Development Essentials
- 網(wǎng)頁設(shè)計與制作教程(HTML+CSS+JavaScript)(第2版)
- Android NDK Beginner’s Guide
- Python Data Analysis(Second Edition)
- Python漫游數(shù)學(xué)王國:高等數(shù)學(xué)、線性代數(shù)、數(shù)理統(tǒng)計及運(yùn)籌學(xué)
- 零基礎(chǔ)學(xué)Python網(wǎng)絡(luò)爬蟲案例實(shí)戰(zhàn)全流程詳解(高級進(jìn)階篇)
- Java EE 7 Performance Tuning and Optimization
- 速學(xué)Python:程序設(shè)計從入門到進(jìn)階
- Unity 5.X從入門到精通
- SignalR:Real-time Application Development(Second Edition)
- Getting Started with Electronic Projects
- HTML5 WebSocket權(quán)威指南
- 基于MATLAB的控制系統(tǒng)仿真及應(yīng)用
- Microsoft Windows Identity Foundation Cookbook