官术网_书友最值得收藏!

2.4.1 單個字符

1.字符存儲

在Java語言中,字符的存儲類型為字符類型(char)。

助記:char是字符的英文單詞character的縮寫,其發音為[?k?r?kt?(r)]。

計算機只能直接處理數字,不能處理文本。所以,在存儲字符的時候,需要將每個字符轉化為數字。在轉化過程中,需要建立一套對應的轉化關系。這套轉化關系被稱為編碼。例如,常用的8位二進制的ASCII表就是一種編號。

(1)ASCII編碼:ASCII(American Standard Code for Information Interchange,美國信息交換標準代碼)是基于拉丁字母的一套計算機編碼系統,主要用于顯示現代英語和其他西歐語言。它是現今通用的單字節編碼系統,并等同于國際標準ISO/IEC 646。表2.6所示的ASCII碼值表列出了常用的ASCII碼值。

表2.6 ASCII碼值表

續表

(2)Unicode編碼:8位二進制的ASCII編碼取值范圍為0~255,能夠表示的字符很少。為了表示更多的字符,Java語言的字符類型采用了Unicode編碼。Unicode編碼(統一碼、萬國碼、單一碼)是計算機科學領域里的一項業界標準,包括字符集、編碼方案等。Unicode是為了解決傳統的字符編碼方案的局限而產生的,它為每種語言中的每個字符設定了統一且唯一的二進制編碼,以滿足跨語言、跨平臺進行文本轉換和處理的要求。

Unicode編碼占用2字節,如圖2.26所示。由于2字節整數的范圍為0~65535,因此可以表示65536個不同字符。

2.字符表示

(1)簡單形式:在日常生活中,單個字符的使用比較少。例如,在成績單中,A表示優秀,B表示良好。在Java語言中,單個字符被稱為字符常量。很多時候數字內容表達的并不一定是數值。例如,班級編號的2-1中,2表示年級,1表示班級。由于計算機能力有限,為了避免這類信息對計算機造成困擾,所以在使用字符時,需要使用單引號引起字符,形式如圖2.27所示。

圖2.26 Unicode編碼占2字節

圖2.27 單個字符表示形式

注意:單個字符可以是單個字母、數字、字或符號。

示例2-7】下面將使用代碼展示單個字符。代碼如下:

運行結果如下:

注意:%c是printf的格式符,用來顯示字符。

助記:c是字符的英文單詞character的首字母。

(2)轉義字符形式:如果想輸出一個換行符,很多程序員會直接使用以下代碼:

使用這個代碼,自己都會覺得不習慣;另外,在嘗試編輯這行程序時,Java編譯器也會出現錯誤信息。這是因為Java無法分辨這個換行符是一行程序的結束還是一個字符。

為了避免類似問題的出現,Java使用轉義字符來表示換行符這類特殊的字符。在Java語言中,轉義字符通過反斜杠“\”與普通字符的組合,來表示一些特殊的字符。轉義字符中至少包含兩個字符,第一個字符是轉義符號“\”,第二個字符是需要表示的字符,如“\n”就是一個轉義字符。

轉義字符就是將字符原來的意思轉換掉。例如,“\n”的意思被轉換為換行符。Java編譯器在遇到“\n”這兩個字符時,就會對其進行轉義,把這兩個字符當成一個換行符。Java語言提供了多個轉義字符,如表2.7所示。

表2.7 轉義字符

示例2-8】下面將使用轉義字符顯示一個單引號。代碼如下:

運行結果如下:

由于整數和字符有嚴格的對應關系,所以Java語言提供了八進制表示和十六進制表示。下面將依次講解這兩種表示形式。

(3)八進制形式:采用八進制表示字符可以有兩種形式,分別為類似轉義字符的形式和直接形式。下面將依次講解這兩種形式。

使用類似轉義字符的形式表示字符,需要在單引號中加入反斜杠及八進制,如圖2.28所示。

圖2.28 采用八進制表示字符

注意:圖中的八進制可以是1~3位。

示例2-9】下面將使用類似轉義字符的形式表示字符。代碼如下:

運行結果如下:

直接形式,就是直接使用八進制表示字符,如065,表示的就是字符5。

(4)十六進制形式:采用十六進制表示字符,需要在單引號中加入反斜杠、u及十六進制,如圖2.29所示。

圖2.29 采用十六進制表示字符

注意:圖中的十六進制必須是4位。

示例2-10】下面將使用類似轉義字符的形式表示字符。代碼如下:

運行結果如下:

總結以上內容,Java語言共支持4種字符表示方式,如表2.8所示。

表2.8 字符表示方式

主站蜘蛛池模板: 常熟市| 土默特左旗| 渭南市| 山西省| 三台县| 沭阳县| 遵义县| 虹口区| 广宁县| 德兴市| 平利县| 星子县| 安乡县| 娱乐| 西昌市| 十堰市| 西乌珠穆沁旗| 潢川县| 饶阳县| 丰宁| 胶州市| 珲春市| 自治县| 威海市| 樟树市| 资溪县| 河间市| 托克逊县| 印江| 西和县| 彭阳县| 达孜县| 普格县| 桦南县| 紫云| 湘乡市| 安康市| 东台市| 紫金县| 抚宁县| 孝感市|