java基礎(chǔ)20天學會1課程1入門08string_第1頁
java基礎(chǔ)20天學會1課程1入門08string_第2頁
java基礎(chǔ)20天學會1課程1入門08string_第3頁
java基礎(chǔ)20天學會1課程1入門08string_第4頁
java基礎(chǔ)20天學會1課程1入門08string_第5頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

常用API(String、ArrayList)API(ApplicationProgrammingInterface,應(yīng)用程序編程接口)Java寫好的程序(功能),咱們可以直接調(diào)用。Oracle也為Java提供的這些功能代碼提供了相應(yīng)的API文檔(使用說明書)。String簡單介紹String類定義的變量可以用于存儲字符串,同時String類提供了很多操作字符串的功能,我們可以直接使用。需要跟正確的用戶名和密碼進行比較。String的內(nèi)存原理String定義變量存儲字符串String類提供了哪些APIString解決實際案例能夠利用String的常用API去解決實際場景的業(yè)務(wù)需求,真正做到學以致用需要知道如何創(chuàng)建字符串對象,并使用String定義變量指向該字符串對象。字符串對象在內(nèi)存中的原理是什么樣。能夠解決一些字符串的常見面試題關(guān)于String類同學們需要學會什么能夠說出并使用String類提供的操作字符串的功能:遍歷、替換、截取、相等,包含…StringString類概述String類的常用方法-遍歷、替換、截取、分割操作String類案例實戰(zhàn)String類創(chuàng)建對象的2種方式String類常見面試StringString類概述String類常用方法-字符串內(nèi)容比較String類的常用方法-遍歷、替換、截取、分割操作String類案例實戰(zhàn)String類創(chuàng)建對象的2種方式String類常見面試ArrayList簡單介紹ArrayList代表的是集合類,集合是一種容器,與數(shù)組類似,不同的是集合的大小是不固定的。通過創(chuàng)建ArrayList的對象表示得到一個集合容器,同時ArrayList提供了比數(shù)組更好用,更豐富的API(功能)給程序員使用。購物車使用集合對象來存儲商品對象更合適隨時可能添加新商品對象進來(個數(shù)不確定)也隨時可能刪除商品對象ArrayList常用APIArrayList集合如何創(chuàng)建對象ArrayList解決實際問題能夠使用ArrayList存儲對象,并完成數(shù)據(jù)搜索,刪除等常見業(yè)務(wù)需求要知道如何利用ArrayList創(chuàng)建對象代表集合容器來存放數(shù)據(jù)。能夠說出并使用ArrayList類提供的豐富的元素操作的功能:添加、獲取、刪除、修改等功能關(guān)于ArrayList類同學們需要學會什么能夠使用ArrayList存儲自定義的對象,并清楚ArrayList集合存儲對象的底層原理ArrayList存儲自定義對象ArrayList集合概述ArrayList集合快速入門ArrayList對泛型的支持ArrayList常用方法、遍歷ArrayList集合案例:遍歷并刪除元素ArrayList集合案例:存儲自定義類型的對象ArrayList集合案例:元素搜索StringString類概述String類常用方法-字符串內(nèi)容比較String類的常用方法-遍歷、替換、截取、分割操作String類案例實戰(zhàn)String類創(chuàng)建對象的2種方式String類常見面試ArrayListString概述java.lang.String類代表字符串,String類定義的變量可以用于指向字符串對象,然后操作該字符串。Java程序中的所有字符串文字(例如“abc”)都為此類的對象。String其實常被稱為不可變字符串類型,它的對象在創(chuàng)建后不能被更改。String類的特點詳解Stringname="小黑";String

schoolName="黑馬程序員";publicstaticvoidmain(String[]args){

Stringname="傳智";

name+="教育";name+="中心";

System.out.println(name);

}從上述代碼可以看出字符串變量name指向的字符串對象,那為何還說字符串不可變呢?字符串對象存在哪里?以“”方式給出的字符串對象,在字符串常量池中存儲。publicstaticvoidmain(String[]args){

Stringname="傳智";

name+="教育";name+="中心";

System.out.println(name);

}字符串常量池“傳智"控制臺傳智教育中心“教育"“中心"棧內(nèi)存堆內(nèi)存“傳智教育"“傳智教育中心"main方法Stringname地址1.String是什么,可以做什么?字符串類型,可以定義字符串變量指向字符串對象。2.String是不可變字符串的原因?

