尽管字符和字符串名字相似;但在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个字符,其中有一个空格
那如果字符串本身恰好包含一个"字符 编译器就无法判断中间的引号究竟是字符串的一部分还是表示字符串结束。这个时候,我们需要借助转义字符
常见的转义字符包括:
字符串 可以使用+连接任意字符串和其他数据类型,如果用+连接字符串和其他数据类型,其他数据类型先自动转型为字符串
public class StringAdd { public static void main(String[] args) { String s1 = "Hello"; String s = s1 + " " + s2 + "!"; System.out.println(s); } }
引用类型的变量可以指向一个空值null,它表示不存在,即该变量不指向任何对象。
String s1 = null; // s1是null String s2; // 没有赋初值值,s2也是null
Java的字符类型char是基本类型,字符串类型String是引用类型;
基本类型的变量是“持有”某个数值,引用类型的变量是“指向”某个对象;
引用类型的变量可以是空值null;