补充上一篇文章末尾String类中的一个方法
public String substring(int beginIndex, int endIndex)
参数:起始位置,与结束位置 int类型
返回值:String类型
public class Test {
public static void main(String[] args) {
String s ="ABCDEFG";
System.out.println(s.substring(1,3));
}
}
执行结果:BC
StringBuffer类、StringBuilder类(字符缓冲区)
capacity方法 (public int capacity())
返回值:int类型
public class Test {
public static void main(String[] args) {
//通过无参构造创建缓冲区
StringBuffer sb = new StringBuffer();
//缓冲区内没有字符
System.out.println(sb.capacity());
}
}
执行结果:16
append方法(public StringBuffer append(Object obj)
参数:任意类型
返回值:StringBuffer缓冲区类型
public class Test {
public static void main(String[] args) {
StringBuffer sb = new StringBuffer();
//添加字符串类型
sb.append("66");
//添加int类型
sb.append(1);
//添加float类型
sb.append(1.5f);
//添加double类型
sb.append(1.00);
//添加long类型
sb.append(5L);
//添加char类型
sb.append('a');
//引用类型
sb.append(new Student());
//由于StringBuffer类重写了toString方法,所以打印的是缓冲区内的字符串
System.out.println(sb.toString());
}
}
执行结果:6611.51.05aStudent{name='null', age=0}
reserve方法(public StringBuffer reverse()
public class Test {
public static void main(String[] args) {
//通过有参构造创建StringBuffer对象
StringBuffer sb = new StringBuffer("abcdef123456");
System.out.println(sb.reverse().toString());
}
}
执行结果 : 654321fedcba
indexOf方法(public int indexOf(String str))
参数:String类型
返回值:int类型(未找到返回-1)
public class Test {
public static void main(String[] args) {
StringBuffer sb = new StringBuffer("abcd123456");
System.out.println(sb.indexOf("12"));//从头开始找,返回该字符串头一个字符在缓冲区中的索引值
}
}
执行结果:4
lastIndexOf方法(public int lastIndexOf(String str))
参数:String类型
返回值:int类型(未找到返回-1)
public class Test {
public static void main(String[] args) {
StringBuffer sb = new StringBuffer("abcd123456");
System.out.println(sb.lastIndexOf("6"));//从最后一个开始,找返回该字符串第一个元素在缓冲区中的索引值
}
}
执行结果:9
缓冲区类型与字符串间的相互转换
Arrays类
1、数组遍历
public static String toString(int[] arr),这个地方拿int类型数组举栗子
参数:任意基本类型的数组
返回值:String类型
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
int[] arr = {55,66,88,77,99,11,33};
System.out.println(Arrays.toString(arr));
}
}
输出结果:[55, 66, 88, 77, 99, 11, 33]
2、数组排序
public static void sort(int[] arr)
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
int[] arr = {55,66,88,77,99,11,33};
Arrays.sort(arr);//数组排序
System.out.println(Arrays.toString(arr));
}
}
执行结果:[11, 33, 55, 66, 77, 88, 99]
3、二分查找
public static int binarySearch(int[] a, int key)
参数:被查找的数组,需要查询的元素的值
返回值 :该元素在该数组中的索引值int类型,未找到则返回-1
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
int[] arr = {55,66,88,77,99,11,33};
System.out.println(Arrays.binarySearch(arr,1));//查找1在arr数组中的索引
}
}
执行结果: -1