黑马程序员技术交流社区
标题:
今天复习,对String类API中一些方法总结
[打印本页]
作者:
joerk
时间:
2015-7-19 13:27
标题:
今天复习,对String类API中一些方法总结
package com.xzh.day_12;
import java.util.Arrays;
public class StringTest {
public static void main(String[] args) {
System.out.println("************** 0、构造方法 测试 ***************");
/*
构造方法:
A:String s = new String();//创建一个内容为空的字符串对象;
B:String s = new String(byte[] bys);//将一个字节数组转为一个字符串;
C:String s = new String(byte[] bys,int index,int length);//把一个字节数组从索引为index的位置,截取后面的length个字节元素(包括index位置的元素)。
D:String s = new String(char[] chs);//将一个字符数组转为一个字符串;
E:String s = new String(char[] chs,int index,int length);//把一个字符数组从索引为index的位置,截取后面的length个字符元素(包括index位置的元素)。
F:String s = new String(String str);//初始化一个创建的String对象。
G:String s = "hello";//直接给一个字符串引用赋值。
*/
byte[] bys = {97,98,99,100,101,102,103};
char[] chs = {'A','B','C','D','E','F','G'};
String s = new String();
String s1 = new String( bys);//abcdefg
String s2= new String( bys,2,4);//cdef
String s3 = new String(chs);//ABCDEFG
String s4 = new String( chs,2,4);//CDEF
String s5 = new String("HelloWorld");//HelloWorld
String s6 = "helloworld";
System.out.println("字符串s:" + s);
System.out.println("字符串s1:" + s1);
System.out.println("字符串s2:" + s2);
System.out.println("字符串s3:" + s3);
System.out.println("字符串s4:" + s4);
System.out.println("字符串s5:" + s5);
System.out.println("字符串s6:" + s6);
System.out.println();
System.out.println();
System.out.println("************** 1、 判断功能 测试 ***************");
/*
A:判断功能
boolean equals(Object obj)//判断两个字符串的内容是否相等,区分大小写;
boolean equalsIgnoreCase(String str)//判断两个字符串的内容是否相等,忽略大小写。
boolean contains(String str)//判断本字符串是否包含传入的str字符串。
boolean startsWith(String str)//判断本字符串是否是以传入的str字符串开始的。
boolean endsWith(String str)//判断本字符串是否是以传入的str字符串结束的。
boolean isEmpty()//判断本字符串是否为空。
*/
String s7 = "HelloWorld";
System.out.println("判断字符串s7:" + s7 + ", 与s5:" + s5 +",是否相等(区分大小写):" + s7.equals(s5));//true
System.out.println("判断字符串s7:" + s7 + ", 与s6:" + s6 +",是否相等(区分大小写):" + s7.equals(s6));//false
System.out.println("判断字符串s7:" + s7 + ", 与s6:" + s6 +",是否相等(忽略大小写):" + s7.equalsIgnoreCase(s6));//true
System.out.println("-------------------");
String s8 = "Hello";
System.out.println("判断字符串s7:" + s7 + ", 是否包含字符串s8:"+ s8 + "; 结果为= "+ s7.contains(s8));//true
System.out.println("判断字符串s6:" + s6 + ", 是否包含字符串s8:"+ s8 + "; 结果为= "+ s6.contains(s8));//false ,说明这个是区分大小写的。
System.out.println("-------------------");
String s9 = "World";
System.out.println("判断字符串s7:" + s7 +"是以字符串s8:" + s8 + ", 开始的吗?结果 = "+ s7.startsWith(s8));//true
System.out.println("判断字符串s7:" + s7 +"是以字符串s9:" + s9 + ", 开始的吗?结果 = "+ s7.startsWith(s9));//false
System.out.println("判断字符串s7:" + s7 +"是以字符串s9:" + s9 + ", 结尾的吗?结果 = "+ s7.endsWith(s9));//true
System.out.println("判断字符串s7:" + s7 +"是以字符串s8:" + s8 + ", 结尾的吗?结果 = "+ s7.endsWith(s8));//false
System.out.println("---------------------");
System.out.println("判断字符串s:" + s + "是否为空 = " + s.isEmpty());//true
System.out.println("判断字符串s9:" + s9 + "是否为空 = " + s9.isEmpty());//false
System.out.println();
System.out.println();
System.out.println("************** 2、获取功能 测试 ***************");
/*
B:获取功能
int length()//获取本字符串的长度。
char charAt(int index)//获取本字符串中索引为index位置的字符。
int indexOf(int ch)//返回指定字符ch在本字符串中第一次出现的索引位置。
int indexOf(String str)//返回子串str在本字符串中第一次出现的索引位置。
int indexOf(int ch,int fromIndex)//返回指定字符ch,从指定位置fromIndex起(包含此位置),之后第一次出现的位置索引。
int indexOf(String str,int fromIndex)//返回指定字符串str,从指定位置fromIndex起(包含此位置),之后第一次出现的位置索引。
String substring(int start)//在本字符串中,从start索引位置起(包含start)截取一个子串。
String substring(int start,int end)//在本字符串中,截取从start(包含start)索引位置到end(不包含end)索引位置的一个子串。
*/
String str1 = "dfoaiogandngandngiaanan";
System.out.println("s1串:" + s1 +",长度 = "+s1.length());//7
System.out.println("s3串:" + s3 + ",中索引为3的字符 = " + s3.charAt(3));
System.out.println("s3中F的位置 = "+s3.indexOf('F'));
System.out.println("符串str1 = " + str1);
System.out.println("子串an 在str1中第一次出现的索引位置 = " + str1.indexOf("an"));
System.out.println("字符g 从指定位置10开始,在str1中第一次出现的索引位置 = " + str1.indexOf('g',10));
System.out.println("子串an 从指定位置10开始,在str1中第一次出现的索引位置 = " + str1.indexOf("an",10));
System.out.println("在str1中,从索引位置10截取子串 = " + str1.substring(10));
System.out.println("在str1中,截取索引位置10 到 15 的子串 = " + str1.substring(10 ,15));
System.out.println();
System.out.println();
System.out.println("************** 3、转换功能 测试 ***************");
/*
C:转换功能
byte[] getBytes()//把本字符串转换成一个字节数组。
char[] toCharArray()//把本字符串转换成一个字符数组。
static String copyValueOf(char[] chs)//把一个字符数组转换成一个字符串。
static String valueOf(char[] chs)//把一个字符数组转换成一个字符串。
static String valueOf(int i)//将一个int型数转换成字符串。
String toLowerCase()//将本字符串中的所有大写字符转换为小写形式。
String toUpperCase()//将本字符串中的所有小写字符转为大写。
String concat(String str)//将str字符串,连接到本字符串后。
*/
byte[] b = s6.getBytes();
System.out.println("字符串s6:"+s6+"; 转换后的字节数组 = " + Arrays.toString(b));
char[] ch = s6.toCharArray();
System.out.println("字符串s6:"+s6+"; 转换后的字符数组 = " + Arrays.toString(ch));
System.out.println("字符数组chs:" + Arrays.toString(chs) +"; 通过copyValueOf()转换的字符串 = " + String.copyValueOf(chs));
System.out.println("字符数组chs:" + Arrays.toString(chs) +"; 通过valueOf()转换的字符串 = " + String.valueOf(chs));
int i = 520;
System.out.println("将整数 i=" + i + "; 通过valueOf()转换的字符串 = " + String.valueOf(i));
String str2 = "What Has Been Done Is Done";
System.out.println("字符串str2:" + str2 + "; 通过toLowerCase()转小写后的字符串 = " + str2.toLowerCase());
System.out.println("字符串str2:" + str2 + "; 通过toUpperCase()转大写后的字符串 = " + str2.toUpperCase());
System.out.println("把字符串str2:" + str2 + "; 通过concat()连接到字符串s6:" + s6 + "的后面,得到的字符串为:" + s6.concat(str2));
System.out.println();
System.out.println();
System.out.println("************** 4、其他功能 测试 ***************");
/*
a:替换功能
String replace(char oldChar,char newChar)//用新的字符newChar,替换本字符串中的所有oldChar字符。
String replace(String oldString,String newString)//用新的字符串newString,替换本字符串中的所有oldString字符串。
b:切割功能
String[] split(String regex)//将本字符串中的regex字符串切去,返回一个字符串数组。
c:去除两端空格功能
String trim()
d:字典顺序比较功能
int compareTo(String str)//区分大小写条件下,将本字符串与str字符串进行比较。
int compareToIgnoreCase(String str)//忽略大小写,将本字符串与str字符串进行比较。
*/
System.out.println("把字符串str2:" + str2 + ", 中的字符 s 用字符 v 替换后,得到的新字符串为:" + str2.replace('s', 'v'));
System.out.println("把字符串str2:" + str2 +", 中的 Done 用 Loved 替换后,得到的新字符串为:" + str2.replace("Done", "Loved"));
String[] ss = str2.split(" ");
System.out.println("把字符串str2:" + str2 +", 以空格切割后,得到的新字符串数组 = " + Arrays.toString(ss) );
String s11 = " my love ";
System.out.println("把字符串s11:" + s11 +", 两端的空格去掉后,得到的新字符串为:" + s11.trim()+"****");
System.out.println("将字符串s5:" + s5 + ", 与字符串s6:" + s6+", 比较大小(区分大小写),得到的结果 =" + s5.compareTo(s6));
System.out.println("将字符串s5:" + s5 + ", 与字符串s6:" + s6+", 比较大小(忽略大小写),得到的结果 =" + s5.compareToIgnoreCase(s6));
}
}
复制代码
作者:
差不多冬至
时间:
2015-7-19 13:31
打了这么多,学习了 。加油
作者:
joerk
时间:
2015-7-19 13:39
差不多冬至 发表于 2015-7-19 13:31
打了这么多,学习了 。加油
homework{:3_60:}
作者:
Matrix_heima
时间:
2015-7-19 14:14
学习了:lol
作者:
安卓新手
时间:
2015-7-19 14:37
学习了:D
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2