String详解

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
	}
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值