String變量每次的修改其實都是產(chǎn)生并指向了新的字符串對象。原來的字符串對象都是沒有改變的,所以稱不可變字符串。StringString類概述String類的常用方法-字符串內(nèi)容比較String類的常用方法-遍歷、替換、截取、分割操作String類案例實戰(zhàn)String類創(chuàng)建對象的2種方式String類常見面試ArrayListpublicclassStringDemoAPI3{

publicstaticvoidmain(String[]args){

StringsysLoginName=“itheima”;

Scannersc=newScanner(System.in);

System.out.println(“請您輸入您的登錄名稱");

StringloginName=sc.next();

System.out.println(sysLoginName==loginName);

}

}結(jié)論:字符串的內(nèi)容比較不適合用“==”比較。字符串的內(nèi)容比較字符串的內(nèi)容比較:推薦使用String類提供的“equals”比較:只關(guān)心內(nèi)容一樣即可方法名說明public

boolean

equals

(Object

anObject)將此字符串與指定對象進行比較。只關(guān)心字符內(nèi)容是否一致!public

boolean

equalsIgnoreCase

(String

anotherString)將此字符串與指定對象進行比較,忽略大小寫比較字符串。只關(guān)心字符內(nèi)容是否一致!1、如果是字符串比較應(yīng)該使用使用什么方式進行比較,為什么?使用String提供的equals方法。只關(guān)心內(nèi)容一樣就返回true。2、開發(fā)中什么時候使用==比較數(shù)據(jù)基本數(shù)據(jù)類型比較時使用。StringString類概述String類的常用方法-字符串內(nèi)容比較String類的常用方法-遍歷、替換、截取、分割操作String類案例實戰(zhàn)String類創(chuàng)建對象的2種方式String類常見面試ArrayList方法名說明publicintlength?()返回此字符串的長度publiccharcharAt?(intindex)獲取某個索引位置處的字符publicchar[]toCharArray?():將當前字符串轉(zhuǎn)換成字符數(shù)組返回publicStringsubstring(intbeginIndex,intendIndex)根據(jù)開始和結(jié)束索引進行截取,得到新的字符串(包前不包后)publicStringsubstring(intbeginIndex)從傳入的索引處截取,截取到末尾,得到新的字符串publicStringreplace(CharSequencetarget,CharSequencereplacement)使用新值,將字符串中的舊值替換,得到新的字符串publicString[]split(Stringregex)根據(jù)傳入的規(guī)則切割字符串,得到字符串數(shù)組返回String常用APIStringString類概述String類的常用方法-字符串內(nèi)容比較String類的常用方法-遍歷、替換、截取、分割操作String類案例實戰(zhàn)String類創(chuàng)建對象的2種方式String類常見面試ArrayListString類開發(fā)驗證碼功能需求:隨機產(chǎn)生一個5位的驗證碼,每位可能是數(shù)字、大寫字母、小寫字母。分析:定義一個String類型的變量存儲驗a-zA-Z0-9之間的全部字符。循環(huán)5次,隨機一個范圍內(nèi)的索引,獲取對應(yīng)字符連接起來即可。模擬用戶登錄功能需求:模擬用戶登錄功能,最多只給三次機會。分析:系統(tǒng)后臺定義好正確的登錄名稱,密碼。使用循環(huán)控制三次,讓用戶輸入正確的登錄名和密碼,判斷是否登錄成功,登錄成功則不再進行登錄;登錄失敗給出提示,并讓用戶繼續(xù)登錄。手機號碼屏蔽需求鍵盤錄入一個手機號,將中間四位號碼屏蔽,最終效果為:分析鍵盤錄入一個字符串。調(diào)用字符串對象的截取API,截取字符串前三位、后四位。將前三位連接“****”然后繼續(xù)連接后四位,輸出最終結(jié)果即可。StringString類概述String類的常用方法-字符串內(nèi)容比較String類的常用方法-遍歷、替換、截取、分割操作String類案例實戰(zhàn)String類創(chuàng)建對象的2種方式String類筆試題ArrayList創(chuàng)建字符串對象的2種方式

方式一:直接使用“”定義。(推薦方式)方式二:通過String類的構(gòu)造器創(chuàng)建對象。Stringname="傳智教育";構(gòu)造器說明publicString()創(chuàng)建一個空白字符串對象,不含有任何內(nèi)容publicString(Stringoriginal)根據(jù)傳入的字符串內(nèi)容,來創(chuàng)建字符串對象publicString(char[]chs)根據(jù)字符數(shù)組的內(nèi)容,來創(chuàng)建字符串對象publicString(byte[]chs)根據(jù)字節(jié)數(shù)組的內(nèi)容,來創(chuàng)建字符串對象有什么區(qū)別嗎?(面試??迹?/p>

Strings1="abc";

Strings2="abc";

System.out.println(s1==s2);//true

char[]chs={'a','b','c'};

Strings3=newString(chs);

Strings4=newString(chs);

System.out.println(s3==s4);//false以“”方式給出的字符串對象,在字符串常量池中存儲,而且相同內(nèi)容只會在其中存儲一份。通過構(gòu)造器new對象,每new一次都會產(chǎn)生一個新對象,放在堆內(nèi)存中。publicclassTest{

publicstaticvoidmain(String[]args){

Strings1="abc";

Strings2="abc";

System.out.println(s1==s2);

}

}棧內(nèi)存堆內(nèi)存字符串常量池"abc"控制臺true通過“”定義字符串內(nèi)存原理方法:main方法區(qū)Test.classmainStrings1Strings26acbcfc06acbcfc0publicclassTest{

publicstaticvoidmain(String[]args){

char[]chs={'a','b','c'};

Strings1=newString(chs);

Strings2=newString(chs);

System.out.println(s1==s2);}

}棧內(nèi)存堆內(nèi)存控制臺false通過new構(gòu)造器得到字符串對象方法:main方法區(qū)Test.classmainchar[]chsStrings1Strings2'a''b''c'6acbcfc0"abc"34ab23"abc"56abf431、字符串對象的特點有哪些?

雙引號創(chuàng)建的字符串對象,在字符串常量池中存儲同一個。通過new構(gòu)造器創(chuàng)建的字符串對象,在堆內(nèi)存中分開存儲。StringString類概述String類的常用方法-字符串內(nèi)容比較String類的常用方法-遍歷、替換、截取、分割操作String類案例實戰(zhàn)String類創(chuàng)建對象的2種方式String類筆試題ArrayListString常見面試題問題:下列代碼的運行結(jié)果是?publicclassTest2{

publicstaticvoidmain(String[]args){

Strings2=newString("abc");

Strings1="abc";

System.out.println(s1==s2);

}

}false這句代碼實際上創(chuàng)建了兩個對象堆內(nèi)存"abc"字符串常量池"abc"String常見面試題publicclassTest4{

publicstaticvoidmain(String[]args){

Strings1="abc";

Strings2="a"+"b"+"c";

System.out.println(s1==s2);

}

}Java存在編譯優(yōu)化機制,程序在編譯時:“a”+“b”+“c”會直接轉(zhuǎn)成"abc"truepublicclassTest3{

publicstaticvoidmain(String[]args){

Strings1="abc";

Strings2="ab";

Strings3=s2+"c";

System.out.println(s1==s3);

}

}falseStringString類概述String類創(chuàng)建對象的2種方式String類常見面試題String類常用方法-字符串內(nèi)容比較String類常用方法-遍歷、替換、截取、分割操作String類案例實戰(zhàn)ArrayListpublicclassStringDemoAPI3{

publicstaticvoidmain(String[]args){

StringsysLoginName=“itheima”;

Scannersc=newScanner(System.in);

System.out.println(“請您輸入您的登錄名稱");

StringloginName=sc.next();

System.out.println(sysLoginName==loginName);

}

}結(jié)論:字符串的內(nèi)容比較不適合用“==”比較。字符串的內(nèi)容比較字符串的內(nèi)容比較:推薦使用String類提供的“equals”比較:只關(guān)心內(nèi)容一樣即可方法名說明public

boolean

equals

(Object

anObject)將此字符串與指定對象進行比較。只關(guān)心字符內(nèi)容是否一致!public

boolean

equalsIgnoreCase

(String

anotherString)將此字符串與指定對象進行比較,忽略大小寫比較字符串。只關(guān)心字符內(nèi)容是否一致!1、如果是字符串比較應(yīng)該使用使用什么方式進行比較,為什么?使用String提供的equals方法。只關(guān)心內(nèi)容一樣就返回true。2、開發(fā)中什么時候使用==比較數(shù)據(jù)基本數(shù)據(jù)類型比較時使用。StringString類概述String類創(chuàng)建對象的2種方式String類常見面試題String類常用方法-字符串內(nèi)容比較String類常用方法-遍歷、替換、截取、分割操作String類案例實戰(zhàn)ArrayList方法名說明publicintlength?()返回此字符串的長度publiccharcharAt?(intindex)獲取某個索引位置處的字符publicchar[]toCharArray?():將當前字符串轉(zhuǎn)換成字符數(shù)組返回publicStringsubstring(intbeginIndex,intendIndex)根據(jù)開始和結(jié)束索引進行截取,得到新的字符串(包前不包后)publicStringsubstring(intbeginIndex)從傳入的索引處截取,截取到末尾,得到新的字符串publicStringreplace(CharSequencetarget,CharSequencereplacement)使用新值,將字符串中的舊值替換,得到新的字符串publicString[]split(Stringregex)根據(jù)傳入的規(guī)則切割字符串,得到字符串數(shù)組返回String常用APIStringString類概述、不可變原理String創(chuàng)建對象的2種方式String常見面試題String常用方法-字符串內(nèi)容比較String常用方法-截取、分割、遍歷、替換、等String案例操作ArrayListStringArrayList集合概述ArrayList集合快速入門ArrayList對于泛型的支持ArrayList常用方法、遍歷ArrayList集合案例:遍歷并刪除元素ArrayList集合案例:存儲自定義類型ArrayList集合案例:元素搜索數(shù)組的特點數(shù)組定義完成并啟動后,類型確定、長度固定。

問題:在個數(shù)不能確定,且要進行增刪數(shù)據(jù)操作的時候,數(shù)組是不太合適的。012集合是與數(shù)組類似,也是一種容器,用于裝數(shù)據(jù)的。集合的特點集合的大小不固定,啟動后可以動態(tài)變化,類型也可以選擇不固定?!戏浅_m合做元素個數(shù)不確定,且要進行增刪操作的業(yè)務(wù)場景。集合還提供了許多豐富、好用的功能,而數(shù)組的功能很單一。集合的應(yīng)用場景1、數(shù)組和集合的元素存儲的個數(shù)問題?數(shù)組定義后類型確定,長度固定集合類型可以不固定,大小是可變的。2、數(shù)組和集合適合的場景數(shù)組適合做數(shù)據(jù)個數(shù)和類型確定的場景集合適合做數(shù)據(jù)個數(shù)不確定,且要做增刪元素的場景StringArrayList集合概述ArrayList集合快速入門ArrayList對于泛型的支持ArrayList常用方法、遍歷ArrayList集合案例:遍歷并刪除元素ArrayList集合案例:存儲自定義類型的對象ArrayList集合案例:元素搜索ArrayList集合ArrayList是集合中的一種,它支持索引。(暫時先學習這個,后期課程會學習整個集合體系)ArrayList集合的對象的創(chuàng)建構(gòu)造器說明publicArrayList?()創(chuàng)建一個空的集合對象方法名說明publicbooleanadd(Ee)將指定的元素追加到此集合的末尾publicvoidadd(intindex,Eelement)在此集合中的指定位置插入指定的元素ArrayList集合的添加元素的方法1、ArrayList類如何創(chuàng)建集合對象的,如何添加元素?publicArrayList?()publicbooleanadd(Ee)publicvoidadd(intindex,Eelement)StringArrayList集合概述ArrayList集合快速入門ArrayList對于泛型的支持ArrayList常用API、遍歷ArrayList集合案例:遍歷并刪除元素ArrayList集合案例:存儲自定義類型的對象ArrayList集合案例:元素搜索泛型概述ArrayList<E>:其實就是一個泛型類,可以在編譯階段約束集合對象只能操作某種數(shù)據(jù)類型。

舉例:ArrayList<String>:此集合只能操作字符串類型的元素。ArrayList<Integer>:此集合只能操作整數(shù)類型的元素。注意:泛型只能支持引用數(shù)據(jù)類型,不支持基本數(shù)據(jù)類型。1、怎么去統(tǒng)一ArrayList集合操作的元素類型,泛型需要注意什么?使用泛型:<數(shù)據(jù)類型>創(chuàng)建集合對象都應(yīng)該使用泛型。ArrayList<String>list1=newArrayList();泛型只能支持引用數(shù)據(jù)類型,不支持基本數(shù)據(jù)類型。StringArrayList集合概述ArrayList集合快速入門ArrayList對于泛型的支持ArrayList常用方法、遍歷ArrayList集合案例:遍歷并刪除元素ArrayList集合案例:存儲自定義類型ArrayList集合案例:元素搜索ArrayList集合常用方法方法名稱說明publicEget(intindex)返回指定索引處的元素publicintsize()返回集合中的元素的個數(shù)publicEremove(intindex)刪除指定索引處的元素,返回被刪除的元素publicbooleanremove(Objecto)刪除指定的元素,返回刪除是否成功publicEset(intindex,Eelement)修改指定索引處的元素,返回被修改的元素StringArrayList集合概述ArrayList集合快速入門ArrayList對于泛型的支持ArrayList常用方法、遍歷ArrayList集合案例:遍歷并刪除元素ArrayList集合案例:存儲自定義類型ArrayList集合案例:元素搜索遍歷并刪除元素值需求:某個班級的考試在系統(tǒng)上進行,成績大致為:98,77,66,89,79,50,100現(xiàn)在需要先把成績低于80分以下的數(shù)據(jù)去掉。分析:定義ArrayList集合存儲多名學員的成績。遍歷集合每個元素,如果元素值低于80分,去掉它。1、

從集合中遍歷元素,并篩選出元素刪除它,應(yīng)該怎么解決?從集合后面遍歷然后刪除,可以避免漏掉元素。StringArrayList集合概述ArrayList集合快速入門ArrayList對于泛型的支持ArrayList常用方法、遍歷ArrayList集合案例:遍歷并刪除元素ArrayList集合案例:存儲自定義類型的對象ArrayList集合案例:元素搜索影片信息在程序中的表示需求某影院系統(tǒng)需要在后臺存儲上述三部電影,然后依次展示出來。分析:定義一個電影類,定義一個集合存儲電影對象。:創(chuàng)建3個電影對象,封裝相關(guān)數(shù)據(jù),把3個對象存入到集合中去。:遍歷集合中的3個對象,輸出相關(guān)信息。publicclassSystemDemo{

publicstaticvoidmain(String[]args){

ArrayList<Movie>movies=newArrayList<>();

movies.add(newMovie(“《肖生克的救贖》”,9.7

,“羅賓斯”));

movies.add(newMovie(“《霸王別姬》”,9.6

,“張國榮、張豐毅”));

movies.add(newMovie(“《阿甘正傳》”,9.5

,“湯姆.漢克斯"));

System.out.p

溫馨提示

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

評論

0/150

提交評論