《數據結構JAVA語言版》課件 第4章 串_第1頁
《數據結構JAVA語言版》課件 第4章 串_第2頁
《數據結構JAVA語言版》課件 第4章 串_第3頁
《數據結構JAVA語言版》課件 第4章 串_第4頁
《數據結構JAVA語言版》課件 第4章 串_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第四章串串即字符串,幾乎所有的語言都把它定義為固有的數據類型,不用我們自己去定義,我們直接可以利用系統(tǒng)提供給我們的字符串類型以及有關于字符串的基本操作.所以這一章只講關于串的一些基本概念和JAVA語言給我們設計好的字符串類型。同學們如果發(fā)現JAVA系統(tǒng)提供給我們的字符串類型中的基本操作不夠用、或不好用,再考慮自己去定義。4.1.1串的基本概念1、串定義:n(n≥0)個字符組成的有限序列。一般記為s=“a1,a2,a3,...an”

線性表是由n(n≥0)個類型相同的數據元素組成的有限序列。串也是線性表,只不過限定它的數據元素類型是字符型。2、串長度:串中包含的字符個數。

a=“LIMING”

字符串a的長度為?。

b=“DATASTRUCTURE”

字符串b的長度為?。3、空串:不包含任何字符的串?!啊?/p>

空串的長度為?。

4.1串定義4、空格串:有一個或多個空格組成的串?!?/p>

”空格串的長度是串中空格字符的個數。5、串相等:當且僅當兩個串長度相同,并且各個對應位置的字符都相同;

“abc”

?“abc”

“abc”

?“abc”6、子串:串中任意個連續(xù)的字符組成的子序列稱為該串的子串。

“DATASTRUCTURE”4.1.2抽象數據類型串的定義4.2串的順序存儲4.2.1串的順序存儲定義

把字符串中的數據元素存儲在一組編號連續(xù)的的存儲單元中,在JAVA語言中把字符串放在一維數組中。4.2.2順序串源碼實現4.3Java語言中的順序串1.方法摘要Java為String類定義了許多方法??梢酝ㄟ^下述格式調用Java定義的方法:<字符串變量名>.<方法名>;下表列出了String類的常用方法。String類的常用方法方法說明publicintlength()返回字符串的長度。publicbooleanequals(Object

anObject)將給定字符串與當前字符串相比較,若兩字符串相等,則返回true,否則返回false。publicStringsubstring(int

beginIndex)返回字符串中從beginIndex開始的子串。publicStringsubstring(int

beginIndex,intendIndex)返回從beginIndex開始到endIndex-1的子串。publiccharcharAt(int

index)返回index指定位置的字符。publicintindexOf(String

str)返回str在字符串中第一次出現的位置。publicStringreplace(char

oldChar,char

newChar)以newChar字符替換串中所有oldChar字符。publicStringtrim()去掉字符串的首尾空格。2.方法使用intlength():返回當前字符串長例如:Strings2="helloworld";System.out.println(s2.length());結果為:11booleanequals(ObjectanObject):當anObject不為空并且與當前String對象一樣,返回true;否則,返回false。例如:Strings1="Hello";Strings2=newString("Hello");System.out.println(s1.equals(s2));結果為:trueStringsubstring(intbeginIndex):取從beginIndex位置開始到結束的子字符串。Stringsubstring(intbeginIndex,intendIndex):取從beginIndex位置開始到endIndex-1位置的子字符串例如:Strings="WelcometoJavaWorld!";Stringb=s.substring(11);//從第十一位開始System.out.println(b);Stringc=s.substring(8,11);//從第八位開始在第十一位結束System.out.println(c);結果:

JavaWorld!to空格

charcharAt(intindex):取字符串中的某一個字符,其中的參數index指的是字符串中序數。字符串的序數從0開始到length()-1。例如:Strings=newString("abcdefghijklmnopqrstuvwxyz");System.out.println("s.charAt(5):"+s.charAt(5));

