java字符串的基本概念
字符串是java特殊的类,使用方法像一般的基本数据类型。
声明字符串的方法:
字符串类型 字符串名字 = 字符串内容
例如 String str=“hello”;
字符串的作用:处理文本
java中处理文本主要应用类是String和StringBuffer,一般String是用来处理小的文本,StringBuffer用来处理大型文本。
字符串赋值
字符串初始化后,长度不会改变,并且内容也不变,如果要改变他的值,就会产生一个新的字符串。
例如:
String a=“你好”;
a = a +"吗"
程序会先产生a的字符串对象并在内存中申请了一段空间,此时要追加新的字符串是不可能的,因为字符串被初始化,长度是固定的,如果要改变它,只能放弃原来的空间,重新申请能够容纳"你好" 和 "吗" 2个字符串的空间,最后在将“你好吗” 字符串放到内存中。
字符串处理方法
串连接
java语言中有2中串连接方法一种是“+”,另一种是使用方法函数concat(String str)
例如
String str1="胡";
String str2="小牧";
System.out.println(str1+" "+str2);
System.out.println(str1.concat(str2));
2个输出的结果相同,
提取子字符串
方式是substring(int beginIndex,int endIndex) 或者 substring(int index)
substring(int beginIndex,int endIndex) :是提取开始位置和结束位置的字符串。
substring(int index):是提取从index指定的位置开始,一直到字符串的最后
例如
String str="nice to meet you"
//提取从字符串的第三个元素到第八个元素位置的字符串
System.out.println(str.substring(2,8)); 注意这里的字符串的顺序第一个是是从0开始数的第三个字符也就是2
//提取从字符串的第3个元素开始到结束位置的字符串
System.out.println(str.substring(2))
从字符串中分解字符
charAt(int index)
这个方法返回的是字符,而不是字符串,这是和前面的区别,参数index是指定字符串序列中字符的位置
String str=“nice to meet you”;
//获取第二个位置的字符
System.out.println(str.charAt(1))//结果是i
得到字符串的长度
length()
注意数组的长度是length,而字符串的长度是length(),数组的长度后面没有括号,得到的数组是是一个属性值,而得到字符串长度是一个方法,
测试字符串是否相等
equals(String str)
例如
String str1 = “123”;
String str2 = “123”;
if(str1.equals(str2)){
System.out.println("字符串相同")
}else{
System.out.println("字符串不相同");
}
// 忽略大小写的比较是equalsIgnoreCase(String str)
查找特定字符串
查找字符中子串有三个方法:
indexOf(子串内容) 方法是帮助查找子串,如果返回时负数,就表示在当前字符串中没有找到所查找的子串。
startsWith(子串内容)方式是测试当前字符串是否以一个子串开始
endsWith(子串内容) 方法是测试当前子串是否以子串内容为结尾
例如
String str = "大糊涂要考试了";
System.out.println(str.indexOf("小"));
System.out.println(str.startsWith("要"));
System.out.println(str.endsWith("大"));
基本类型转换成字符串
valueOf
将基本类型数据转换为相应的字符串。
String.valueOf(int i) 将int 变量转换为字符串
eg int i = 66;
String str = String.valueOf(i)// 这时候 str 就是"66"
当然想把String 转换为基本数据类型可以使用包装类也可以使用
parse××
eg :byte 可以是Byte.parseByte(String s);将s转成byte
int可以是Integer.parseInt(String s); 将s转成int
long可以是Long.parseLong(String s);将s转成long
float和double可以是Double.parseFloat(String s)和Double.parseDouble(String s)
------------------
toString()方法
在java类库中基本类中,每一个类都有toString()方法,可以将这个方法写出来,也可以直接使用对象来代替toString()方法。
String str="abc"; System.out.println(str.toString());
(这个主要是java中内含有一种机制,系统默认会在这些对象后面自动加上toString()方法)