黑马程序员_String类的常用功能

------- android培训java培训、期待与您交流!----------
String类用于描述字符串事物,字符串的最大特点是一旦被初始化就不可以被改变。

String类的常用功能:
1,获取
①获取字符串的长度:int  length()
②根据索引获取位置上的某个字符:char charAt(int index)
③根据字符获取该字符在字符串中的位置:
int indexOf(int ch) (返回的是char在字符串中第一次出现的位置)
int indexOf(int ch,int fromIndex)(从formIndex指定的位置开始获取字符串在ch的位置)
int indexOf(String str)(返回str在字符串中第一次出现的位置)
int indexOf(String str,int formIndex)(从fromIndex指定位置开始获取str在字符串出现位置)
示例:
public static void method_get(){
		String str = "abcdefgabhklm";
		//获取字符串的长度
		sop(str.length());
		//根据索引获取字符
		sop(str.charAt(5));//当访问到字符串中不存在的角标是会发生StringIndexOutOfBoundsException
		//根据字符获取索引
		sop(str.indexOf('a'));
		sop(str.indexOf('a',4));//当反问道字符串中没有的字符是返回-1.
		//根据字符串获取索引
		sop(str.indexOf("ab"));
		sop(str.indexOf("ab",2));
		//反向索引一个字符出现的位置
		sop(str.lastIndexOf("a"));//从右往左找
	}
2,判断
①字符串中是否包含一个子串:boolean contains(str)
②字符串中是否有内容:boolean isEmpty()
③字符串是否以指定内容开头:boolean startsWith(str)
④字符串是否以指定内容结尾:boolean endsWith(str)
⑤判断两个字符串内容是否相同(String类从写了Object类的equals):boolean equals(str)
⑥判断内容是否相同,并忽略大小写:boolean equalsIgnoreCase(str)
示例:
public static void method_is(){
		String str = "ArrayDemo.java";
		String s1 = "abc";
		String s2 = "ABC";
		//判断字符串是否为空
		sop(str.isEmpty());//返回false
		//判断文件名称是否是Array单词开头
		sop(str.startsWith("Array"));//返回true
		//判断文件是不是以.java结尾
		sop(str.endsWith(".java"));//返回true
		//判断文件中是否包含Demo
		sop(str.contains("Demo"));//返回true
		//判断字符串内容是否相同
		sop(s1.equals(s2));//返回false
		//判断字符串内容是否相同,并忽略大小写
		sop(s1.equalsIgnoreCase(s2));//返回true
	}
3,转换
①将字符数组转换成字符串
构造函数的方式:
String(char[] )
String(char[],offset,count)(将字符的一部分转换成字符串)
静态方法:
static String copyValueOf(char[])
static String valueOf(char[])
②将字符串转换为数组 char[]  toCharArray()
③将字节数组转换为字符串
构造函数的方式:
String(byte[] )
String( byte[],offset,count)(将字符的一部分转换成字符串)
静态方法: static String valueOf(byte[])
④将字符串转换为字节数组:byte[] getBytes()
⑤将基本类型转换为字符串:
String valueOf(char c)
String valueOf(char[] c)
String valueOf(char[] c,int offset,int count)
String valueOf(double d)
String valueOf(float f)
String valueOf(int i)
String valueOf(long l)
String valueOf(boolean b)
示例:
public static void method_trans(){
		//将字符数组转换成字符串。通过构造函数的方法实现
		char[] arr = {'a','b','c','d','e','f'};
		String s1 = new String(arr);
		String s2 = new String(arr,1,4);
		sop("s1="+s1);//返回s1=abcdef
		sop("s2="+s2);//返回s2=bcde
		sop("将字符数组arr转换为字符串::"+String.copyValueOf(arr));//返回字符串::abcdef
		sop("将arr数组的部分字符转换为字符串::"+String.copyValueOf(arr,1,3));//返回字符串::bcd
		
		
		//将字符串转成字符数组
		String str = "cvalcheng";
		char[] ch = str.toCharArray();
		for(int x = 0;x<ch.length;x++){
			System.out.print("ch="+ch[x]+"  ");
		}
		
		
		//将字节数组转换成字符串的方式与字符数组转成字符串的方式一样,就不写了。
		//将字符串转换成字节数组,
		byte[] by = str.getBytes();
		for(int x = 0;x<ch.length;x++){
			System.out.println("by="+by[x]+"  ");
		}
		
		
		//将基本数据类型转换为字符串,
		sop(String.valueOf(3)+3);//等于3+"";结果是33
		sop(String.valueOf(false)+"a");//结果是falsea
		sop(String.valueOf('a')+"ad");//
		//还可以有其他的基本数据类型就不一一列举了。
		
	}
4,替换:String replace(oldchar,newchar)
 String replace(oldstr,newstr)
示例:
public static void method_replace(){
		String s1 = "Hello Java";
		//String s2 = s1.replace('w', 'v');//如果要替换的字符不存在就返回原来的字符串
		String s2 = s1.replace('H', 'v');
		String s3 = s1.replace("Java", "world");
		sop("s1="+s1);//返回Hello Java
		sop("s2="+s2);//返回vello Java
		sop("s3="+s3);
		
	}
5,切割:  String[] split(regex)
示例:
	public static void method_split(){
		String s = "zhangsan,lisi,wangwu";
		String[] arr = s.split(",");
		for(int x = 0;x<arr.length;x++){
			sop(arr[x]);
		}
		
	}
6,子串:获取字符串中的一部分
String substring(begin)
String substring(begin,end)
示例:
	public static void method_substring(){
		String s  = "cvalcheng";
		sop(s.substring(2));//从指定位置到结尾    alcheng
		sop(s.subSequence(2, 5));//从指定位置开始,包含头不包含尾  alc
	}
7,转换,去除空格,比较
①转换:将字符串转换成大写或者小写
String toUpperCase()
String toLowerCase()
②将字符串两端的多余空格去除
String trim()
③对两个字符串进行自然顺序的比较
int compareto(String str)
示例:
public static void method_7(){
		String s = "        Hello Java       ";
		//将字符串s转换为大写
		sop(s.toUpperCase());
		//将字符串转换为小写
		sop(s.toLowerCase());
		//去除字符串两端的空格
		sop(s.trim());
		//用compareto对两个字符串进行自然顺序比较,
		String s1 = "abc";
		String s2 = "klm";
		sop(s1.compareTo(s2));//当s1的值等于s2的值结果是0,大于的时候返回的是正数,小于的时候返回的是负数
		
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值