说到字符串,应该说是java中用的最多的一个数据类型,是一个引用数据类型,一个string变量对应一个地址,而
之前的数组是复合数据类型。
最常用的引用类型、 最特殊的引用类型 、 最常见的引用类型,这应该是对字符串的一个典型概括。
究竟何谓字符串,字符串顾名思义,就是把多个字符串到一块,而字符就是除了键盘上功能键以外的所有按键。。
eg: String s = ";5=t5t4/'[.";这些都是字符串。
字符串的定义,数据类型 对象名,eg: String s;赋值:s="abc"。简化形式: String s = "abc"。
字符串的创建同样涉及初始化问题,创建形式有两种:1.字符串常量池 2.new
1。String s ="abc";这种方法是从 字符串常量池中中创建,每一个程序有一个有且只有唯一一个字符串常量
池,指的是同一个对象(之后会再提到,了解一下)。
2。 String s = new String("abc"); 创建s对象,通过对象指向abc的地址,获取字符串内容,同样,输出s仍未
一个地址。
string类型中参数可以是char类型的数组。 eg: char []c = {'a','b','c' } ,
String s = new String (c); 输出s结果为abc。
字符串的比较(调用字符串方法和等值运算符)。
String str = "123"; String str1 = new String("123"); String strr = "123";
str==strr,返回true,在同一个字符串常量池取字符串,对象相同。
str.equals(strr).字符串内容相同返回true.
str==str1 .返回false,比较的是内存地址
str.equals(str1)。返回true,比较的是值,即字符串内容。
字符串的使用(通过对字符串的方法来使用)。
除了equals方法,字符串很有很多经常使用到的方法。
1、获取字符串长度 .length()。 eg: String s = new String("abcd");
System.out.println(s.length());输出结果为4。
2、将字符串转换为char数组 .toCharArray() eg: String s = new String("abcd");
char []c = s.toCharArray();将abcd分4个字符分别存放到char数组中。
3、将字符串内所有小写字母转换成大写字母 .toUppercase() String s = new String("abcd");
System.out.println(s.Uppercase());输出结果ABCD。
4、将字符串内所有大写字母转换成小写字母 .toLowercase() 同上理。
5、两个字符串连接成一个字符串 .cancat() str.cancat(str2) 是str字符串后接str2字符串。
6、比较两个字符串的内容是否相同 .equals()
7、获取字符串下标 .indexof() str.indexof("ab");以第一个字符的首地址为结果。
str.indexof('$'); 字符$在str字符串中的位置。下标同样从0开始。
8、获取下标对应的字符 .charat() eg:String s = new String("abcd"); s.charat(0);输出结果为a。
9、替换字符串中所以相同的字符 .replace() eg: String str = new String ("abababa");
String strr = str.replace('a','b').String strrr = str.replace("ab","cd")
System.out.println(strr);结果为都是b。System.out.println(strrr);结果cdcdcda。
10、 去除字符串前后多余空格 .trim() eg:String s = new String(" ssd asd ");输出时将省略前
面后面的空格,中间空格保留。
11、判断字符串前缀和后缀 .startsWith() .endsWith()
eg: String s=new String("123@qq.com"); boolean bo = s.endsWith(".com");
12、字符串的截取 .substring() eg: String str = new String("abcdefg");
String strr = str.substring(1)从下标为1的位置开始,到结束,取头不算尾。
strr输出的字符串为bcdefg。
13、字符串按分隔符分成多个数组 .split() eg:String str =new String("ssabcdefsass");
String []a=str.split("s");
数组打印结果为: , abcdef,a
在开头或者中间遇到2个相同的分隔符,打印一空格,最后遇见2个相同分隔符不打印不管。
字符串在实际运用中多练习很容易掌握。