import org.junit.Test;
public class csdn {
/*
* JDK中包含大量的API类库,所谓API就是一些已写好,可以直接调用的
* 功能,JDK-API包含的类库功能强大,经常使用的有:字符串操作、集合
* 操作、文件操作、输入输出操作、网络操作、多线程等等
*/
/*
* Java为了提高性能,静态字符串(字面量/常量/常量连接的结果)在常
* 量池中创建,并尽量使用一个对象,重用静态字符串
* 对于重复出现的字符串直接量,JVM会首先在常量池中查找,如果存在即返回对象
*/
@Test
/**
* String常量池
*/
public void test01() {
String str1 = "Hello World";
String str2 = "Hello World";
//str2不会创建心得String对象,而是使用常量池中已有的“Hello World”
System.out.println(str1 == str2);//输出true
//使用new关键字会创建心得String对象
String str3 = new String("Hello World");
System.out.println(str1 == str3);//输出false
}
@Test
/**
* 内存编码及长度
*/
public void test02() {
String str1 = "Hello World";//输出11
System.out.println(str1.length());
String str2 = "我的第一个java程序";//输出11
System.out.println(str2.length());
}
@Test
/**
* 使用indexOf实现检索
*/
public void test03() {
String str = "Just do it bro";
int index = str.indexOf("bro");//输出11,字符串bro所在的位置
System.out.println(index);
index = str.lastIndexOf('o');//输出13,字符串o所在的位置
System.out.println(index);
index = str.indexOf('o',9);//输出13,从位置9开始,字符串o所在的位置
System.out.println(index);
index = str.indexOf("www");//输出-1,字符串www所在的位置,www在字符串中不存在,所以输出-1
System.out.println(index);
}
@Test
/**
* 使用substring获取字串
*/
public void test04() {
String str = "www.51mole.com";
String substr = str.substring(4,10);//输出51mole
/*String subString(int 开始位置,int 结束位置);*/
System.out.println(substr);
substr = str.substring(10);
/*String subString(int 开始位置);*/
System.out.println(substr);//输出.com
}
@Test
/**
* trim(去掉一个字符串的前导和后记空字符)
* 用户名输入方面使用比较多
*/
public void test05() {
String userName = " Well done ";
System.out.println(userName.length());//输出11
userName = userName.trim();
System.out.println(userName.length());//输出9
System.out.println(userName);//输出Well done,去掉了两边空格
}
@Test
/**
* charAt运用
*/
public void test06() {
StringBuilder name = new StringBuilder();
name.append("What your name");
for(int i = 0 ; i < name.length();i ++) {
char c = name.charAt(i);//用于返回字符串指定位置的字符
System.out.print(c + " ");//输出W h a t y o u r n a m e
}
}
@Test
/**
* 检测一个字符串是否已指定字符串开头或结尾
*/
public void test07() {
String str = "David and is gf";
System.out.println(str.startsWith("David"));//输出true
System.out.println(str.endsWith("gf"));//输出true
System.out.println(str.startsWith("david"));//输出false
System.out.println(str.endsWith("Gf"));//输出false
}
@Test
/**
* 转换字符串中英文字母的大小写形式
*/
public void test08() {
String str = "我喜欢asdf";
str = str.toUpperCase();
System.out.println(str);//我喜欢ASDF
str = str.toLowerCase();
System.out.println(str);//我喜欢asdf
}
@Test
/**
* valueOf
* 将其他类型转换为字符串类型
*/
public void test09() {
double pi = 3.14156926;
int value = 123;
boolean flag = true;
char[] charArr = {'a','b','c','d','e','f','g'};
String str = String.valueOf(pi);
System.out.println(str);//3.1415926
str = String.valueOf(value);
System.out.println(str);//123
str= String.valueOf(flag);
System.out.println(str);//true
str = String.valueOf(charArr);
System.out.println(str);//abcdefg
}
}