版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精品文檔JAVA基礎(chǔ)知識(shí)點(diǎn)梳理(重點(diǎn)筆記)1、標(biāo)識(shí)符規(guī)則可以由字母、數(shù)字、下劃線、美元符$組成,不能以數(shù)字開頭不能是 java 的關(guān)鍵字和保留字嚴(yán)格區(qū)分大小寫,且盡量見名知意2、變量public class testpublic static void main(String args)String love=imooc;System.out.println( 變量 love 的內(nèi)容是: +love);love=i love imooc;System.out.println( 重新賦值后變量 love 的內(nèi)容是 +love); 3、變量命名習(xí)慣:a)第一個(gè)單詞的首字母小寫,其后單詞的首字母大寫
2、(駱駝式),myAgeb)變量命名時(shí),盡量簡(jiǎn)短且能清楚的表達(dá)變量的作用,見名知意,如stuNamePs: java變量長度沒有限制,但是嚴(yán)格區(qū)分大小寫4、數(shù)據(jù)類型int : 4 個(gè)字節(jié)Double:8 個(gè)字節(jié)c)Float: 4 個(gè)字節(jié)float 變量賦值在數(shù)值后添加字母f float he=12.2f;d)Char: 2 個(gè)字節(jié)char 變量賦值使用單引號(hào) e)Boolean: 1 個(gè)字節(jié)取值只能為: true 和 falseString :引用數(shù)據(jù)類型5、Java常量的應(yīng)用:Final 數(shù)據(jù)類型 常量名 =值;常量名一般使用大寫字符6、邏輯運(yùn)算符:a):異或有且只有一個(gè)為true則返回 t
3、rue7、條件運(yùn)算符:a)() ?正確表達(dá)式: 錯(cuò)誤表達(dá)式.精品文檔Eg: String str=(85)? “yes”: “no”8、運(yùn)算符優(yōu)先級(jí)最高的是:()9、輸出換行: System.out.println();10、循環(huán)語句練習(xí)packagettt;publicclasstest6 publicstaticvoidmain (String args)inti=1;intsum1=0;for (;i9;i+)bb=bb/10;System.out .println(i的值為 +i);、數(shù)組聲明數(shù)組:數(shù)組類型 數(shù)組名;ii.數(shù)組類型數(shù)組名 ;分配空間:i.數(shù)組名 =new 數(shù)據(jù)類型【數(shù)組
4、長度】.精品文檔Eg: socres = new int5;合并: int socres=new int5;int sorces=1,2,2,3;等價(jià)于 : int sorces=new int1,2,2,3;d)數(shù)組名 .length獲取數(shù)組的長度arrays 類操作 java 中的數(shù)組1、排序: arrays.sort(數(shù)組名 )(升序 )2、將數(shù)組轉(zhuǎn)換為字符串:arrays.toString(數(shù)組名 ) ;(可以實(shí)現(xiàn)把多個(gè)數(shù)組元素連接在一起,元素中間用逗號(hào)和空格隔開)。foreach 形式的 for 語句使用: for ( int i : words)System. out .print
5、(i);15 、 java中無參無返方法的調(diào)用a)定義: public void show()方法名字第一個(gè)詞小寫,之后首字母大寫調(diào)用:創(chuàng)建類的對(duì)象對(duì)象名 . 方法名();16 、 java中無參有返方法的調(diào)用a)Public int show()return sum;注意:i.如果方法的返回類型為void ,則方法中不能使用return返回值方法的返回值最多只能有一個(gè),不能返回多個(gè)值方法返回值的類型必須兼容、方法的重載:必須是在同一個(gè)類中方法名相同方法參數(shù)的個(gè)數(shù)、順序或類型不同與方法的修飾符或返回值沒有關(guān)系18 、隨機(jī)數(shù)方法:(int)( Math.random()*100)不需要導(dǎo)包、類和
6、對(duì)象:類是模子,確定對(duì)象將會(huì)擁有的特征(屬性)和行為(方法)類是對(duì)象的模型,具有 相同屬性和方法 的一組對(duì)象的集合對(duì)象:屬性對(duì)象具有的各種特征每個(gè)對(duì)象的每個(gè)屬性都有特定值類是抽象概念,僅僅是模板,比如“手機(jī)”;對(duì)象是一個(gè)具體的實(shí)體e)所有的 java程序都是以類class為組織單元,由屬性和方法組成Java 對(duì)象使用步驟:i.類名 對(duì)象名 =new 類名();ii.Phone phone=new Phone();iii.引用屬性: phone.screen=5;/給 screen屬性賦值5iv.引用方法:phone.send();/調(diào)用 send ()方法、成員變量和局部變量的區(qū)別.精品文檔作
7、用域不同初始值不同在同一個(gè)方法中,不允許有同名局部變量?jī)深愖兞客麜r(shí),局部變量具有更高的優(yōu)先級(jí)、構(gòu)造方法:a)使用 new+ 構(gòu)造方法創(chuàng)建一個(gè)新的對(duì)象構(gòu)造方法是定義在 java 類中的一個(gè)用來初始化對(duì)象的方法構(gòu)造方法與類同名且沒有返回值v.構(gòu)造方法的格式:public構(gòu)造方法名()/初始化代碼vi.Phone phone=new Phone();vii.構(gòu)造方法的名字與類名相同當(dāng)沒有指定構(gòu)造方法是,系統(tǒng)會(huì)自動(dòng)添加無參的構(gòu)造方法當(dāng)有指定構(gòu)造方法,無論是有參、無參的構(gòu)造方法,都不會(huì)自動(dòng)添加無參的構(gòu)造方法構(gòu)造方法的重載:方法名相同,但參數(shù)不同的多個(gè)方法,系統(tǒng)自動(dòng)選擇22 、靜態(tài)變量static:a)
8、Static可以修飾變量、方法、代碼塊訪問(引用): 類名 . 變量名hello.hahac)定義: public static String haha=”imoc ”;Public :表示公開的、公有的、靜態(tài)方法:訪問:類名 . 方法名();靜態(tài)方法中可以直接調(diào)用同類中的靜態(tài)成員,但不能直接調(diào)用非靜態(tài)成員。如果調(diào)用非靜態(tài)成員,可以通過對(duì)象來訪問在普通的方法中可以直接訪問同類的非靜態(tài)變量和靜態(tài)變量靜態(tài)方法中不能直接調(diào)用非靜態(tài)方法,需要通過對(duì)象來訪問非靜態(tài)方法。、程序運(yùn)行時(shí)靜態(tài)初始化塊最先被執(zhí)行,然后執(zhí)行普通初始化塊,最后才執(zhí)行構(gòu)造方法。、面向?qū)ο蟮娜筇匦裕悍庋b、繼承、多態(tài)、封裝:概念:將類的
9、某些信息隱藏在類內(nèi)部,不允許外部程序直接訪問,而是通過該類提供的方法來實(shí)現(xiàn)對(duì)隱藏信息的操作和訪問好處:只能通過規(guī)定的方法訪問數(shù)據(jù);隱藏類的實(shí)例細(xì)節(jié),方便修改和實(shí)現(xiàn)實(shí)現(xiàn)步驟:i.修改屬性的可見性:設(shè)為private:private int a;ii.創(chuàng)建 getter/setter方法:用于屬性的讀寫iii.在 getter、 setter方法中加入屬性的控制語句:對(duì)屬性的合法性進(jìn)行判斷( 其實(shí)就是通過調(diào)用方法去讀寫屬性)v. 可以通過 eclipse 中 source 菜單中 select getters and setters to create 27 、 java 中的包:作用:管理 ja
10、va 文件;解決同名文件沖突定義包: package 包名必須放在 java 源程序的第一行包名間可以使用“ . ”隔開iii.Eg:com.imooc.myclass;系統(tǒng)包:.精品文檔Java.lang.(類):包含java語言基礎(chǔ)的類Java.util.(類):包含java語言中各種工具類Java.io.(類):只包含輸入、輸出相關(guān)功能的表包的使用:可以通過 import 關(guān)鍵字,在某個(gè)文件使用其他文件中的類。Import com.imooc.music.myclassIi. Java中,包的命名規(guī)范是全小寫字母拼音Iii. 使用的時(shí)候不但可以加載某個(gè)包下的所有文件,也可以加載某個(gè)具體子
11、包下的所有文件訪問修飾符的總結(jié)訪問修飾符本類同包子類其他private默認(rèn)protectedpublic28 、 this關(guān)鍵字:代表當(dāng)前對(duì)象This. 屬性 操作當(dāng)前對(duì)象的屬性This. 方法 調(diào)用當(dāng)前對(duì)象的方法封裝對(duì)象的屬性的時(shí)候經(jīng)常會(huì)使用this 關(guān)鍵字29 、 java中的內(nèi)部類:(包含內(nèi)部類的類稱為外部類)內(nèi)部類提供了更好的封裝,可以把內(nèi)部類隱藏在外部類之內(nèi),不允許同一個(gè)包中的其他類訪問該類內(nèi)部類的方法可以直接訪問外部類的所有數(shù)據(jù),包括隱私的數(shù)據(jù)內(nèi)部類所實(shí)現(xiàn)的功能使用外部類同樣可以實(shí)現(xiàn),只是有時(shí)使用內(nèi)部類更方便內(nèi)部類可以分為: i. 成員內(nèi)部類1. 內(nèi)部類中定義的方法可以直接訪問外部
12、類中的數(shù)據(jù),不受訪問控制符的影響2.定義一個(gè)內(nèi)部類對(duì)象:內(nèi)部類對(duì)象名 = 外部類對(duì)象 .new內(nèi)部類()3.外部類不能直接使用內(nèi)部類的成員和方法,可以先創(chuàng)建內(nèi)部類的對(duì)象,然后通過內(nèi)部類的對(duì)象來訪問其他成員變量和方法外部類和內(nèi)部類具有相同的成員變量或方法,則內(nèi)部類默認(rèn)訪問自己的成員變量或方法,如果要訪問外部類的成員變量,可以使用this關(guān)鍵字ii.靜態(tài)內(nèi)部類1.靜態(tài)內(nèi)部類不能直接訪問外部類的非靜態(tài)成員,但可以通過new 外部類().成員的方式訪問如果外部類的靜態(tài)成員與內(nèi)部類的成員名稱相同, 可以通過 “類名 . 靜態(tài)成員”訪問外部類的靜態(tài)成員;如果外部類的靜態(tài)成員與內(nèi)部類的成員名稱不同,則可以通
13、過“成員名”直接調(diào)用外部類的靜態(tài)成員創(chuàng)建靜態(tài)內(nèi)部類的對(duì)象時(shí), 不需要外部類的對(duì)象, 可以直接創(chuàng)建 內(nèi)部類 對(duì)象名 =new 內(nèi)部類() ;方法內(nèi)部類.精品文檔1.方法內(nèi)部類就是定義在外部類的方法中, 方法內(nèi)部類只在該方法的內(nèi)部可見,即只在該方法內(nèi)可以使用。由于方法內(nèi)部類不能在外部類的方法以外的地方使用,因此方法內(nèi)部類不能使用訪問控制符和 static 修飾符匿名內(nèi)部類、繼承:Java 里都是單繼承好處:i.子類直接擁有父類的所有屬性和方法,但private除外實(shí)現(xiàn)代碼的復(fù)用iii.Class子類 extends父類Final 關(guān)鍵字修飾類:則該類不允許被繼承修飾方法:則該方法不允許被覆蓋(重寫
14、)修飾屬性: 則該類的屬性不會(huì)進(jìn)行隱式的初始化 (類的初始化屬性必須有值)或在構(gòu)造方法中賦值修飾變量,則變量的值只能賦一次,即常量Super 關(guān)鍵字在對(duì)象的內(nèi)部使用,可以代表父類對(duì)象ii.方位父類的屬性,或方法,super.agesuper.eat().精品文檔31 、 Object類:a)Object類是所有類的父類,如果一個(gè)類沒有使用extends關(guān)鍵字明確標(biāo)識(shí)繼承另一個(gè)類,那么這個(gè)類默認(rèn)繼承object類b)Object類中的方法,適合所有子類c)方法:i.toString()方法:1.在 object類里面定義的tostring()方法的時(shí)候返回的對(duì)象的哈希碼(對(duì)象地址字符串)(用來區(qū)
15、分對(duì)象)如:直接輸出 dog 對(duì)象的值: System.out.println(dog);3.生成: source菜單欄 generate toString() 生成輸出屬性的方法ii. Equals() 方法:1.比較的是對(duì)象的 引用 是否指向同一塊內(nèi)存地址:Dog dog=new Dog();生成: source 菜單欄 generate hashcode()and equals().類對(duì)象:姓名、年齡、身高.obj.getclass()類的對(duì)象:小灰、 25 、170.obj3.調(diào)用: if(dog1.equals(dog2) 判斷兩個(gè)對(duì)象是否相同、多態(tài):(繼承是多態(tài)的基礎(chǔ))引用多態(tài):i
16、.父類的引用可以指向本類的對(duì)象:animals obj1=new animals();ii.父類的引用可以指向子類的對(duì)象: animals obj2=new dog();注意:子類的引用 不可以 指向父類的對(duì)象 :dog obj3=new animals();方法多態(tài):創(chuàng)建本類對(duì)象時(shí),調(diào)用的方法為本類方法ii.創(chuàng)建子類對(duì)象時(shí),調(diào)用的方法為子類重寫 的方法或者 繼承 的方法、多態(tài)中的引用類型轉(zhuǎn)換向上類型轉(zhuǎn)換(隱式 / 自動(dòng)類型轉(zhuǎn)換),是小類型到大類型的轉(zhuǎn)換,無風(fēng)險(xiǎn)向下類型轉(zhuǎn)行(強(qiáng)制類型轉(zhuǎn)換),是大類型到小類型的轉(zhuǎn)換,有風(fēng)險(xiǎn),溢出c)Instanceof運(yùn)算符,來解決引用對(duì)象時(shí)的類型,避免類型轉(zhuǎn)換
17、的安全問題Eg:Dog dog=new Dog();Animal anmal=dog;/自動(dòng)類型提升,向上類型轉(zhuǎn)換Dog dog2=(Dog)animal;/強(qiáng)制類型轉(zhuǎn)換,向下類型轉(zhuǎn)換Cat cat=(Cat)animal;/編譯時(shí) Cat 類型;運(yùn)行時(shí)Dog 類型,報(bào)錯(cuò)可以替換為:if (animal instanceof Cat)Cat cat=(Cat)animal;、抽象類:語法:抽象類前使用 abstract關(guān)鍵字修飾,則該類為抽象類作用:限制規(guī)定子類必須實(shí)現(xiàn)某些方法,但不關(guān)注實(shí)現(xiàn)細(xì)節(jié)規(guī)則:.精品文檔i.Abstract定義抽象類ii.Abstract定義抽象方法,只有聲明,不需要實(shí)
18、現(xiàn)包含抽象方法的類是抽象類抽象類中可以包含普通的方法,也可以沒有抽象方法抽象類不能直接創(chuàng)建,可以定義引用變量現(xiàn)有 Shape 圖形類,用 Rectangle 矩形和 Circle 圓形子類,求圖形的周長和面積:Shape.java:package com.amooc;publicabstractclass Shapepublicabstractvoidzhouchang(doublel,doublew);publicabstractvoidmianji(doublel,doublew);publicabstractvoidzhouchang2(doubler);publicabstractvo
19、idmianji2(doubler);Rectangle.java:packagecom.amooc;publicclassRectangleextendsShape publicvoidzhouchang(doublel,doublew)doublez;z=2*(l+w);System.out .println( 長為: +l+ ,寬為: +w+ ,的長方形周長是: +z);publicvoidmianji(doublel,doublew)doublem;m=l*w;System.out .println( 長為: +l+ ,寬為: +w+ ,的長方形面積是: +m);publicvoidz
20、houchang2(doubler)doublez;z=2*3.14*r;System.out .println( 半徑為: +r+ ,的圓形周長是: +z);publicvoidmianji2(doubler)doublem;m=3.14*r*r;System.out .println( 半徑為: +r+ ,的圓形面積是: +m);imooc1.java:packagecom.amooc;.精品文檔publicclassimooc1publicstaticvoidmain(String args)Rectangle z1=new Rectangle();Shape m1= new Recta
21、ngle();Shape z2=new Rectangle();Shape m2= new Rectangle();z1.zhouchang(3,4);m1.mianji(3,4);z2.zhouchang2(3);m2.mianji2(3);、接口:概念:接口可以理解為一種特殊的類,由全局常量和公共的抽象方法所組成。類是一種實(shí)現(xiàn)體,而接口定義了某一批類所需要遵守的規(guī)范,接口不關(guān)心這些類的內(nèi)部數(shù)據(jù),也不關(guān)心這些類里方法的實(shí)現(xiàn)細(xì)節(jié),它只規(guī)定這些類里必須提供某些方法b)定義:和類定義不同,定義接口不再使用class關(guān)鍵字, 而是使用interface關(guān)鍵字c)基本語法: 修飾符 interface
22、接口名extends父接口 1, 父接口2.零個(gè)到多個(gè)常量定義零個(gè)到多個(gè)抽象方法的定義接口是用來被繼承、被實(shí)現(xiàn)的,修飾符一般建議用public注 : 不能使用private和 protected修飾接口d)接口定義常量:接口中的屬性是常量,即使定義時(shí)不添加public static final修飾符,系統(tǒng)也會(huì)自動(dòng)加上e)接口定義方法:接口中的方法只能是抽象方法,總是使用,即使定義時(shí)不添加publicabstract,系統(tǒng)也會(huì)自動(dòng)加上使用接口 1:i.一個(gè)類可以實(shí)現(xiàn)一個(gè)或多個(gè)接口,實(shí)現(xiàn)接口使用implements關(guān)鍵字, java中一個(gè)類只能繼承一個(gè)父類是不夠靈活的,通過實(shí)現(xiàn)多個(gè)接口可以做補(bǔ)充
23、ii. 繼承父類實(shí)現(xiàn)接口的語法為: 修飾符 class類名 extends父類 implements接口 1,接口 2.類體部分 / 如果繼承了抽象類,需要實(shí)現(xiàn)繼承的抽象方法;要實(shí)現(xiàn)接口中的抽象方法 .如果要繼承父類,繼承父類必須在實(shí)現(xiàn)接口之前Eg: new interface Ijiekou(命名習(xí)慣,名字前加大寫I )使用接口 2:接口在使用過程當(dāng)中,還經(jīng)常與匿名內(nèi)部類配合使用,匿名內(nèi)部類就是沒有名字的內(nèi)部類,多用于關(guān)注實(shí)現(xiàn)而不關(guān)注實(shí)現(xiàn)類的名稱語法格式:Interface i=new Interface().精品文檔public void method()System.out.printl
24、n(“匿名內(nèi)部類實(shí)現(xiàn)接口的方式”);注意:末尾以分號(hào)結(jié)束或:new Interface()Public void playGame()System.out.println(“使用匿名內(nèi)部類的方式實(shí)現(xiàn)接口”);.playGame();h)在接口中定義方法geta(),正確的格式是:void geta();注:接口方法不能有方法體,同時(shí)方法的訪問修飾符不能為private和 protected36 、 UML:( unified modeling language),又稱統(tǒng)一建模語言或標(biāo)準(zhǔn)建模語言。是一個(gè)支持模型化和軟件系統(tǒng)開發(fā)的圖形化語言,為軟件開發(fā)的所有階段提供模型化和可視化支持。用例圖:(
25、the use case diagram)用例圖能夠以可視化的方式,表達(dá)系統(tǒng)如何滿足所收集的業(yè)務(wù)規(guī)則,以及特定的用戶需求等信息序列圖:( the sequence diagram)序列圖用于按照交互發(fā)生的一系列順序,顯示對(duì)象之間的這些交互用戶柜臺(tái)窗口點(diǎn)帳窗口取錢賬戶后臺(tái)表明身份請(qǐng)求取錢確認(rèn)并取款分發(fā)貨幣授權(quán)合法c)類圖:( the class diagram)UML 類圖業(yè)務(wù)邏輯和所有支持結(jié)構(gòu)一同被用于定義全部的代碼結(jié)構(gòu)UML建模工具:i.Visio、 rational rose、powerdesign、綜合練習(xí):答答租車系統(tǒng).精品文檔功能:展示所有可租車輛選擇車型、租車量展示租車清單,包含:
26、總金額、總載貨量及其車型、總載人量及其車型項(xiàng)目分析:數(shù)據(jù)模型分析通過對(duì)現(xiàn)實(shí)世界的事與物主要特征的分析、抽象,為信息系統(tǒng)的實(shí)施提供數(shù)據(jù)存取的數(shù)據(jù)結(jié)構(gòu)以及相應(yīng)的約束數(shù)據(jù)結(jié)構(gòu)的組成:操作(方法)、屬性業(yè)務(wù)模型分析顯示和流程分析38 、異常:走路被樹葉絆倒,吃糖餅燙后腦勺,考試快交卷了才發(fā)現(xiàn)反面還有題.組織圖:ThrowableErrorException虛擬機(jī)錯(cuò)誤內(nèi)存異常RuntimeException檢異常查文件異常SQL異??罩羔槷惓?shù)組下標(biāo)越界異常類型轉(zhuǎn)換異常算術(shù)異常處理異常:try-catch以及 try-catch-finallyEg:Try一些會(huì)拋出異常的方法catch(Exceptio
27、n e)處理該異常的代碼塊finally最終將要執(zhí)行的代碼iii.packagecom.imooc0325;publicclasstest1/*divide:除數(shù)result:結(jié)果try-catch捕獲 while循環(huán)每次循環(huán), divide減 1, result=result+100/divide如果:捕獲異常,打印輸出 拋出異常了! ,返回 -1否則:返回result*/.精品文檔publicinttest()intdivide =10;intresult =100;try while(divide-1)divide-;result =result+100/divide;returnres
28、ult; catch (Exception e)e.printStackTrace();/ 打印異常具體信息System.out .println( 循環(huán)拋出異常了! );return-1; finallySystem.out .println( 我還會(huì)回來的 );publicstaticvoidmain(String args)test1 tct=new test1();intresult=tct.test();System.out .println(test方法執(zhí)行完畢,返回值: +result);c)如果三個(gè)程序塊之內(nèi)都沒有return語句,則調(diào)用程序塊外的return語句Java 中的
29、異常拋出以及自定義異常Java 中的異常拋出:throw :將產(chǎn)生的異常拋出throws :聲明將要拋出何種類型的異常(聲明)public void方法名(參數(shù)列表)throws異常列表調(diào)用會(huì)拋出異常的方法或者:throw new Exception();自定義異常:1.class自定義異常extends異常類型Public class DrunkException extends ExceptionPublic DrunkException(String message)JAVA 中的異常鏈:/*test1():拋出“喝大了”異常test2():調(diào)用 test1(),捕獲“喝大了”異常,并且
30、包裝成運(yùn)行時(shí)異常,繼續(xù)拋出main 方法中,調(diào)用test2(),嘗試捕獲test2()方法拋出的異常.精品文檔*/public void test1() throws DrunkExceptionthrows new DrunkException(喝車別開酒) ;public void test2() trytset1();catch(DrunkException e)RuntimeException newExe=new RuntimeException(司機(jī)一滴酒,親人兩行淚 ) ;newExe.initCause(e);throw newExe;public static void ma
31、in(String args)chaintest ct=new chaintest();tryct.tset2();catch(Exception e;)e.printStackTrace();注:捕獲到的異常,可以在當(dāng)前方法的catch塊中處理,也可以拋出給調(diào)用者去處理、實(shí)用中的經(jīng)驗(yàn)與總結(jié):a)處理運(yùn)行時(shí)異常時(shí),采用邏輯去合理規(guī)避,同時(shí)輔助try-catch處理b)在多重 catch塊后面,可以加一個(gè)catch ( Exception)來處理可能會(huì)被遺漏的異常c)對(duì)于不確定的代碼,也可以加上try-catch,處理潛在的異常d)盡量去處理異常,切忌只是簡(jiǎn)單的調(diào)用printStackTrace
32、()去打印輸出具體如何去處理異常,要根據(jù)不同的業(yè)務(wù)需求和異常類型去決定盡量添加 finally語句塊去釋放占用的資源40 、 JAVA 中的字符串:在 java 中,字符串被作為 String 類型的對(duì)象處理。 String 類位于 java.lang 包中。默認(rèn)情況下,該包被自動(dòng)導(dǎo)入所有的程序a)String s1=“ imooc ”;/ 創(chuàng)建一個(gè)字符串對(duì)象imooc,名為 s1b)String s2=new String();/ 創(chuàng)建一個(gè)空字符串對(duì)象,名為s2c)String s3=new String(“imooc ”);/ 創(chuàng)建一個(gè)字符串對(duì)象imooc ,名為 s341 、 java
33、中字符串的不變性: String 對(duì)象創(chuàng)建后則不能被修改,是不可變的,所謂的修改其實(shí)時(shí)創(chuàng)建了新的對(duì)象,所指向的內(nèi)存空間不同其實(shí)質(zhì)是創(chuàng)建了新的字符串對(duì)象一旦一個(gè)字符串在內(nèi)存中創(chuàng)建,則這個(gè)字符串將不可改變42 、 java中 String類的常用方法String 類提供了許多用來處理字符串的方法處理字符串的方法1int length()返回當(dāng)前字符串的長度2int indexOf(int ch)查找 ch 字符子該字符串中第一次出現(xiàn)的位置.精品文檔3int indexOf(String str)查找 str 子字符串在該字符串中第一次出現(xiàn)的位置4int lastIndexOf(int ch)查找
34、ch 字符在該字符串中最后一次出現(xiàn)的位置5int lastIndexOf(String str)查找 str 子字符串在該字符串中最后一次出現(xiàn)的位置6String substring(int beginIndex)獲取從 beginIndex位置開始到結(jié)束的字符串7String substring(int beginIndex,int獲取從 beginIndex位置開始到 endIndex 位置的子字符串中endIndex)8String trim()返回去除了前后空格的字符串9boolean equals(Object obj)將該字符串與指定對(duì)象比較,返回 ture 或 false10St
35、ring toLowerCase()將字符串轉(zhuǎn)換為小寫11String toUpperCase()將字符串轉(zhuǎn)換為大寫12char charAt(int index)獲取字符串中指定位置的字符13String split(String regex,int limit)將字符串分割為子字符串,返回字符串?dāng)?shù)組14byte getBytes()將該字符串轉(zhuǎn)換為 byte 數(shù)組字符串 str 中字符的索引從 0 開始c)使用 indexOf進(jìn)行字符或字符串查找時(shí),如果匹配返回位置索引;如果沒有匹配結(jié)果,返回 -1d)使用 substring( beginIndex,endIndex)進(jìn)行字符串截取時(shí),包
36、括beginIndex位置的字符,不包括endIndex位置的字符e)packagecom.imooc0325;importjava.util.Arrays;publicclasstest2 publicstaticvoidmain(String args)/ 定義一個(gè)字符串“學(xué)習(xí)一下java編程”String str = 學(xué)習(xí)一下java編程 ;打印出字符串長度System.out .println( 字符串長度: +str.length();查找字符編的位置charc= 編 ;System.out .println( 字符 編 的位置: +str.indexOf(c);查找字符串 JAVA
37、 的位置System.out .println( 子字符串 java的位置: +str.indexOf(java);查詢子字符串 imooc 的位置,如果找不到返回 -1System.out .println( 子字符串 imooc的位置: +str.indexOf(imooc);按空格把字符串拆分成一個(gè)數(shù)組,并輸出數(shù)組元素String arr=str.split( );System.out .print( 按空格拆分成數(shù)組: +Arrays. toString (arr);System.out .println();/ 獲取索引位置 4,8)之間的字符串System.out .println
38、( 獲取位置 4,8)之間的子符串: +str.substring(4,8);.精品文檔43 、 = 和 equals()的區(qū)別:=:判斷兩個(gè)字符串在內(nèi)存中首地址是否相同,即判斷是否是同一個(gè)字符串對(duì)象equals() :比較存儲(chǔ)在兩個(gè)字符串對(duì)象中的內(nèi)容是否一致定義一個(gè)字符串“學(xué)習(xí) JAVA 編程”String str=學(xué)習(xí) JAVA 編程 ;將字符串轉(zhuǎn)換為小寫System.out.println(轉(zhuǎn)換為小寫:+str.toLowerCase();獲取索引位置為 1 的字符System.out.println(獲取索引為1 位置的字符:+str.charAt(1);將字符串轉(zhuǎn)換為 byte ,并
39、打印輸出byte b=str.getBytes();System.out.print(轉(zhuǎn)換為字符數(shù)組:) ;for(int i=0;ib.length;i+)System.out.print(bi + );System.out.println();和另一個(gè)字符串“學(xué)習(xí) JAVA 編程”進(jìn)行比較String str2 =new String(學(xué)習(xí) JAVA 編程 ) ;System.out.println(str和 str2的內(nèi)存地址相同?+(str = str2);System.out.println(str和 str2的內(nèi)容相同?+str.equals(str2);、定義字符串可以使用:St
40、ringStringBuilder:性能更高,優(yōu)先使用StringBuffer:是線程安全的創(chuàng)建一個(gè)空對(duì)象: StringBuilder str1=new StringBuilder();e)創(chuàng)建字符串為“imooc ”: StringBuilder str2=new StringBuilder(“imooc ”);f)/ 創(chuàng)建 StringBuilder對(duì)象,存儲(chǔ)字符串StringBuilder str =new StringBuilder(hello);str.append( imooc);/在字符串后面追加字符串str.append(520);/在字符串后面追加整數(shù)System.out.
41、println(字符串長度:+str.length();/字符串長度System.out.println(插入前, +str);str.insert(11,!);/在指定位置插入內(nèi)容String str2 =str.toString();/轉(zhuǎn)換為 String對(duì)象System.out.println(插入后: +str2);45、 java 中的包裝類:a)基本類型不能調(diào)用方法,功能簡(jiǎn)單。為了讓基本數(shù)據(jù)類型也具備對(duì)象的特性,java為每個(gè)基本數(shù)據(jù)類型都提供了一個(gè)包裝類, 這樣我們就可以像操作對(duì)象那樣來操作基本數(shù)據(jù)類型。b)包裝類主要提供了兩大類方法:.精品文檔將本類型和其他基本類型進(jìn)行轉(zhuǎn)換的方
42、法將字符串和本類型及包裝類互相轉(zhuǎn)換的方法c) 基 本 類 型和包裝類型之間的對(duì)應(yīng)關(guān)系:序號(hào)基本類型對(duì)應(yīng)的包裝類1byteByte2shortShort3intInteger4longLong5floatFloat6doubleDouble7charCharacter8booleanBooleanInteger 包裝類的構(gòu)造方法:i.Integer(int value) :創(chuàng)建一個(gè) Integer 對(duì)象,表示指定的 int 值ii.Integer(String s) :創(chuàng)建一個(gè) Integer 對(duì)象,表示 String 參數(shù)所指示的int 值 i=2;/ 定義 int 類型變量,值
43、為 2Integer m= new Integer(5);/ 定義 Integer 包裝類對(duì)象,值為5Integer n=new Integer( “8”);/ 定義 Integer 包裝類對(duì)象,值為8Integer 包裝類的常用方法:返回值方法名解釋bytebyteValue()將該 Integer 轉(zhuǎn)為 byte 類型doubledoubleValue()轉(zhuǎn)為 double 類型floatfloatValue()轉(zhuǎn)為 float類型intintValue()轉(zhuǎn)為 int類型longlongValue()轉(zhuǎn)為 long 類型static intparseInt(String s)將字符串轉(zhuǎn)換
44、為 int類型StringtoString()轉(zhuǎn)為字符串類型static IntegervalueOf(String s)將字符串轉(zhuǎn)換為 Integer類型46、 java 中基本類型和包裝類之間的轉(zhuǎn)換a)Integer a =new Integer(3);/ 定義 Integer 包裝類對(duì)象,值為3int b=a+5;/ 將對(duì)象和基本類型進(jìn)行運(yùn)算裝箱:int i=10; / 定義一個(gè) int 基本類型值Integer x =new Integer(i);/ 手動(dòng)裝箱Integer y =i;/ 自動(dòng)裝箱c)拆箱:Integer j=new Integer(8);/ 定義一個(gè) integer
45、包裝類對(duì)象,值為8int m=Value();/ 手動(dòng)拆箱為int 類型int n=j;/ 自動(dòng)拆箱為int 類型.精品文檔47、 java 中基本類型和字符串之間的轉(zhuǎn)換基本類型轉(zhuǎn)換為字符串有三種方法:使用包裝類 toString() 方法使用 String 類的 valueOf() 方法用一個(gè)空字符串加上基本類型,得到的就是基本類型數(shù)據(jù)對(duì)應(yīng)的字符串Int c=10;String str1=Integer.toString(c);/ 方法一String str2=String.valueOf(c);/ 方法二String str3=c+ ”;/ 方法三將字符串轉(zhuǎn)換成基本類型有兩種方法
46、調(diào)用包裝類的 parseXxx 靜態(tài)方法調(diào)用包裝類的 valueOf 方法轉(zhuǎn)換為基本類型的包裝類,會(huì)自動(dòng)拆箱String str= ”8”;int d=Integer.parseInt(str);/ 方法一int e=Integer.valueOf(str);/ 方法二48、使用 Date 和 SimpleDateFormat 類表示時(shí)間獲取當(dāng)前時(shí)間: Date 類Date d=new Date();/ 使用默認(rèn)的構(gòu)造方法創(chuàng)建Date 對(duì)象System.out.println(d);/ 輸出 Date 對(duì)象( 顯示當(dāng)前時(shí)間)格式化日期和時(shí)間: SimpleDateFormat 類i. 使用 f
47、ormat() 方法將日期轉(zhuǎn)換為指定格式的文本 / 創(chuàng)建 Date 對(duì)象,表示當(dāng)前時(shí)間Date d=new Date();/ 創(chuàng)建 SimpleDateFormat 對(duì)象,指定目標(biāo)格式SimpleDateFormat sdf=new SimpleDateFormat( “yyyy-MM-dd HH:mm:ss ”);調(diào)用 format() 方法,格式化時(shí)間,轉(zhuǎn)換為指定格式的字符串String today =sdf.format(d);輸出轉(zhuǎn)換后的字符串System.out.println(today);使用 parse()方法將文本轉(zhuǎn)換為日期 / 創(chuàng)建日期格式的字符串String day=”2
48、016 年 3 月 27 日 15:30:33 ”;/ 創(chuàng)建 SimpleDate.Format 對(duì)象,指定字符串的日期格式SimpleDateFormat df=new SimpleDateFormat( “yyyy 年 MM 月 dd 日 HH:mm:ss ”);調(diào)用 parse()方法將字符串轉(zhuǎn)換為日期Date date=df.parse(day);輸出轉(zhuǎn)換后的時(shí)間System.out.println( “當(dāng)前時(shí)間: ”+date);導(dǎo)包:Import java.text.parseexception;Import java.text.simple.date.format;Import
49、java.util.date;49、 Calendar 類的應(yīng)用(相比Date 更好 )包: java.util.Calendar.精品文檔獲取年月日、時(shí)間信息 package com.imooc0327 import java.util.Calendar;publicclasstest2 publicstaticvoid main(String args)Calendar c =Calendar.getInstance();/創(chuàng)建 Canlendar對(duì)象intyear =c.get(Calendar.YEAR);/ 獲取年intmouth =c.get(Calendar.MONTH)+1;/
50、獲取月份, 0 表示1 月份intday =c.get(Calendar.DAY_OF_MONTH); / 獲取日期inthour =c.get(Calendar.HOUR_OF_DAY); / 獲取小時(shí)intminute =c.get(Calendar.MINUTE);/獲取分鐘intsecond =c.get(Calendar.SECOND);/獲取秒System.out .println( 當(dāng)前時(shí)間: +year+- +mouth+ - +day+ +hour+ : +minute+ : +second);50 、使用Math 類操作數(shù)據(jù)a)所有方法都是靜態(tài)方法,可以直接使用類名 . 方
51、法名常用方法:i.long :round(),返回四舍五入后的整數(shù)ii.double : floor() ,返回小于參數(shù)的最大整數(shù)iii.Double:ceil() ,返回大于參數(shù)的最小整數(shù)iv.Double:random() ,返回 0,1) 之間的隨機(jī)數(shù)浮點(diǎn)數(shù)實(shí)例:package com.imooc0327;public classtest3 publicstaticvoid main(String args)doublea=12.21;/定義一個(gè) double 類型的變量intb=(int)a;/將 double類型強(qiáng)制轉(zhuǎn)換為int 類型,去掉小數(shù)點(diǎn)System.out .println
52、( 強(qiáng)制類型轉(zhuǎn)換: +b);longc=Math. round(a);/ 調(diào)用一個(gè) round方法,進(jìn)行四舍五入System.out .println( 四舍五入: +c);doubled=Math. floor (a);/調(diào)用 floor方法,返回小于參數(shù)的最大整數(shù)System.out .println(floor:+d);doublee=Math. ceil(a);/ 調(diào)用 ceil 方法,返回大于參數(shù)的最小整數(shù)System.out .println(ceil:+e);doublex=Math. random ();/調(diào)用 random 方法,產(chǎn)生 0,1) 之間的隨機(jī)數(shù)浮點(diǎn)數(shù)System.out .println( 隨機(jī)數(shù) +x);inty=(int)(Math.random ()*99);/ 產(chǎn)生 0,99)之間的隨機(jī)整數(shù)System.out .println( 產(chǎn)生 0,99)之間的隨機(jī)整數(shù): +y);.精品文檔51 、 java中的集合框架:Ja
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度綠色能源項(xiàng)目投資定金合同附屬協(xié)議書2篇
- 二零二五年度權(quán)威解讀!欠條法律風(fēng)險(xiǎn)防范及處理合同3篇
- 二零二五年度白酒定制生產(chǎn)與品牌發(fā)展合同2篇
- 二零二五年度高鐵安裝工程設(shè)備磨損保險(xiǎn)合同2篇
- 2025年度西餐廳經(jīng)營管理權(quán)租賃合同3篇
- 二零二五年度航空貨運(yùn)代理航空貨物包裝材料供應(yīng)合同3篇
- 展會(huì)展臺(tái)拆除合同(2篇)
- 小區(qū)道路工程承包合同(2篇)
- 2025年餐飲食材配送與售后服務(wù)合同協(xié)議3篇
- 二零二五年度航空航天零部件耗材采購合同范本3篇
- 幼兒園反恐防暴技能培訓(xùn)內(nèi)容
- 食品企業(yè)質(zhì)檢員聘用合同
- 中醫(yī)診所內(nèi)外部審計(jì)制度
- 自然辯證法學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 2024年國家危險(xiǎn)化學(xué)品經(jīng)營單位安全生產(chǎn)考試題庫(含答案)
- 護(hù)理員技能培訓(xùn)課件
- 家庭年度盤點(diǎn)模板
- 河南省鄭州市2023-2024學(xué)年高二上學(xué)期期末考試 數(shù)學(xué) 含答案
- 2024年資格考試-WSET二級(jí)認(rèn)證考試近5年真題集錦(頻考類試題)帶答案
- 試卷中國電子學(xué)會(huì)青少年軟件編程等級(jí)考試標(biāo)準(zhǔn)python三級(jí)練習(xí)
- 公益慈善機(jī)構(gòu)數(shù)字化轉(zhuǎn)型行業(yè)三年發(fā)展洞察報(bào)告
評(píng)論
0/150
提交評(píng)論