public class Test199 {
public static void main(String[] args) {
System.out.println(“以下为6个String构造方法”);
String a = new String();//创建一个内容为空的字符串对,无参构造创造空字符串
System.out.println(a);
byte[] b = {-1,97,98,120,67};
String a1 = new String(b); //输出?abxC
System.out.println(a1);//创建一个内容为字节数组内容的字符串对象【可以把字节数组的内容变为字符串】
char[] a2= {'1','2','a'};
String a3 = new String(a2);//创建一个内容为字符数组内容的字符串对象【可以把字符数组的内容变为字符串】
System.out.println(a3);//输出12a
String a4 = new String( b ,2,2);//创建一个内容为字节数组中指定内容的字符串对象
// 【可以把字节数组的指定内容变为字符串】
System.out.println(a4);//输出bx
String a5 = new String(a2 , 0,1);//创建一个内容为字符数组中
//指定内容的字符串对象【可以把字符数组的指定内容变为字符串】
System.out.println(a5);//输出1
String a6 = new String("adc");//创建一个内容为字符串s的新的字符串对象
System.out.println(a6);//输出adc
System.out.println("以上为String的6个构造方法");
System.out.println("以下为String类常用获取方法");
String x = "123416";
x.length();//获取字符串的长度
System.out.println(x.length());//数组的length是属性,String的length()是方法,,,这里输出6
System.out.println(x.isEmpty());//输出false判断字符串是否为空;
char x1 = x.charAt(0);//获取字符串指定索引位置的字符,这里输出1
System.out.println(x1);
String x2= x.substring(2);//从指定索引开始截取字符串到结尾的内容;输出3456;含始
System.out.println(x2);
String x3 = x.substring(2,5);//从指定索引开始截取字符串到指定 的索引位置结束的内容 【截取的原则:含头不含尾】
System.out.println(x3);//输出345
// indexOf()家族:默认从左往右找
//x.indexOf('1');//返回字符串中指定字符元素第一次出现的索引值、。。char字符型。
System.out.println( x.indexOf('1'));//输出0;
int x4 = x.indexOf('1',3);//返回字符串中指定索引后内容中指定元符元素第一次出现的索引值
System.out.println(x4);//输出4
//返回字符串中指定索引后内容中指定字符元素第一次出现的索引值 indexOf(String s)
int x5 = x.indexOf('1');
System.out.println(x5);//输出0;
int x6= x.indexOf(1);
System.out.println(x6);//输出-1;字符串中没有要找的元素,输出-1
int x7= x. indexOf('1',3);//返回字符串中指定 索引后内容中指定字符串元素第一次出现的索引值
System.out.println(x7);//输出4;
//lastIndexOf()家族:原理和
// indexOf家族原理一样,只不过查找的顺序是从右往左找方法的练习
int x8 = x.lastIndexOf('1');
System.out.println(x8);//输出4;
int x9 = x.lastIndexOf('1',3);
System.out.println(x9);//输出0
System.out.println("一下为String类的常用转换功能");
//getBytes():把字符串变成字节数组 toCharArray():把字符串变成字符数组
byte[] arr1 = x.getBytes();
System.out.println(arr1[1]);
System.out.println(arr1.toString());//123416
//toCharArray():把字符串变成字符数组
char[] chars = x.toCharArray();
System.out.println(chars);//123416//char是个特殊的,可以直接输出不是地址,代表内容
System.out.println(Arrays.toString(chars));//输出123416 Arrays.toString(数组)输出 Arrays.sort(数组)排序
//toUpperCase():把字符串的内容全部变为大写
String xx = "abcccc";
System.out.println(xx.toUpperCase());//大写ABCCCC;
System.out.println(xx.toLowerCase());//小写abcccc;
//concat(String s2):拼接两个字符串的内容为一个字符串【效
// 果和+一样的】
System.out.println(xx.concat("dc"));//输出abccccdc;
//valueOf(参数):把任意类型的数据变为字符串 【效果和数据后面+""】 代码示例
System.out.println(String.valueOf(123));//这里输出字符一二三
//replace(String oldStr,String newStr): 使用指定的newStr替换调用字符串对
// 象中的oldStr内容 trim():去除字符串首尾空白内容的
String xx1 = " abc ccc ";
xx1.replace("c","k");
System.out.println( xx1.replace("c","k"));//替换输出 abk kkk
System.out.println(xx1.trim());//去两边空格
// equals(String s);//比较两个字符串内容是否一致
String q = "1234";
String q1 = "4321";
System.out.println("以下为String类的常用判断比较功能");
q.equalsIgnoreCase(q1);//忽略大小写比较两个字符串对象的内容是否一致【比较的英文】
System.out.println( q.equalsIgnoreCase(q1));//输出false
q.contains("34");//判断调用字符串对象中是否包含指定的字符串
System.out.println(q.contains("34"));//输出true
q.startsWith("2");//判断调用字符串对象是否以指定的字符串开始
System.out.println(q.startsWith("2"));//输出false
q.endsWith( "34");//判断调用字符串对象是否以指定的字符串结尾
System.out.println( q.endsWith( "34")); //输出true
q.isEmpty();//判断调用的字符串对象的内容是否为空
System.out.println( q.isEmpty());//输出false