什么是字符串?
字符串或串(String)是由数字、字母、下划线组成的一串字符。一般记为 s=“a1a2···an”(n>=0)。它是编程语言中表示文本的数据类型。在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)。其在java语言中可以通过一定的方法提取字符串中的一个字符
在 Java 中,字符串被作为 String 类型的对象处理。String 类位于 java.lang 包中。默认情况下,该包被自动导入所有的程序
String字符串的本质:
String字符串 = char[] + 操作(toUpperCase(),concat())。String的底层就是char[]数组,是char[]数组的封装类
类: 数据+相关的操作。char数组只是数据, 没有操作
String用来表示文本,即一系列 Unicode 字符。
字符串是 Unicode 字符的有序集合,用于表示文本。所以String 对象是 System.Char 对象的有序集合,用于表示字符串。String 对象的值是该有序集合的内容,并且该值是不可变的。字符串本质是字符数组。
如何初始化字符串
//定义一个字符串
String s1 = "Java";
//创建一个空字符串
String s2 = new String();
//创建一个空字符串,并赋值
String s3 = new String("hello world");
字符串常见的赋值方法
直接赋值法
String 变量名=" 初始值"
这种赋值方法经常被我们使用
public static void main(String[] args) { String str1="hello world"; System.out.println(str1); }
构造方法进行创建
格式:
String 变量名=new String(初始值)
public static void main(String[] args) { String str2=new String("SWPU YYDS"); System.out.println(str2); }
字符串的不变性:String 对象创建后则不能被修改,是不可变的,所谓的修改其实是创建了新的对象,所指向的内存空间不同。
一旦一个字符串在内存中创建,则这个字符串将不可改变。如果需要一个可以改变的字符串,我们可以使用StringBuffer或者StringBuilder(后面章节中会讲到)。
每次 new 一个字符串就是产生一个新的对象,即便两个字符串的内容相同,使用 ”==” 比较时也为 ”false” ,如果只需比较内容是否相同,应使用 ”equals()” 方法
String两种实例化方式
采用直接赋值的方式进行对象的实例化;通过接收一个String类的对象,并重新实例化这个对象。
1.直接使用“”双引号创建; //编译时创建
2.使用new String()创建; //运行时创建
3.使用new String("someString")创建以及其他重载构造函数创建;
4.使用重载的字符串连接操作符“+”创建。