黑马程序员,String类适用于描述字符串事物的。常见的操作有哪些?

android培训java培训、期待与您交流!
String类适用于描述字符串事物的。
那么他就提供了多个方法对字符串进行操作。

常见的操作有哪些?

1,获取
1,1字符串中的包含的字符数,也就是字符串的长度。
int length():获取长度。
1,2根据位置获取位置上某个字符。
char charAt(int index):
1,3根据字符获取该字符串中的位置。
int indexOf(int ch):返回的是ch在字符串中第一次出现的位置。
int indexOf(int ch,int fromIndex):从fromIndex指定位置开始,获取ch在字符串中出现的位置。

int indexOf(String str):返回的是str在字符串中第一次出现的位置。
int indexOf(String str,int fromIndex):从fromIndex指定位置开始,获取str在字符串中出现的位置。

int lastIndexOf(int ch)


2,判断。
2.1字符串中是否包含某一个字串。
boolean contains(str);
特殊之处:indexOf(str):可以索引str第一次出现的位置,如果返回-1,表示该str不在字符串中存在。
所以,也可以用于堆指定字符串判断是否包含。
if(str.indexOf("aa")!=-1)
而且该方法既可以判断,又可以获取出现的位置。
2.2字符串中是否有内容。
boolean isEmpty():原来就是判断长度是否为0.
2.3字符串是否以指定内容开头。
boolean startsWith(str);
2.4字符串是否以指定内服结尾。
boolean endsWith(str);
2.5判断字符串的内容是否相同。复写了Object类中的equals方法。
boolean equals(str);
2.6判断内容是否相同,并忽略大小写。
boolean equalsIgnoreCase();
3.转换。
3.1将字符数组转成字符串。
构造函数:
String(char[])
String(char[],offset,count);将字符数组中的一部分转成字符串。

静态方法:
static String copyValueOf(char[]);
static String copyValueOf(char[],offset,count);

static String valueOf(char[]);
3.2将字符串转成字符数组。
char[] toCharArray();
3.2.1将字符串指定位置复制到目标字符数组。
void getChars(int srcBegin,int srcEnd,char[] dst,int dstBegin);

3.3将字节数组转成字符串。
String(byte[])
String(byte[],offset,count);将字节数组中的一部分转成字符串。

3.4将字符串转成字节数组。
byte[] getBytes();
3.5将基本数据类型转换成字符串。
static String valueOf(int);
static String valueOf(double);

3+"";//String.valueOf(3);

特殊:字符串和字节数组在转换过程中,是可以指定编码表的。
4.替换
String replace(olderchar,newchar);
String replace(olderstring,newstring);
5.切割
String[] split(regex);
6.子串。获取字符串中的一部分。
String substring(begin);
String substring(begin,end);
7,转换,去除空格,比较。
7.1将字符串转成大写或小写。
String toUpperCase();
String toLowerCase();
7.2将字符串两段的多个空格去除。
String trim();
7.3对两个字符串进行自然顺序的比较。
int compareTo(string)
*/


class StringMethodDemo
{
public static void method_8()
{
String s ="abcdef";
char[] arr ={'a','d','e','f'};
s.getChars(1,3,arr,1);
for (int i =0;i<arr.length ;i++ )
{
sop(arr[i]);
}
}
public static void method_7()
{
String s = " Hello Java ";

sop(s.toLowerCase());
sop(s.toUpperCase());
sop(s.trim());
String s1 ="abcd";
String s2 ="Abdd";
sop(s1.compareTo(s2));
}
public static void method_sub()
{
String s = "abcdef";
sop(s.substring(2));//从指定位置开始到结尾。如果角标不存在,会出现字符串角标越界

sop(s.substring(2,4));//包含头,不包含尾。s.substring(0.s.length());
}
public static void method_split()
{
String s = "zhangsan,lisi,wangwu";
String [] arr = s.split(",");
for (int i =0;i<arr.length ;i++ )
{
sop(arr[i]);
}

}
public static void methos_replace()
{
String s = "hello java";
String s1 =s.replace('a','n');//如果要替换的字符不存在返回的还是原串
String s2= s.replace("java","world");
sop(s);
sop(s1);
sop(s2);
}
public static void method_trans()
{
char [] arr ={'a','b','c','d','e','f','g'};
String s =new String(arr);
//String s1 =new String(arr,1,3);
//String s2 =String.copyValueOf(arr);
sop("s="+s);
//sop("s1="+s1);
//sop("s2="+s2);
String s1= "zxcvbnm";
char[] chs = s1.toCharArray();
//byte[] bs = s1.getBytes();
for (int i =0;i<chs.length ;i++ )
{
sop("ch="+chs[i]);
}
}
public static void method_is()
{
String str = "ArrayDemo.java";
//判断文件名称是否Array开头
sop(str.startsWith("Array"));
//判断文件名师傅.java结束
sop(str.endsWith(".java"));
//判断文件名是否包含Demo
sop(str.contains("Demo"));
}
public static void method_get()
{
String str = "abcdaef";
//长度
sop(str.length());
//根据角标获取字符
sop(str.charAt(4));//当访问到字符串中不存在的角标时会发生StringIndexOutOfBoundsException.

//根据字符获取角标
sop(str.indexOf('a',4));//如果没有找到返回-1

//反向索引一个字符出现的位置
sop(str.lastIndexOf('a'));
}
public static void main(String[] args)
{
method_8();
// method_7();
//method_sub();
//method_split();
//methos_replace();
//method_trans();
//method_is();
//method_get();

/*String s1 ="abc";//字符串存放在常量池中,如果创建的字符串已经存在,就不会再创建了
String s2 = new String("abc");//方法区中有:方法数据,静态数据,常量池

String s3 ="abc";

System.out.println(s1==s2);
System.out.println(s1==s3);*/


}
public static void sop(Object obj)
{
System.out.println(obj);
}

}


android培训java培训、期待与您交流!


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值