一、介紹
字符串廣泛應(yīng)用在Java 編程中,在 Java 中字符串屬于對(duì)象呛牲,Java 提供了 String 類來創(chuàng)建和操作字符串。 String類是不可變的驮配,對(duì)String類的任何改變娘扩,都是返回一個(gè)新的String類對(duì)象。 String 對(duì)象是 System.Char 對(duì)象的有序集合壮锻,用于表示字符串琐旁。String 對(duì)象的值是該有序集合的內(nèi)容,并且該值是不可變的猜绣。
字符串或串(String)是由數(shù)字灰殴、字母、下劃線組成的一串字符掰邢。一般記為 s=“a1a2···an”(n>=0)牺陶。它是編程語言中表示文本的數(shù)據(jù)類型。在程序設(shè)計(jì)中辣之,字符串(string)為符號(hào)或數(shù)值的一個(gè)連續(xù)序列掰伸,如符號(hào)串(一串字符)或二進(jìn)制數(shù)字串(一串二進(jìn)制數(shù)字)。
通常以串的整體作為操作對(duì)象怀估,如:在串中查找某個(gè)子串碱工、求取一個(gè)子串、在串的某個(gè)位置上插入一個(gè)子串以及刪除一個(gè)子串等奏夫。兩個(gè)字符串相等的充要條件是:長(zhǎng)度相等,并且各個(gè)對(duì)應(yīng)位置上的字符都相等历筝。設(shè)p酗昼、q是兩個(gè)串,求q在p中首次出現(xiàn)的位置的運(yùn)算叫做模式匹配梳猪。串的兩種最基本的存儲(chǔ)方式是順序存儲(chǔ)方式和鏈接存儲(chǔ)方式麻削。
二、知識(shí)點(diǎn)介紹
1春弥、String類
2呛哟、String構(gòu)造方法
3、String常用方法
三匿沛、上課對(duì)應(yīng)視頻的說明文檔
1扫责、String類
String 類用于比較兩個(gè)字符串,查找和抽取串中的字符或子串逃呼、字符串與其他類型之間相互轉(zhuǎn)換等鳖孤。String 類是一個(gè)常量對(duì)象者娱,String 類對(duì)象的內(nèi)容一旦被初始化就不能再被改變。
2苏揣、String構(gòu)造方法
? public Stirng()
創(chuàng)建一個(gè)字符串對(duì)象黄鳍,其字符串值為空。
? public String (String value)
用字符串對(duì)象value創(chuàng)建一個(gè)新的字符串對(duì)象平匈。
? public String (char[] value)
用字符數(shù)組value來創(chuàng)建字符串對(duì)象框沟。
? public String (char[]value,int offset,int count)
從字符數(shù)組value中下標(biāo)為offset的字符開始,創(chuàng)建有count個(gè)字符的字符串對(duì)象增炭。
? public String(byte ascII[])
用byte型字符串?dāng)?shù)組ascII忍燥,按缺省的字符編碼方案創(chuàng)建字符串對(duì)象。
? public String(byte ascII[]弟跑,int offset int count))
從字節(jié)型數(shù)組ascII中下標(biāo)為offset的字符開始灾前,按缺省的字符編碼方案創(chuàng)建count個(gè)字符的串對(duì)象。
? public String(StringBuffer buffer)
用緩沖字符串buffer創(chuàng)建一個(gè)字符串對(duì)象孟辑。
例:
StringTest1.java類
public class StringTest1{
public static void main(String args[]){
String s1="hello";
String s2="world";
String s3="hello";
System.out.println(s1==s3);
s1=new String ("hello");
s2=new String ("hello");
System.out.println(s1==s2);
System.out.println(s1.equals(s2));
char c[]={'s','u','n',' ','j','a','v','a'};
String s4=new String(c);
String s5=new String(c,4,4);
System.out.println(s4);
System.out.println(s5);
}
}
3哎甲、String常用方法
(1)常用方法1
? public char charAt(int index)
返回字符串中第index個(gè)字符。
? public int length()
返回字符串的長(zhǎng)度饲嗽。
? public int indexOf(String str)
返回字符串中出現(xiàn)str 的第一個(gè)位置炭玫。
? public int indexOf(String str,int fromIndex)
返回字符串中從fromIndex開始出現(xiàn)str的第一個(gè)位置。
? public boolean equalsIgnoreCase(String another)
比較字符串是否與another一樣貌虾。
? public String replace(char oldChar,char newChar)
字符串中用newchar替代oldChar字符吞加。
例:
StringTest2.java類
public class StringTest2{
public static void main(String args[]){
String s1="sun java";
String s2="sun Java";
System.out.println(s1.charAt(1));
System.out.println(s2.length());
System.out.println(s1.indexOf("java"));
System.out.println(s1.indexOf("Java"));
System.out.println(s1.equals(s2));
System.out.println(s1.equalsIgnoreCase(s2));
String s="我是程序員,我在學(xué)java";
String sr=s.replace('我','你');
System.out.println(sr);
}
}
(2)常用方法2
? public boolean startsWith(String prefix)
判斷字符串是否以prefix字符串開頭。
? public boolean endsWith(String suffix)
判斷字符串是否以suffix字符結(jié)尾尽狠。
? public String toUpperCase()
返回一個(gè)字符串為該字符串的大寫形式衔憨。
? public String toLowerCase()
返回一個(gè)字符串為該字符串的小寫形式。
? public String substring(int beginIndex)
返回字符串從beginIndex開始到結(jié)尾的子字符串袄膏。
? public String substring(int beginIndex,int endIndex)
返回字符串從beginIndex開始到endIndex結(jié)尾的子字符串践图。
? public String trim()
返回將該字符串去掉開頭和結(jié)尾空格后的字符串。
例:
StringTest3.java類
public class StringTest3{
public static void main(String args[]){
String s="Welcome to Java World";
String s1="? sun java? ";
System.out.println(s.startsWith("Welcome"));
System.out.println(s.endsWith("World"));
String sL=s.toLowerCase();
String sU=s.toUpperCase();
System.out.println(sL);
System.out.println(sU);
String subS=s.substring(11);
System.out.println(subS);
String sp=s1.trim();
System.out.println(sp);
}
}
(3)常用方法3
靜態(tài)重載方法:
? public static String valueOf(...)可以將基本類型數(shù)據(jù)轉(zhuǎn)換為字符串:
例如:
?public static String valueOf(double d)
?public static String valueOf(int i)
?....
? public String []split(String regex)可以將一個(gè)字符串按照指定的分隔符分隔沉馆,返回分隔后的字符串?dāng)?shù)組码党。
例:
StringTest4.java類
public class StringTest4{
public static void main(String args[]){
int j=1234567;
String sNumber=String.valueOf(j);//轉(zhuǎn)換成String類型
System.out.println("j 是"+sNumber.length()+"位數(shù)。");
String s ="Mary,F,1976";
String sPlit[] =s.split(",");//以,號(hào)分隔
for(int i=0;i<sPlit.length;i++){
System.out.println(sPlit[i]);
}
}
}
(4)常用方法4
? concat(String str):把字符串str附加在當(dāng)前字符串的末尾斥黑。
例如:
String str="Hello";
String newStr=str.concat("World");
System.out.println(str);? //打印Hello
System.out.println(newStr);? //打印HelloWorld
*:以上concat()方法并不會(huì)改變字符串str本身的內(nèi)容揖盘。
public class StringDemo {
public static void main(String[] args) {
// print str1
String str1 = "self";
System.out.println(str1);
// print str2 concatenated with str1
String str2 = str1.concat(" learning");
System.out.println(str2);
// prints str3 concatenated with str2(and str1)
String str3 = str2.concat(" center");
System.out.println(str3);
}
}