packagecollection;importjava.lang.reflect.Array;importjava.util.Arrays;/*** Created by wyy on 2017/2/16.*/
public classStringTest {public static voidmain(String[] args) {//String的用法//输出第3个字符
String str="WATERMELON";
String st="lalaland";
System.out.println(str.charAt(2));//将字符数组转化为字符串
char[] ch={'a','b','c','d'};
String c=new String(ch);//abcd
String c1=new String(ch,2,1);//cd
System.out.println(c1);//String的比较用compareTo方法,输出长度差,它从第一位开始比较,如果遇到不同的字符,则马上返回这两个字符的ascii值差值..返回值是int类型
String strr="WA";
String s="wa";int a=str.compareTo(strr);int b=str.compareToIgnoreCase(strr);//忽略大小写
System.out.println(a);//是否以某个字符串开头,结尾
System.out.println(str.startsWith("W"));
System.out.println(str.endsWith("W"));//输出匹配的字母在字符串的位置
int m=str.indexOf("T");
System.out.println(m);
System.out.println(str.indexOf(2,3)); //????、//取子字符串
System.out.println(str.substring(3)); //子字符串,从第4个字符往后,ERMELON
System.out.println(str.substring(3,5));//子字符串,从第4个字符往后,到第6个,ER//改变大小写
System.out.println(str.toLowerCase());//改成小写 watermelon
System.out.println(st.toUpperCase());//改成大写 LALALAND//equals()方法比较字符串对象中的字符,==运算符比较两个对象是否引用同一实例
String s1="Hello";
String s2=newString(s1);
s1.equals(s2);//true ,如果用 == 判断则会报错
System.out.println(strr.equalsIgnoreCase(s));//比较相等,忽略大小写 true
/*连接两个字符串,此处比较:
StringBuffer.append(),Stringbuffer是可变的,创建一个StringBuffer对象后,连接后,对象的值也会变
String的concat(),只能用于字符串,String是final修饰的类,是不可变的,每次必须新建一个对象接收concat,才会有变化
而+可以用于任何类型的连接*/StringBuffer sb1=new StringBuffer("love");
sb1.append("rose");
String h="I LIKE KE";
h.concat("rose");
System.out.println(sb1);//sb1的值直接变了,loverose
System.out.println(h);//h.concat("rose")赋给新的String变量才能变,I LIKE
System.out.println(h+"you");//I LIKEyou//替换字符串中的字符或字符串 replace()
String h1=h.replace('I','A');//将所有的I替换成A
String h2=h.replaceFirst("KE","OO");//将第一个的KE替换成OO
String h3=h.replaceAll("KE","OO");//将所有的KE替换成OO
System.out.println(h1);
System.out.println(h2);
System.out.println(h3);//trim(),去掉字符串前后的空格,如果替换全部,可以用replaceALL(" ","")
String k=" lala da do ";
String k1=k.trim();
String k2=k.replace(" ","");
System.out.println(k1);
System.out.println(k2);//contains()是否包含某个字符串或字符
System.out.println(k.contains("lala"));//true
/*split(),返回的是个字符串数组,
注意对于字符"|","*","+"都得加上转义字符,前面加上"\\",
而如果是"\",那么就得写成"\\\\"。
如果一个字符串中有多个分隔符,可以用"|"作为连字符。*/String l="wa.ni.huhu";
String l2="wo%ai#chi";
String[] l1=l.split("\\.");for(String j:l1
) {
System.out.println(j);
}
String[] l3=l2.split("%|#");for(String n:l3
) {
System.out.println(n);//wo ai chi
}/*将字符串转化为基本数据类型,用Int.parseInt(string)
包括Byte、Short、Integer、Float、Double类*/String n3="12.34";float n1=Float.parseFloat(n3); //12.34
double n2=Double.parseDouble(n3);//12.34
System.out.println(n1);
System.out.println(n2);/*将基本的数据类型转化为String类型,用 String.valueOf()*/
int p1=7;
String p2=String .valueOf(p1)+"ww";
System.out.println(p2);//7ww
/*Stringbuilder,字符串构建器,用于构建连接短的字符串,避免每次连接字符串产生一个新的string对象*/StringBuilder sb=newStringBuilder();
sb.append("wawa");//追加字符串或字符
sb.append("hhhh");
sb.append(str);
sb.insert(2,"i");//在第三个位置插入i
sb.delete(4,6);//waiwhhhWATERMELON 删除了第4,5个字符
System.out.println(sb); //waiwahhhhWATERMELON
sb.toString();//构建一个与构建器内容相同的字符串//字符串数组
/*1.定义数组必须要定义大小,而arraylist是动态的,可以不用定义大小*/String[] str1=new String[]{"b","c"};
String[] str2=new String[2];
str2[1]="dd"; //不能整体定义//输出整个字符串
System.out.println(str1.toString()); //[Ljava.lang.String;@1540e19d
System.out.println(Arrays.toString(str1)); //Arrays.toString() 把结果转化为字符串//foreach循环
for(String n:str1
) {
System.out.println(s);
}//for循环
for (int i = 0; i < str1.length; i++) {
System.out.println(str1[i]);
}
}
}