String当中与获取相关的常用方法
public int length(): 获取字符串当中含有的字符个数,拿到字符串长度。
public String concat(String str): 将当前字符串和参数字符串拼接成为返回值新的字符串。
public int length(): 获取字符串当中含有的字符个数,拿到字符串长度。
public String concat(String str): 将当前字符串和参数字符串拼接成为返回值新的字符串。
public char charAt(int index): 获取指定索引位置的单个字符。(索引从开始。 )
public int indexof(String str): 查找参数字符串在本字符串当中首次出现的索引位置,如果没有返回-1值。
int length="afdafhdhlfd".length();
System.out.println("字符串的长度:"+length); //11
//拼接字符串
String str1="hello";
String str2="world";
String str3=str1.concat(str2);
System.out.println(str1);//hello
System.out.println(str2);//world
System.out.println(str3);//helloworld 拼接成功
//须注意,字符串是常量,不可改变。拼接是创造咯一个新的字符串
//获得索引位置的单个字符
char ch="hello".charAt(1);
System.out.println("再一号位置的索引字符是:"+ch);//e
//查找参数字符串再本来字符串出现第一次的索引位置
//如果没有则返回-1
String orig="helloWorld";
int index=orig.indexOf("llo");
System.out.println("第一次的索引值是:"+index);//2
System.out.println("helloWorldhelloWorld".indexOf("abc"));//查找不到,返回-1
字符串的截取方法:
public String substring(int index): 截取从参数位置一直到字符串末尾, 返回新字符串。
public String substring(int begin, int end): 截取从begin开始,一直到end结束, 中间的字符串。
备注: [begin,end), 包含左边,不包含右边。
String str1="helloWorld";
String str2=str1.substring(5);//截取5号元素后的
System.out.println(str1);//不变
System.out.println(str2);//world
System.out.println("========");
String str3=str1.substring(4, 7);
System.out.println(str3);//owo
//下面这种写法,字符串的内容仍然是没有改变的
//下面有两个字符串: "Hello", "Java'
// strA当中保存的是地址值。
//本来地址值是Hello的0x666,
//后来地址值变成了Java的0x999
String strA = "He11o";
System. out . println(strA); // Hello
strA = "Java";//字符串内容不可改变,变的是strA的地址,
System. out . println(strA); // Java
String当中与转换有关的常用方法
public char[] toCharArray(); 将当前字符串拆分成为字符数组作为返回值。
public byte[] getBytes(): 获得当前字符串底层的字节数组。
public String replace(CharSequence oldString,CharSequence newString):
将所有出现的老字符串替换成为新的字符串,返回替换之后的结果新字符串。
char[] chars="hello".toCharArray();
System.out.println(chars[0]);//h
System.out.println(chars.length);//5,注意此处是数组,length没有括号
//转换成为字节数组
byte[] bytes="Hello".getBytes();
for(int i=0;i<bytes.length;i++)
{
System.out.println(bytes[i]);//注意,字节数组是底层是用Ascall码进行交互的
//72 101 108 108 111
}
//字符串内容的替换
String str1="hou do you do";
String str2=str1.replace("o", "*");
System.out.println(str1);//hou do you do
System.out.println(str2);//h*u d* y*u d*
String str3="你是个憨憨";
String str4=str3.replace("是", "*");
System.out.println(str3);//你是个憨憨
System.out.println(str4);//你*个憨憨
分割字符串的方法:
public String[] split(String regex): 按照参数的规则,将字符串切分成为若干部分。
注意事项:
split方法的参数其实是-个“正则表达式”,今后学习。
今天要注意:如果按照英文句点“”进行切分,必须写**"//.”**
**“.”**有特殊含义,故不能直接用,要换成普通字符,
与转义字符相似。
String str1="aaa,bbb,ccc";
String[] str2=str1.split(",");
for(int i=0;i<str2.length;i++)
{
System.out.print(str2[i]);//aaabbbccc
}
String str3="aaa.bbb.ccc";
String[] str4=str3.split("\\.");//无法切割,程序报错
for(int i=0;i<str4.length;i++)
{
System.out.print(str2[i]);//aaabbbccc
}