String 类
成员方法
int length():
获取当前字符串的长度
char charAt(int index):
获取指定索引位置的字符
int indexOf(String):
获取指定字符(串)第一次出现的索引
int lastIndexOf(String):
获取指定字符(串)最后一次出现的索引
String substring(int):
获取指定索引位置(含)之后的字符串
String substring(int, int):
获取从索引start位置(含)起止索引end位置(不含)的字符串
package cn.itcast.demo05;
/*
String类的获取功能:
int length(): 获取当前字符串的长度
char charAt(int index): 获取指定索引位置的字符
int indexOf(String):获取指定字符(串)第一次出现的索引
int lastIndexOf(String):获取指定字符(串)最后一次出现的索引
String substring(int):获取指定索引位置(含)之后的字符串
String substring(int, int):获取从索引start位置(含)起至索引end位置(不含)的字符串
*/
public class Test {
public static void main(String[] args) {
//定义一个字符串
String str = "java 黑马程序员 java";
//int length(): 获取当前字符串的长度
int length = str.length();
System.out.println(length);
//System.out.println(str.length());这是打印int length()的另外一种方法
//char charAt(int index): 获取指定索引位置的字符
char ch = str.charAt(1);
System.out.println(ch);
//int indexOf(String):获取指定字符(串)第一次出现的索引
//需求:字符'a'第一次出现的位置
int index1 = str.indexOf('a');
System.out.println("index1: " + index1);
//int lastIndexOf(String):获取指定字符(串)最后一次出现的索引
int index2 = str.lastIndexOf('a');
System.out.println("index2: " + index2);
//String substring(int):获取指定索引位置(含)之后的字符串
//需求:截取从索引5开始的所有元素
String s1 = str.substring(5);
System.out.println("s1: " + s1);
//String substring(int, int):获取从索引start位置(含)起至索引end位置(不含)的字符串
String s2 = str.substring(5,10);//打印结果为“黑马程序员”,包含第一个索引,不包含最后一个索引
System.out.println("s2: " + s2);
}
}
成员方法
byte[] getBytes():
将字符串转换成字节数组
char[] toCharArray():
将字符串转换成字符数组
static String valueOf(…):
将指定数据转换成字符串
String replaced(old,new):
将指定字符(串)替换成新的字符(串)
String[] split(String):
切割字符串,返回切割后的字符串数据,原字符串不变
String trim():
去掉字符串两端的空白字符
package cn.itcast.demo06;
/*
String类的转换功能:
byte[] getBytes():将字符串转换成字节数组
char[] toCharArray():将字符串转换成字符数组
static String valueOf(..):将指定类型转换成字符串
String replace(old, new):将指定字符(串)替换成新的字符(串)
String[] split(String):切割字符串,返回切割后的字符串数据,原字符串不变
String trim():去掉字符串两端的空白字符
*/
import java.nio.charset.StandardCharsets;
public class Test {
public static void main(String[] args) {
//定义一个字符串
String s1 = "abc";
//byte[] getBytes():将字符串转换成字节数组
byte[] bys = s1.getBytes();//a:97 b:98 c:99返回的是字符对应的数字形式
for(int i = 0; i < bys.length; i++){
System.out.println(bys[i]);
}
System.out.println("==============");
//char[] toCharArray():将字符串转换成字符数组
char[] chs = s1.toCharArray();
for(int i = 0; i < chs.length; i++){
System.out.println(chs[i]);
}
System.out.println("==================");
//static String valueOf(..):将指定类型转换成字符串
//整数123--->字符串"123"
String s2 = String.valueOf(123);
System.out.println(s2 + 4);//字符串与数字4的拼接
//在实际开发中,上述的方式基本上都会用下边的这行代码替代
String s3 = "" + 123;
System.out.println(s3 + 4);
System.out.println("=====================");
//String replace(old, new):将指定字符(串)替换成新的字符(串)
String s4 = "abc abc abc";
String s5 = s4.replace('b','d');
System.out.println("s5: " + s5);
System.out.println("==================");
//String[] split(String):切割字符串,返回切割后的字符串数据,原字符串不变
//将字符串s4进行空格切割 因为s4里面有两个空格,所以会被切割两次,即s4由原本的一个变成了三个
String[] arr = s4.split(" ");
for(int i = 0; i < arr.length; i++){
System.out.println(arr[i]);
}
System.out.println("===================");
//String trim():去掉字符串两端的空白字符
String s6 = " a b c ";
String s7 = s6.trim();
System.out.println("s6:" + s6);
System.out.println("s7:" + s7);
}
}
D:\Java\JDK8\bin\java.exe "-javaagent:D:\IDEA\IntelliJ IDEA
98
99
a
b
c
1234
1234
s5: adc adc adc
abc
abc
abc
s6: a b c
s7:a b c
Process finished with exit code 0
package cn.itcast.demo07;
/*
StringBuilder:
简介
可变字符序列,用于构造字符串对象,内部使用自动扩容的数组操作字符串数据。StringBuilder和StringBuffer使用相同的API
构造方法
StringBuilder(): 构造一个空的StringBuilder容器
StringBuilder(String):构造一个StringBuilder容器,并添加指定字符串
成员方法
StringBuilder append(...): 将任意数据添加到StringBuilder容器中,返回自身
String toString(): 将当前StringBuilder容器转成字符串
*/
public class Test {
public static void main(String[] args) {
//测试构造方法
//测试空参构造
StringBuilder sb = new StringBuilder();
StringBuilder sb2 = sb.append("abc");
System.out.println("sb: " + sb);
System.out.println("sb2: " + sb2);
System.out.println("==================");
//需求:将String类的"abc"转成StringBuilder类型的对象
StringBuilder sb3 = new StringBuilder("abc");
System.out.println("sb3: " + sb3);//把字符串类型的abc转换为StringBuilder类型的对象
System.out.println("=======================");
//测试成员方法
//需求:将三个字符串拼接成一个新的字符串:学Java, 传博客 找小黑!
StringBuilder sb4 = new StringBuilder();
sb4.append("学java,");
sb4.append("传博客");
sb4.append("找小黑");
System.out.println("sb4: " + sb4);
System.out.println("==============");
String s = sb4.toString();
System.out.println("字符串s:" + s);
}
}
输出结果:
sb: abc
sb2: abc
sb3: abc
sb4: 学java,传博客找小黑
字符串s:学java,传博客找小黑
Process finished with exit code 0
StringBuilder和StringBuffer类
简介
可变字符序列,用于构造字符串对象。内部使用自动扩容的数组操作字符串数据。StringBuilder和StringBuffer使用相同的API。
构造方法
StringBuilder():
构造一个空的StringBuilder容器
StringBuilder(String):
构造一个StringBuilder容器,并添加指定字符串
成员方法
StringBuilder append(…):
将任意数据添加到StringBuilder容器中
String toString():
将当前StringBuilder容器转成字符串