0.字符类型:
(0).字符类型 char 是基本数据类型,它是 character 的缩写。一个 char 保存一个 Unicode 字符:
char c1 = 'A';
char c2 = '中';
/* Java在内存中总是使用Unicode表示字符,一个英文字符和一个中文字符都用一个char类型表示,
它们都占用两个字节。显示一个字符的Unicode编码,只需将char类型直接赋值给int类型即可 */
int n1 = 'A'; // 字母“A”的Unicodde编码是65
int n2 = '中'; // 汉字“中”的Unicode编码是20013
(1).可以直接用转义字符 u + Unicode 编码来表示一个字符:
// 注意是十六进制:
char c3 = 'u0041'; // 'A',因为十六进制0041 = 十进制65
char c4 = 'u4e2d'; // '中',因为十六进制4e2d = 十进制20013
1.字符串类型:
(0).和 char 类型不同,字符串类型 String 是引用类型,我们用双引号 "..." 表示字符串。一个字符串可以存储0个到任意个字符:
String s = ""; // 空字符串,包含0个字符
String s1 = "A"; // 包含一个字符
String s2 = "ABC"; // 包含3个字符
String s3 = "中文 ABC"; // 包含6个字符,其中有一个空格
(1).字符串连接:可以使用+连接任意字符串和其他数据类型
String s1 = "Hello";
String s2 = "world";
String s = s1 + " " + s2 + "!"; //Hello World!
(2).多行字符串:
String s = """
SELECT * FROM
users
WHERE id > 100
ORDER BY name DESC
""";
//上述多行字符串实际上是5行,在最后一个DESC后面还有一个n。如果我们不想在字符串末尾加一个n,
//就需要这么写:
String s = """
SELECT * FROM
users
WHERE id > 100
ORDER BY name DESC""";
(3).不可变性:字符串除了是一个引用类型外,还有个重要特点,就是字符串不可变。
String s = "hello";
System.out.println(s); // 显示 hello
s = "world";
System.out.println(s); // 显示 world
//hello 依然存在,只是此时的s指向了world
String s = "hello";
String t = s;
s = "world";
System.out.println(t); //显示hello
(4).空值 null :引用类型的变量可以指向一个空值 null ,它表示不存在,即该变量不指向任何对象。
String s1 = null; // s1是null
String s2; // 没有赋初值值,s2也是null
String s3 = s1; // s3也是null
String s4 = ""; // s4指向空字符串,不是null
2.转义字符:
" 表示字符 "
' 表示字符 '
表示字符
n 表示换行符
r 表示回车符
t 表示Tab
u#### 表示一个Unicode编码的字符
例:
String s = "ABCnu4e2du6587";
// 包含6个字符: A, B, C, 换行符, 中, 文
int a = 72;
int b = 105;
int c = 65281;
//FIXME:
String s = a + b + c;
System.out.println(s);
String s = ""+(char)a + (char)b + (char)c
//是先转换成字符串,再把char类型加到字符串中的