6-字符和字符串
Posted nsss
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了6-字符和字符串相关的知识,希望对你有一定的参考价值。
String s1 = "Hello"; String s2 = "world"; String s = s1 + " " + s2 + "!"; //Hello world! 字符类型 字符类型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 也可以直接用转义字符 \u + Unicode 编码来表示一个字符: // 注意是十六进制: char c3 = ‘\u0041‘; // ‘A‘,因为十六进制0041 = 十进制65 char c4 = ‘\u4e2d‘; // ‘中‘,因为十六进制4e2d = 十进制20013 字符串类型 与 char 类型不同,字符串类型 String 是引用类型,我们用双引号 " ... " 表示字符串。一个字符串可以存储0个到任意个字符: String s = ""; // 空字符串,包含0个字符 String s1 = "A"; // 包含一个字符 String s2 = "ABC"; // 包含3个字符 String s3 = "中文 ABC"; // 包含6个字符,其中有一个空格 因为字符串使用双引号"..."表示开始和结束,那如果字符串本身恰好包含一个 " 字符这个时候,需要借助转义字符 \ : String s = "abc\"xyz"; // 包含7个字符: a, b, c, ", x, y, z String s = "abc\\xyz"; // 包含7个字符: a, b, c, \, x, y, z //因为\是转义字符,所以,两个\\表示一个\字符 常见的转义字符包括: \" 表示字符 " \‘ 表示字符 ‘ \\ 表示字符 \n 表示换行符 \r 表示回车符 \t 表示Tab \u#### 表示一个Unicode编码的字符 字符串连接 Java的编译器对字符串做了特殊照顾,可以使用 + 连接任意字符串和其他数据类型,这样极大地方便了字符串的处理。如果用 + 连接字符串和其他数据类型,会将其他数据类型先自动转型为字符串。 例如: String s1 = "Hello"; String s2 = "world"; String s = s1 + " " + s2 + "!"; //Hello world! 字符串不可变 Java的字符串除了是一个引用类型外,还有个重要特点,就是字符串不可变。 String s = "hello"; System.out.println(s); // 显示 hello s = "world"; System.out.println(s); // 显示 world 变的不是字符串,而是变量 s 的“指向”。 执行 String s = "hello"; 时,JVM虚拟机先创建字符串 "hello ",把字符串变量 s 指向它: s │ ▼ ┌───┬───────────┬───┐ │ │ "hello" │ │ └───┴───────────┴───┘ 紧接着,执行s = "world";时,JVM虚拟机先创建字符串"world",再把字符串变量s指向它: s ──────────────┐ │ ▼ ┌───┬───────────┬───┬───────────┬───┐ │ │ "hello" │ │ "world" │ │ └───┴───────────┴───┴───────────┴───┘ 原来的字符串 " hello " 还在,只是我们无法通过变量 s 访问它而已。 因此,字符串的不可变是指字符串内容不可变。 空值null 引用类型的变量可以指向一个空值 null ,它表示不存在,即该变量不指向任何对象。例如 String s1 = null; // s1是null String s2; // 没有赋初值值,s2也是null String s3 = s1; // s3也是null String s4 = ""; // s4指向空字符串,不是null //区分空值null和空字符串"",空字符串是一个有效的字符串对象,它不等于null
以上是关于6-字符和字符串的主要内容,如果未能解决你的问题,请参考以下文章