結果為:s.charAt(5):fintindexOf(Stringstr):返回str在字符串中第一次出現的位置。例如:Strings=newString("writeonce,runanywhere!");Stringss=newString("run");System.out.println("s.indexOf(ss):"+s.indexOf(ss));結果為:

s.indexOf(ss):12intcompareTo(StringanotherString):當前String對象與anotherString比較。相等關系返回0;不相等時,從兩個字符串第0個字符開始比較,返回第一個不相等的字符差,另一種情況,較長字符串的前面部分恰巧是較短的字符串,返回它們的長度差。例如:Strings1=newString("abcdefghijklmn");Strings2=newString("abcdefghij");Strings3=newString("abcdefghijalmn");System.out.println("pareTo(s2):"+s1.compareTo(s2));//返回長度差System.out.println("pareTo(s3):"+s1.compareTo(s3));

//返回‘k’-‘a’的差

結果為:pareTo(s2):4

pareTo(s3):10Stringreplace(charoldChar,charnewChar):將字符號串所有的oldChar替換成newChar例如:Strings2="我是程序員,我在學java";Stringe=s2.replace("我","你");System.out.println(e);結果為:你是程序員,你在學javapublicStringtrim():返回該字符串去掉開頭和結尾空格后的字符串例如:Strings1="sunjava";Stringd=s1.trim();//去掉首尾的空格System.out.println("s1.trim():"+d);結果為:s1.trim():sunjavapublicStringtrim():返回該字符串去掉開頭和結尾空格后的字符串例如:Strings1="sunjava";Stringd=s1.trim();//去掉首尾的空格System.out.println("s1.trim():"+d);結果為:s1.trim():sunjavaStringtoLowerCase():將字符串轉換成小寫。StringtoUpperCase():將字符串轉換成大寫。例如:Strings=newString("java.lang.ClassString");System.out.println("s.toUpperCase():"+s.toUpperCase());System.out.println("s.toLowerCase():"+s.toLowerCase());結果為:s.toUpperCase():JAVA.LANG.CLASSSTRINGs.toLowerCase():java.lang.classstring練習:寫出以下程序的執(zhí)行結果public

classTestString1{

public

static

voidmain(String[]args){Strings1="HelloWorld";Strings2="helloworld";System.out.println(s1.charAt(1));//返回第1個字符

System.out.println(s2.length());//返回長度

System.out.println(s1.indexOf("World"));//返回第一次出現的位置

System.out.println(s2.indexOf("World"));//返回第一次出現的位置

System.out.println(s1.equals(s2));//返回是否相等

System.out.println(s1.equalsIgnoreCase(s2));//忽略大小寫

Strings="我是J2EE程序員,我高興";Stringsr=s.replace('我','你');//你替換字符串中的我

System.out.println(sr);}}執(zhí)行結果如下:e116-1falsetrue你是J2EE程序員,你高興解釋:

//s1="HelloWorld";

//s2="helloworld";

e//s1.charAt(1)返回第1個字符,因為從0開始計數,所以返回e11//s2.length(),字符串s2長度是116//s1.indexOf("World")返回World第一次s1在出現的位置,因為從0開始計數,所以返回6-1//s2.indexOf("World")World沒有在s2中出現,所以返回-1false//s1和s2不一樣,所以返回false

true//忽略大小寫二者一樣,所以返回true你是J2EE程序員,你高興//用你替代字符串s="我是J2EE程序員,我高興"中的我public

classTestString2{

public

static

voidmain(String[]args){Strings="WelcometoJavaWorld!";Strings2="magci";StringsL=s.toLowerCase();StringsU=s.toUpperCase();System.out.println(sL);System.out.println(sU);StringsubS=s.substring(11);System.out.println(subS);Strings1NoSp=s2.trim();System.out.println(s+s1NoSp);System.out.println(s+s2);}}執(zhí)行結果如下:welcometojavaworld!WELCOMETOJAVAWORLD!JavaWorld!Welcomet

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論