開發者學堂課程【Java程式設計入門:字元型】學習筆記,與課程緊密聯系,讓使用者快速學習知識。
課程位址:
https://developer.aliyun.com/learning/course/18字元型
内容簡介
1.定義一個字元型變量
2.觀察Char與int的關系
3.将小寫字母變為大寫字母
4.儲存中文資料
字元型使用的是char進行定義的,在Java之中使用單引号定義的内容就是一個字元。于是以下将研究如何去使用字元,例如定義一個字元型變量。
範例:定義一個字元型變量
public class JavaDemo {
public static void main(String args[]){
char c='B';/∥一個字元變量.
System.out.println(c);
}
}
現在程式直接輸出一定是正常的字元B。
首先要明确在任何的程式設計語言之中,字元都可以與int進行互相轉換,字元中所描述的内容可以通過int擷取其内容對應的系統編碼。最早的計算機搭造的隻是010101,但是如果用01的數字(例如110 101 數字等)來描述,盡管簡化了一些過程,但卻很難了解的。
範例:觀察char與int的關系
public static void main(String args[]){
char c='A';//一個字元變量.
int num=c: //可以獲得字元的編碼
System.out.println(num):
}
代碼編譯執行之後,答案是65。
對于以上的程式獲得了編碼,這裡面有幾個範圍需要注意:
1:“大寫字母範圍”:'A'(65)~'Z'(90);A編譯執行的結果是65,Z編譯執行的結果是90。
2:“小寫字母範圍”:'a'(97)~'z'(122);在程式中輸入a編譯執行的結果是97,z編譯執行的結果是122。
3:“數字範圍”:'0'(48)~'9'(57);在程式中要注意0跟'0'不是一個概念,前者是整數字,後者是字元,而字元是有編碼的。在以上程式中輸入0,編譯執行結果是48。輸入9,編譯執行的結果是57。是以字元零和零完全是兩個概念,單引号括起來的内容就是字元的資料
通過編碼範圍可以發現大小寫字母之間差了32個數字的長度,于是就可以實作大小寫的轉換處理。程式如下:
範例:将小寫字母變為大寫字母
char c='x';//一個字元變量
int num=c;//可以獲得字元的編碼
num=num-32;//讓自己的内容減少32
System.out.println((char) num);
}
例如現在有小寫字母x,想讓他變成大寫字母。就需要進行強制轉型,将int變成字元。然後就做到了小寫字母變成大寫字母的轉型。
到此為止,所有的操作都與傳統的c語言的方式是一樣的,但是需要注意的是在java裡面存在char的處理,char主要是進行中文的處理,是以Java中的char類型可以儲存中文資料。
範例:儲存中文資料
public static void main(String args[]){
char c='仁';//一個字元變量
int num =c; //可以獲得字元的編碼
System.out.println(num);
}
例如在程式中輸入仁(字元就隻有一個字),觀察是否能夠運作且是否能夠儲存。編譯執行到結果為20161。20161這個值已經很大了。是以Java中是允許儲存有中文的,char最大的優勢也就在于中文處理。之是以在java語言裡面可以使用char進行中文資料的儲存,是因為java使用的是unicode這種十六進制的編碼,這種編碼的主要特點是可以包括任意的文字内容,是以使得程式開發更加的簡單。
最初的時候,如果看到一篇文章非常的長,那麼一般需要通過切來換行,但是切文字的時候就比較繁瑣。一個字母占一個位元組,一個字元占兩個位元組,如果按照位元組的概念,字母的切跟中文的切是不一樣的。字母會切得非常完整,但如果是中文,就可能把非常的非切成兩半,于是造成了斷碼。還要去判斷是否是正常值,如果是正常值就可以切,不是正常值就要往前找。是以如果有了java這種字元描述16進制的方式,存放中文的時候就會更加友善,這就是unicode的主要作用。
所有的操作方法适合于各種資料操作,就因為它的編碼是統一的,是以在描述中文的時候,要使用cha r來描述。