前面介紹的Java編程,要麼是與數字有關的計算,要麼是與邏輯有關的推理,充其量只能實現計算器和狀態機。若想讓Java運用於更廣闊的業務領域,就得使其支撐更加血肉豐滿的業務場景,而豐滿的前提是能夠表達大眾熟知的人類語言和文字。對於英文世界來說,除了數字之外,編程語言起碼還要支持ABCD等大小寫字母,以 ...
前面介紹的Java編程,要麼是與數字有關的計算,要麼是與邏輯有關的推理,充其量只能實現計算器和狀態機。若想讓Java運用於更廣闊的業務領域,就得使其支撐更加血肉豐滿的業務場景,而豐滿的前提是能夠表達大眾熟知的人類語言和文字。對於英文世界來說,除了數字之外,編程語言起碼還要支持ABCD等大小寫字母,以及常見的標點符號。由於現有的基本變數類型僅能表示各類數字與布爾值,因此要引入新的變數類型來存放字母和符號,這個新的類型被稱作字元型char。
有別於其它的基本類型,一個具體的字元值必須用單引號包起來,這樣才能區分數字數值與數字字元,而且變數名稱和字元形式的變數值也不會弄混淆。譬如下麵的代碼示範瞭如何聲明字元變數,以及如何把各類字元賦值給該字元變數:
// 聲明一個字元變數,並對其賦值 char a = 'A'; System.out.println("a="+a); // 字元包括英文字元,也包括中文字元 char tian = '田'; System.out.println("tian="+tian); // 字元還包括數字字元,以及標點符號 char one = '1'; System.out.println("one="+one);
與其它類型相似,字元類型也有對應的字元數組char[]。除了類型名稱變更,其它的用法與整型數組保持一致。下麵是字元數組簡單用法的代碼例子:
// 聲明一個字元數組,並對其初始化 char[] array = {'A', 'B', 'C'}; //char[] array = new char[]{'A', 'B', 'C'}; // 遍歷字元數組中的每個字元 for (char item : array) { System.out.println("item="+item); }
雖然大部分的字母和符號都能直接書寫自身字元,但是少數特殊符號沒有對應的表現字元,包括製表符、回車符、換行符等等,此時必須通過某種格式的式子來表示這些特定字元。在Java代碼中,使用'\t'表達一個製表符,使用'\r'表達一個回車符,使用'\n'表達一個換行符。還有其它幾個符號,儘管存在對應的標點,可是標點已經約定另有用途,比如兩個單引號''用來包裹單個字元,兩個雙引號""用來包裹一串文本,反斜桿\則被用於表達換行符'\n'等等。因此,這幾個特種標點只好另想辦法,一樣得在符號前面補充反斜桿,如'\''表達的是單引號字元,'\"'表達的是雙引號字元,'\\'表達的是反斜桿字元。以上幾種特殊符號的賦值代碼示例如下:
// 下列是特殊字元的轉義表達形式 char tab = '\t'; // 製表符 System.out.println("tab="+tab); char enter = '\r'; // 回車符 System.out.println("enter="+enter); char line = '\n'; // 換行符 System.out.println("line="+line); char singleQuote = '\''; // 單引號 System.out.println("singleQuote="+singleQuote); char doubleQuote = '\"'; // 雙引號 System.out.println("doubleQuote="+doubleQuote); char reverseTilt = '\\'; // 反斜桿 System.out.println("reverseTilt="+reverseTilt);
像上面通過添加反斜桿來表達特殊字元的方式,在編程語言裡面稱作“轉義”,添加了反斜桿的字元形式被稱為“轉義符”。
更多Java技術文章參見《Java開發筆記(序)章節目錄》