首页 > 代码库 > java常用类之String类

java常用类之String类

public class StringTest{
/*
* 1、字符串类: String 。
* 1) 什么是字符串?
* 用一对双引号将一个或多个字符括起来组成的字符系列。例如: "A" "ABC"
* 特殊的串: 一对连续的双引号。即: "" ,它称之为空串。也称之为长度为0的字符串。
*
* 2) 字符串的特性:
* a) 字符串属于引用类型,一个字符串就是一个对象。
* b) 字符串是不变的。
* c) 字符串中每一个字符都有一个索引号(位置编号)。它从0开始至 length()-1。其中: length()方法用来求串的长度。
* 例如: "ABCDEFG" 其中字符A的索引号为 0, 而G的索引号为 6;串的长度为 length()===>>> 7 。
* d) 在内存,一个字符串可以共享。即:当多个相同的字符串赋给字符串变量时,则在内存中实质只有一个串。
* 例如: String s1 = "ABC"; String s2 = "ABC"; 则 s1和s2对应的是同一个串。
* e) 字符串拥有许多方法,可用来解决许多实际问题。
*
* 3) 字符串的方法:
* length()
* charAt(n);
* substring(n);
* substring(n,m);
* indexOf( s2 );
* indexOf( s2, n);
* lastIndexOf( s2 );
*/
public static void main(String[] args) {
String s1 = ""; //初始化为空串。
int len = s1.length(); //求s1对应串的长度。
System.out.println( "s1对应的串为: \"" + s1 + "\"" + ",它的长度是: " + len );

String s2 = null; //此时的null表示字符串不存在。
//len = s2.length(); //求s2对应的串的长度。 错误的原因:由于字符串对象不存在,因此,不可调用串的方法length();


s1 = "ABCDEFG";
char ch = s1.charAt(0); //获取串中第0个位置上的字符
System.out.println("\"" + s1 + "\"" + ",该串中第0个位置上的字符是 \‘" + ch + "\‘");

ch = s1.charAt( s1.length()-1 ); //取最后一个字符

String sub1 = s1.substring(3); //从s1串中的第3个位置开始取到末尾,将这些字符组成一个子串。
System.out.println("sub1>>>" + sub1 );

sub1 = s1.substring(2).substring(3);
System.out.println( sub1 );

sub1 = s1.substring(2, 5); //将从第2个位置开始至5-1个位置上的所有字符获取并组成一个子串。
System.out.println( sub1 );

s2 = "北京" + 2008; //连接作用: 先将2008转换成字符串,再进行连接。
System.out.println("s2=\"" + s2 + "\"");

s1 = "I love java! I love Beijing!";
s2 = "love";
int loc = s1.indexOf( s2 ); //在s1中按顺序查找s2,若存在,则反馈它第一次出现的位置编号。若不存在,则反馈一个负数。
if( loc >= 0 ){
System.out.println("在\"" + s1 + "\"中查找 \"" + s2 + "\"" + ",找到了. 它在 第" + loc + "个位置上。" );
}

loc = s1.indexOf(s2, 7); //在s1中从第7个位置开始查找
System.out.println(">>> " + loc );

loc = s1.lastIndexOf( s2 ); //在s1中查找s2,反馈它最后一个出现的位置编号。

s2 = s1.replace("love", "^_^");
System.out.println("原串: s1>>" + s1 );
System.out.println("新串: s2>>" + s2 );

s2 = s1.replace(‘o‘, ‘?‘);
System.out.println("原串: s1>>" + s1 );
System.out.println("新串: s2>>" + s2 );

s1 = "I love java!";
boolean flag = s1.startsWith("i"); //判断s1的串是"i"开始吗
System.out.println("flag>> " + flag );

flag = s1.endsWith("java");
System.out.println("flag>> " + flag );

s1 = "北京地铁2015图.jpg";

s1 = s1.toUpperCase(); //所有串中的字母转换成大写。
s2 = "Jpg";
s2 = s2.toUpperCase();
flag = s1.endsWith( s2 );
System.out.println( "flag>>>" + flag );

s1 = "I love java!";
System.out.println("\ns1>>" + s1 );
s1 = s1.toLowerCase(); //所有串中的字母转换成小写。
System.out.println("s1>>" + s1 );

s1 = "China" + " Beijing " + 2008;
System.out.println("\ns1>>" + s1 );

s1 = "China" + "     Beijing       ".trim() + 2008; //trim()用来将串前后的空格删除。
System.out.println("\ns1>>" + s1 );
}

}