字符
盡管字符和字符串名字相似;但在JAVA中是兩個不同的類型;
字符類型char是基本數據類型,(character的縮寫)。一個char保存一個Unicode字符:
char oneChar = 'A'; char anotherChar = '中';//一個英文字符和一個中文字符都用一個char類型表示
將char類型直接賦值給int類型,就是字符的Unicode編碼
int nA = 'A'; // 字母“A”的Unicodde編碼是65 int nC = '中'; // 漢字“中”的Unicode編碼是20013
可以直接用轉義字符 \u+Unicode編碼 的形式來表示一個字符;
char cThird = '\u0041'; // 'A',因為十六進制0041 = 十進制65 char cForth = '\u4e2d'; // '中',因為十六進制4e2d = 十進制20013
字符串類型
字符串類型String不屬于基本數據類型;而是引用類型,雙引號 "任意個字符" 表示字符串。
String strEmpty = ""; // 空字符串,包含0個字符 String sstr1 = "A"; // 包含一個字符 String s2 = "ABC"; // 包含3個字符 String s3 = "中文 ABC"; // 包含6個字符,其中有一個空格
那如果字符串本身恰好包含一個"字符 編譯器就無法判斷中間的引號究竟是字符串的一部分還是表示字符串結束。這個時候,我們需要借助轉義字符
常見的轉義字符包括:
- " 表示字符"
- ' 表示字符'
- \ 表示字符
- n 表示換行符
- r 表示回車符
- t 表示Tab
- \u#### 表示一個Unicode編碼的字符
字符串連接
字符串 可以使用+連接任意字符串和其他數據類型,如果用+連接字符串和其他數據類型,其他數據類型先自動轉型為字符串
public class StringAdd { public static void main(String[] args) { String s1 = "Hello"; String s = s1 + " " + s2 + "!"; System.out.println(s); } }
空值null
引用類型的變量可以指向一個空值null,它表示不存在,即該變量不指向任何對象。
String s1 = null; // s1是null String s2; // 沒有賦初值值,s2也是null
小結
Java的字符類型char是基本類型,字符串類型String是引用類型;
基本類型的變量是“持有”某個數值,引用類型的變量是“指向”某個對象;
引用類型的變量可以是空值null;