public class StringDemo {
public static void main(String [] args)
{
String s1 = "abc"; //s1是1个类类型变量,“abc"是1个对象
s1 = "kk"; //字符串最大特点,一旦被初始化就不可以被改变。
System.out.print(s1);
//这时候打印结果是 kk,但是切记改变的不是abc, 而是s1变了 最初指向的是abc这个对象 后来变成了指向kk对象。
/*
String s1 = "abc";
String s2= new String"abc";
System.out.println(s1==s2); // 打印结果是false 因为是2个不同的对象。
System.out.println(s1.squals(s2));//打印结果是true, String 类复写了Object类中的squals方法。该方法用于判断字符串是否相同。
问 s1和s2 什么区别
S1在内存中有一个对象
s2 在内存中有2个对象
*/
}
/*
常见的操作有哪些
“abcd”
1.获取
1.1字符串中的包含的字符数,也就是字符串的长度。
int.length():获取长度
1.2根据位置获取位置上某个字符
char charAt(int index);
1.3 根据字符获取该字符在字符串中的位置;
int indexOf(int ch):返回的是ch在字符串第一次出现的位置。
int indexOf(int ch,int fromIndex):从fromIndex指定位置开始,获取CH在字符串中的位置)
int indexOf(String str):返回的是str在字符串第一次出现的位置。
int indexOf(String str,int fromIndex):从fromIndex指定位置开始,获取str在字符串中的位置)
2.判断
2.1 字符串中是否包含一个子串;
boolean contains(str)
特殊之处;indexOf(str):可以索引str第一次出现位置,如果返回-1;表示该str不在字符串中存在;
所以也可以用于对指定判断是否包含
比如 if(str.indexOf("aa"!=-1)
2.2 字符中是否有内容;
boolean isEmpty();原理就是判断是否为0;
2.3 字符串是否是以指定内容开头;
boolean startsWith(str);
2.4 字符串是否是以指定内容结尾;
2.5 判断字符串内容是否相同,复写了object类中的equals方法;
boolean equals(str);
2.6 判断内容是否相同,并忽略大小写。
boolean equalsIgnoreCase();
3转换
3.1 将字符数组转成字符串
构造函数:String(char[])
String (char[],offset,count):将字符数组中的一部分转成字符串。
静态方法:static String copyValueOf(char[]);
static String copyValueOf(char[] data,int offset,int count);
3.2 将字符串转成字符数组。
char[] toCharArray():
3.3 将字节数组转成字符串。
String(byte[])
String (byte[],offset,count):将字节数组中的一部分转成字符串。
3.4 将字符串转成字节数组。
3.5 将基本数据类型转换成字符串,
static String valueOf(int)
String valueOf(double)
4替换
String replace(oldchar,newchar);
5 切割
String[] split(regex);
6.子串。 获取字符串中的一部分。
String substring(begin);
String substring(begin,end);
7.转换,去除空格,比较。
7.1 将字符串转成大写或者小写。
String toUpperCase();
String toLowerCase();
7.2 将字符串两端的多个空格去除。
String trim();
7.3 对两个字符串进行自然顺序的比较。
int compareTo(String);
public static void main(String [] args)
{
String s1 = "abc"; //s1是1个类类型变量,“abc"是1个对象
s1 = "kk"; //字符串最大特点,一旦被初始化就不可以被改变。
System.out.print(s1);
//这时候打印结果是 kk,但是切记改变的不是abc, 而是s1变了 最初指向的是abc这个对象 后来变成了指向kk对象。
/*
String s1 = "abc";
String s2= new String"abc";
System.out.println(s1==s2); // 打印结果是false 因为是2个不同的对象。
System.out.println(s1.squals(s2));//打印结果是true, String 类复写了Object类中的squals方法。该方法用于判断字符串是否相同。
问 s1和s2 什么区别
S1在内存中有一个对象
s2 在内存中有2个对象
*/
}
/*
常见的操作有哪些
“abcd”
1.获取
1.1字符串中的包含的字符数,也就是字符串的长度。
int.length():获取长度
1.2根据位置获取位置上某个字符
char charAt(int index);
1.3 根据字符获取该字符在字符串中的位置;
int indexOf(int ch):返回的是ch在字符串第一次出现的位置。
int indexOf(int ch,int fromIndex):从fromIndex指定位置开始,获取CH在字符串中的位置)
int indexOf(String str):返回的是str在字符串第一次出现的位置。
int indexOf(String str,int fromIndex):从fromIndex指定位置开始,获取str在字符串中的位置)
2.判断
2.1 字符串中是否包含一个子串;
boolean contains(str)
特殊之处;indexOf(str):可以索引str第一次出现位置,如果返回-1;表示该str不在字符串中存在;
所以也可以用于对指定判断是否包含
比如 if(str.indexOf("aa"!=-1)
2.2 字符中是否有内容;
boolean isEmpty();原理就是判断是否为0;
2.3 字符串是否是以指定内容开头;
boolean startsWith(str);
2.4 字符串是否是以指定内容结尾;
2.5 判断字符串内容是否相同,复写了object类中的equals方法;
boolean equals(str);
2.6 判断内容是否相同,并忽略大小写。
boolean equalsIgnoreCase();
3转换
3.1 将字符数组转成字符串
构造函数:String(char[])
String (char[],offset,count):将字符数组中的一部分转成字符串。
静态方法:static String copyValueOf(char[]);
static String copyValueOf(char[] data,int offset,int count);
3.2 将字符串转成字符数组。
char[] toCharArray():
3.3 将字节数组转成字符串。
String(byte[])
String (byte[],offset,count):将字节数组中的一部分转成字符串。
3.4 将字符串转成字节数组。
3.5 将基本数据类型转换成字符串,
static String valueOf(int)
String valueOf(double)
4替换
String replace(oldchar,newchar);
5 切割
String[] split(regex);
6.子串。 获取字符串中的一部分。
String substring(begin);
String substring(begin,end);
7.转换,去除空格,比较。
7.1 将字符串转成大写或者小写。
String toUpperCase();
String toLowerCase();
7.2 将字符串两端的多个空格去除。
String trim();
7.3 对两个字符串进行自然顺序的比较。
int compareTo(String);