您的位置:首页 > 职场人生

黑马程序员——字符串常见操作

2015-08-01 11:59 681 查看
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-

String 概述:

1、字符串是一个特殊的对象

2、字符串一旦初始化就不可以被改变

class Test{

public static void main(String[] args){

String str1 = "黑马程序员";

/*str1是一个类类型变量,“黑马程序员”是一个对象。字符串最大特点:一旦被初始化,就不可以被改变*/

//str1 = "黑马程序员论坛";

/*字符串"黑马程序员" 从未改变,改变的是 str1的指向,str1刚才指向"黑马程序员"这个对象,现在又指向"黑马程序员论坛"这个对象*/

String str2 = new String("黑马程序员");

/*
str1跟str2有什么区别?
str1的"黑马程序员"是一个对象。
str2的"黑马程序员"是一个对象,而new String()又是一个对象。
简单的说str1是一个对象,str2是2个对象。
*/
System.out.println(str1==str2);//false,因为Java中new出来的是另外一个对象,==号是比较对象的内存地址值是否相同,由于是不同对象,所以结果为false。
System.out.println(str1.equals(str2));//true,因为String类复写了Object类中的equals方法,建立了自己特定的比较方式,String类中比较的是字符串的内容是否相同,俩个都是"黑马程序员"所以结果为true。

}

}


字符串的常见操作

String类是用于描述字符串事物。

那么它就提供了多个方法对字符串进行操作。

1,获取。

1.1 字符串中的包含的字符数,也就是字符串的长度。

整数  length()获取字符串的长度。


1.2 根据位置获取位置上某个字符。

字符  charAt(int index)获取指定索引处的字符。


1.3 根据字符获取该字符在字符串中位置。

整数  indexOf(int ch)
获取ch在字符串中第一次出现的位置。这里接收的是char类型的值 。

整数  indexOf(int ch, int fromIndex)

整数  indexOf(String str)
获取指定子字符串在此字符串中第一次出现的位置。

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


反向获取:

整数  lastIndexOf(int ch)
获取ch在字符串最后第一次出现的位置。

整数  lastIndexOf(int ch, int fromIndex)

整数  lastIndexOf(String str)
获取指定子字符串在此字符串最后第一次出现的位置。

整数  lastIndexOf(String str, int fromIndex)


2,判断

布尔型  contains(CharSequence s)
判断字符串中是否包含一个子串,当且仅当此字符串包含指定的 char 值序列时,返回 true。

特殊之处:indexOf(str):可以索引str第一次出现的位置,如果返回-1,表示该str不在字符串中存在,所以,也可以用于对指定判断是否包含。if(str.indexOf(“aa”)!=-1)而且该方法既可以判断,也可以获取出现位置。

布尔型  isEmpty()
判断字符串中是否有内容。原理是判断长度是否为0

布尔型  startsWith(String prefix)
判断字符串是否是以指定类容开头。

布尔型  endsWith(String suffix)
判断字符串是否是以指定内容结尾。

布尔型  equals(Object anObject)
判断字符串内容是否相同。复写Object类的equals方法

布尔型  equalsIgnoreCase(String anotherString)
判断内容是否相同,并忽略大小写。


class Test{

public static void main(String[] args){

String name = "ArrayTool.Java";

Sop(is_Class_File(name));

}

public static boolean is_Class_FileName(String name){

String fileName = "ArrayTool.Java";

if(name!=null){

if(!name.isEmpty()){//注意:如果字符串没有内容返回的是真,有返回的是假

if(name.endsWith(".Java")){

if(name.startsWith("ArrayTool")){

if(name.equalsIgnoreCase(fileName)){

if(name.equals(fileName)){

return true;

}
}

}

}

}

}
return false;

}

public static void Sop(Object obj){

System.out.println(obj);

}

}


3,替换

字符串  replace(char oldChar, char newChar)
将一个新字符替换成一个老字符。


4,切割

字符串数组  split(String regex)
将字符串按照规则切割成一个个小字符串。


5,子串。获取字符串中的一部分。

字符串  substring(int beginIndex)
获取字符串指定位置开始到结束的子串。

字符串  substring(int beginIndex, int endIndex)
获取字符串指定位置开始到指定结束的子串。


6,转换,去除空格,比较。

7.1将字符串转成大写或则小写。

字符串  toUpperCase()
将字符串转成大写。

字符串
toLowerCase()
将字符串转成小写。

7.2 将字符串两端的多个空格去除。
字符串  trim()
将字符串前面和后面的空格删除。

7.3 对两个字符串进行自然顺序的比较。
整数  compareTo(String anotherString)
将字符串按照A-Z,a-z,1-9...自然顺序进行排序。


练习:模拟字符串去空格

class Test{

public static voidmain(String[] args) {

String str ="    黑 马 程 序 员    ";

System.out.println(trim(str));

}

public static String myTrim(String str){

int start =0;

int end =str.length()-1;

for(;start<=end && str.charAt(start)==' ';)

start++;

for(;start<=end && str.charAt(end)==' ';)

end--;

return str.substring(start,end+1);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  string