[学习笔记] Java字符和字符串
在Java中,字符和字符串是两种不同的数据类型;
字符
字符 (char) 是一种基本数据类型,用单引号 ' 括起来;
一个char类型可以保存一个标准的ASCII字符或一个Unicode字符;
在内存中,使用Unicode码表示字符,一个英文字符或中文字符都是占用2字节;
通过将char值直接赋给int类型变量可直接获取字符的Unicode编码;
int n='A'; //输出n的值为65
还可以用转义字符+Unicode编码的形式来表示一个字符;
char ch='\u0041'; //输出字符A
字符串
字符串 (String) 是一种对象,也是一种引用类型,用双引号 " 括起来;
一个字符串可以由零个或多个字符组成且字符串 (字符串内容) 不可变;
引用类型的变量可以指向空值null,表示不指向任何对象;空值null和空字符串"" 不同,空字符串仍然是个字符串对象;
若字符串包含编译器无法判断的特殊字符,可以通过转义字符 \ 来对特殊字符进行转义;
字符 转义字符
" \"
' \'
\ \\
换行 \n
回车符 \r
tab \t
后退键 \b
换页符 \f
\u#### Unicode编码字符
通过转义序列,编译器可以正确解释特殊字符。
要表示多行字符串,可以使用 """ 将跨行的字符串括起来;
创建字符串
创建字符串时可以直接将字符串字面量赋值给字符串变量,编译器会自动为字符串创建一个String对象;
String str = "Hello";
还可以使用new关键字和构造方法创建String对象;
String str=new String("Hello");
字符串长度
通过调用字符串的length方法可以返回字符串包含的字符的个数,即字符串长度;
String str="Hello"; int len=str.length(); //len的值为字符串str的长度5
连接字符串
最简单的连接字符串的方法是使用 + 字符;
String str="Hello"+"World!"; //字符串str的值为HelloWorld!
除此以外,还可以通过concat方法连接字符串;
str1.concat(str2);
格式化字符串
可以使用printf和fromat方法来进行格式化输出;
System.out.printf("输出值:%d",5);
String str=String.format("输出:%d",5); System.out.println(str);
StringBuffer和StringBuilder类
通过常规方式创建的字符串无法修改,但通过StringBuffer类或StringBuilder类创建的字符串对象可以被修改;
使用StringBuffer和StringBuilder时,会对它们的对象本身进行操作,而不会生成新的对象;
StringBuilder相比于StringBuffer较快,但它不是线程安全的(不能同步访问);
public class Test{ public static void main(String args[]){ StringBuffer sBuffer = new StringBuffer("Hello"); sBuffer.append(","); sBuffer.append("World"); sBuffer.append("!"); System.out.println(sBuffer); } }