(1)自動(dòng)類型轉(zhuǎn)換和強(qiáng)制類型轉(zhuǎn)換。
(2)任何數(shù)據(jù)類型都會(huì)向String轉(zhuǎn)換。
二、 運(yùn)算符、表達(dá)式與語句2.1運(yùn)算符(1)賦值運(yùn)算符:=
(2)一元運(yùn)算符:+(正號(hào))、-(負(fù)號(hào))、!
(3)算術(shù)運(yùn)算符:+、-、*、/、%
(4)關(guān)系運(yùn)算符:>、<、>=、<=、==、!=
(5)遞增與遞減運(yùn)算符:++、- -
(6)邏輯運(yùn)算符:&、&&、|、||
(7)括號(hào)運(yùn)算符:()
三、 判斷與循環(huán)3.1 程序的結(jié)構(gòu)3.1.1 順序結(jié)構(gòu)程序從上至下逐行執(zhí)行,一直運(yùn)行到結(jié)尾。
3.1.2 選擇結(jié)構(gòu)根據(jù)條件的成立與否,決定執(zhí)行哪條語句
(1)if…else、if…else if…else
(2)switch case語句
(3)三目運(yùn)算符 ?:
3.1.3 循環(huán)結(jié)構(gòu)循環(huán)就是重復(fù)執(zhí)行某一段代碼
(1) while循環(huán)
(2) do…while循環(huán)
(3) for循環(huán)
3.2 中斷語句(1)break跳出當(dāng)前循環(huán)。
(2)continue中斷一次循環(huán)執(zhí)行。
四、 數(shù)組的定義及使用4.1 數(shù)組定義一組相關(guān)變量的集合。
4.2 一維數(shù)組4.2.1 數(shù)組的動(dòng)態(tài)初始化聲明方式:
(1)數(shù)據(jù)類型 數(shù)組名[] = null
(2)數(shù)據(jù)類型[] 數(shù)組名 = null
開辟數(shù)組空間:
數(shù)組名 = new 數(shù)據(jù)類型[長(zhǎng)度]
4.2.2 數(shù)組的靜態(tài)初始化數(shù)據(jù)類型 數(shù)組名[] = {初值0,初值1,初值2……初值n}
4.3 二維數(shù)組4.3.1 數(shù)組的動(dòng)態(tài)初始化聲明方式:
(1)數(shù)據(jù)類型 數(shù)組名[][] = null
(2)數(shù)據(jù)類型[][] 數(shù)組名 = null
開辟數(shù)組空間:
數(shù)組名 = new 數(shù)據(jù)類型[行的個(gè)數(shù)][列的個(gè)數(shù)]
4.3.2 數(shù)組的靜態(tài)初始化數(shù)據(jù)類型 數(shù)組名[][] = {{第0行初值},{第1行初值}……{第n行初值} }
4.4 多維數(shù)組以一維數(shù)組、二維數(shù)組類推。
4.5 對(duì)象數(shù)組4.5.1對(duì)象數(shù)組的聲明類 對(duì)象數(shù)組名稱[]=new 類[數(shù)組長(zhǎng)度];
4.6、數(shù)組的引用傳遞4.6.1接收和返回?cái)?shù)組一個(gè)方法可以接收一個(gè)數(shù)組,也可以返回一個(gè)數(shù)組,如果方法接收一個(gè)數(shù)組的話,則此方法對(duì)數(shù)組所做的修改將全部被保留下來。
4.6.2數(shù)組中一些方法(1)數(shù)組排序:Java.util.Arrays.sort();
(2)數(shù)組拷貝:System.arraycopy();
五、 方法聲明及使用5.1 方法的定義可重復(fù)調(diào)用的代碼段。
5.1.1方法的定義格式public static 返回值類型 方法名稱(類型 參數(shù)1, 類型 參數(shù)2,…){
方法的主體
程序語句:
[return 表達(dá)式];
}
5.1.2方法的命名規(guī)范第一個(gè)單詞首字母小寫,之后單詞的首字母大寫。
5.2 方法的重載方法名字相同,但是參數(shù)類型或者個(gè)數(shù)不同,通過傳遞參數(shù)的類型不同或者個(gè)數(shù)不同進(jìn)行調(diào)用,僅僅只是返回類型不同不能叫重載。
5.3 return語句(1)返回一個(gè)方法的結(jié)果。
(2)結(jié)束一個(gè)方法。
六、面向?qū)ο笤O(shè)計(jì)6.1 面向?qū)ο蟮娜筇卣?p>(1)封裝(2)繼承
(3)多態(tài)
6.2 類與對(duì)象類是對(duì)某一類事物的描述,是抽象的、概念上的定義;對(duì)象是實(shí)際存在的該類事物的每個(gè)個(gè)體,因而也稱實(shí)例。
6.2.1類的定義class 類名稱{
數(shù)據(jù)類型 屬性;
……
public返回值類型 方法名稱(類型 參數(shù)1, 類型 參數(shù)2,…){
程序語句:
[return 表達(dá)式];
}
}
6.2.2對(duì)象的創(chuàng)建和使用(1)類名 對(duì)象名稱 = null;
對(duì)象名稱 = new 類名();
(2)類名 對(duì)象名稱 = new 類名();
6.3 Java封裝性與多態(tài)性6.3.1封裝的作用保護(hù)內(nèi)容,保證某些屬性可以不被外部看見。
6.3.2封裝的實(shí)現(xiàn)為屬性封裝:PRivate 屬性類型 屬性名稱;
為方法封裝:private 方法返回值 方法名稱(參數(shù)列表){}
6.3.3訪問封裝的內(nèi)容被封裝的屬性如果需要被訪問,則需要編寫setter和getter方法,setter方法中可以加入驗(yàn)證,getter方法中只是把內(nèi)容簡(jiǎn)單取回。
6.3.4多態(tài)性多態(tài)性在面向?qū)ο笾惺且粋€(gè)最重要的概要,在java中面向?qū)ο笾饕幸韵聝煞N主要體現(xiàn):
(1) 方法的重載與覆寫
(2) 對(duì)象的多態(tài)性
class 類名稱{
訪問權(quán)限 類名稱(類型1 參數(shù)1,類型2,參數(shù)2,…){
程序語句;
…… //構(gòu)造方法沒有返回值
}
注意:
(1) 構(gòu)造方法的名稱必須與類名稱一致。
(2) 構(gòu)造方法的聲明處不能有任何返回值類型的聲明。
(3) 不能在構(gòu)造方法中使用return返回一個(gè)值。
6.4.2構(gòu)造方法重載重載過程與普通方法一樣:參數(shù)的類型或個(gè)數(shù)不同。
6.4.3匿名對(duì)象沒有名字,在java中如果只使用一次,則就可以將其定義成匿名對(duì)象。
6.5 this與super關(guān)鍵字6.5.1 this關(guān)鍵字的作用(1)表示類中的屬性
(2)可以使用this調(diào)用本類的構(gòu)造方法
(3)this表示當(dāng)前對(duì)象
6.5.2 使用this調(diào)用構(gòu)造方法如果一個(gè)類中有多個(gè)構(gòu)造方法,可以利用this關(guān)鍵字互相調(diào)用。
6.5.3 使用this表示當(dāng)前對(duì)象當(dāng)前對(duì)象:當(dāng)前正在調(diào)用方法的對(duì)象
6.5.4 super關(guān)鍵字Super關(guān)鍵字可以從子類訪問父類中的內(nèi)容。
6.5.5 this與super的區(qū)別6.6 static關(guān)鍵字6.6.1 使用static聲明屬性static可以聲明全局屬性。
注意:
(1) 使用static聲明的屬性或方法可以直接由類名稱調(diào)用。
(2) 使用static的方法只能訪問static聲明的屬性或方法。
6.6.2 使用static聲明方法使用static聲明的方法可以直接由類名稱調(diào)用。
6.7 final關(guān)鍵字(1)final在java中表示的意思是最終,也可稱為完結(jié)器。
(2)可以使用final聲明類、屬性、方法。
(3)使用static final關(guān)鍵字聯(lián)合聲明的變量稱為全局常量。
注意:
a.使用final聲明的類不能有子類;
b.使用final聲明的方法不能被子類覆寫;
c使用final聲明的變量即成為常量,常量不可修改。
6.8 instanceof關(guān)鍵字(1)在java中可以使用instanceof關(guān)鍵字判斷一個(gè)對(duì)象到底是哪個(gè)類的實(shí)例:
對(duì)象instanceof類 —> 返回boolean類型
(2)在對(duì)象向下轉(zhuǎn)型之前最好使用instanceof關(guān)鍵字進(jìn)行驗(yàn)證。
(3)一個(gè)類最好永遠(yuǎn)不要去繼承一個(gè)已經(jīng)實(shí)現(xiàn)好的類,而只能繼承抽象類或?qū)崿F(xiàn)接口。
6.9 繼承6.9.1 類的繼承格式在java中使用extends關(guān)鍵字完成類的繼承關(guān)系,操作格式:
class 父類{} //定義父類
class 子類 extends 父類{} //使用extends關(guān)鍵字實(shí)現(xiàn)繼承
6.9.2 繼承的限制在Java中只允許單繼承,不能使用多重繼承,但允許進(jìn)行多層繼承。
6.9.3 訪問限制四種訪問權(quán)限:
private、default、public、protected
大小關(guān)系:private<default<protected<public
注意:
子類是不能直接訪問父類中的私有成員的,但子類可以調(diào)用父類中的非私有方法,但是不能直接調(diào)用父類中的私有成員。
6.10方法的重載與覆寫6.10.1 方法覆寫方法覆寫就是指子類定義了父類中同名的方法,但是在方法覆寫時(shí)必須考慮到權(quán)限。
6.10.2 方法重載就是在類中可以創(chuàng)建多個(gè)方法,它們具有相同的名字,但具有不同的參數(shù)和不同的定義。調(diào)用方法時(shí)通過傳遞給它們的不同參數(shù)個(gè)數(shù)和參數(shù)類型來決定具體使用哪個(gè)方法, 這就是多態(tài)性。重載的時(shí)候,方法名要一樣,但是參數(shù)類型和個(gè)數(shù)不一樣,返回值類型可以相同也可以不相同。重載(Overloading)是一個(gè)類中多態(tài)性的一種表現(xiàn)。
6.10.3 方法重載與覆寫的區(qū)別方法的重寫Overriding和重載Overloading是Java多態(tài)性的不同表現(xiàn)。重寫Overriding是父類與子類之間多態(tài)性的一種表現(xiàn),重載Overloading是一個(gè)類中多態(tài)性的一種表現(xiàn)。如果在子類中定義某方法與其父類有相同的名稱和參數(shù),我們說該方法被重寫 (Overriding)。子類的對(duì)象使用這個(gè)方法時(shí)。
如果子類的方法名和參數(shù)類型和個(gè)數(shù)都和父類相同,那么子類的返回值類型必須和父類的相同;如果在一個(gè)類中定義了多個(gè)同名的方法,它們或有不同的參數(shù)個(gè)數(shù)或有不同的參數(shù)類型,則稱為方法的重載。Overloaded的方法是可以改變返回值的類型。也就是說,重載的返回值類型可以相同也可以不同。
6.11抽象類6.11.1概念:包含一個(gè)抽象方法的類就為抽象類。
抽象方法:只聲明而未實(shí)現(xiàn)的方法稱為抽象方法,抽象方法必須使用abstract關(guān)鍵字聲明。
6.11.2定義格式Astract class 抽象類名稱{
屬性;
訪問權(quán)限 返回值類型 方法名稱(參數(shù)){
[return返回值];
}
訪問權(quán)限abstract返回值類型 方法名稱(參數(shù));
//在抽象方法中是沒有方法體的
}
6.11.3用法(1)抽象類使用的時(shí)候一定要有子類,子類仍然使用extends關(guān)鍵字繼承一個(gè)抽象類,同樣會(huì)存在但繼承的關(guān)系。一個(gè)子類不能同時(shí)繼承多個(gè)抽象類。
(2)抽象類中絕對(duì)不能使用final關(guān)鍵字聲明。
(3)抽象類中允許有構(gòu)造方法,而且完全符合子類對(duì)象的實(shí)例化過程。
6.12接口6.12.1概念接口是java中最重要的概念,接口可以理解為一種特殊的類,里面全部是由全局常量和公共的抽象方法所組成。
6.12.2定義格式interface接口名稱{
全局常量;
抽象方法;
}
6.12.3實(shí)現(xiàn)接口與抽象類一樣,接口要使用也必須通過子類,子類通過implements關(guān)鍵字實(shí)現(xiàn)接口。
實(shí)現(xiàn)格式:
Class 子類 implements 接口A, 接口B,…{
}
6.12.4繼承抽象類實(shí)現(xiàn)接口格式如下:
Class 子類 extends 抽象類 implements 接口A, 接口B,…{}
6.12.5用法(1)接口是一個(gè)特殊的類,只包含全局常量和抽象方法,接口中的抽象方法可以不加入abstract而抽象類中的抽象方法必須有abstract關(guān)鍵字聲明。
(2)一個(gè)類只能繼承一個(gè)父類,但是可以同時(shí)實(shí)現(xiàn)多個(gè)接口。
(3)一個(gè)接口可以同時(shí)繼承多個(gè)接口,以實(shí)現(xiàn)接口的多繼承。
(4)接口和抽象一樣,都必須依靠子類。
(5)一個(gè)抽象可以實(shí)現(xiàn)多個(gè)接口,但是一個(gè)接口不能繼承一個(gè)抽象類。
6.12.6抽象類與接口的關(guān)系6.13 java異常處理6.13.1概念異常是導(dǎo)致程序中斷運(yùn)行的一種指令流,異常是程序運(yùn)行過程出現(xiàn)的錯(cuò)誤,在Java中用類來描述,用對(duì)象來表示具體的異常。
在異常中最大的類是Throwable,分為兩個(gè)子類:Exception、Error
Exception:是程序可以自己處理異常。
Error:表示JVM錯(cuò)誤,一般程序無法處理。
6.13.2 try…catch異常處理try語句塊,表示要嘗試運(yùn)行代碼,try語句塊中代碼受異常監(jiān)控,其中代碼發(fā)生異常時(shí),會(huì)拋出異常對(duì)象。
catch語句塊會(huì)捕獲try代碼塊中發(fā)生的異常并在其代碼塊中做異常處理,catch語句帶一個(gè)Throwable類型的參數(shù),表示可捕獲異常類型。當(dāng)try中出現(xiàn)異常時(shí),catch會(huì)捕獲到發(fā)生的異常,并和自己的異常類型匹配,若匹配,則執(zhí)行catch塊中代碼,并將catch塊參數(shù)指向所拋的異常對(duì)象。catch語句可以有多個(gè),用來匹配多個(gè)中的一個(gè)異常,一旦匹配上后,就不再嘗試匹配別的catch塊了。
通過異常對(duì)象可以獲取異常發(fā)生時(shí)完整的JVM堆棧信息,以及異常信息和異常發(fā)生的原因等。
finally語句塊是緊跟catch語句后的語句塊,這個(gè)語句塊總是會(huì)在方法返回前執(zhí)行,而不管是否try語句塊是否發(fā)生異常。并且這個(gè)語句塊總是在方法返回前執(zhí)行。
6.13.2常見異常類七、Java常用類7.1 String類7.1.1 實(shí)例化String對(duì)象(1)直接賦值
(2)通過關(guān)鍵字new
7.1.2 String內(nèi)容比較兩種比較方式:
(1) 使用“==”完成,比較的是地址值。
(2) 使用“equals”方法完成,比較的是具體內(nèi)容。
7.1.3 常用方法(1)將字符串變?yōu)樽址麛?shù)組:toCharArray()
(2)字符數(shù)組變?yōu)樽址篠ring()
(3)字符串中取出指定字符:charAt()
(4)取得字符串長(zhǎng)度:length()
(5)查找指定字符串是否存在:indexOf()
(6)去掉空格:trim()
(7)字符截取:subString()
(8)拆分字符串:split()
(9)大小寫轉(zhuǎn)換:toUppercase()、toLowercase()
(10)判斷是否以指定的字符串開頭或結(jié)尾:startWith()、endsWith()
(11)不區(qū)分大小寫的比較:equalsIgnorecase()
(12)字符串替換:replaceAll()
7.2 StringBuffer類7.2.1定義StringBuffer是使用緩沖區(qū)的,本身也是操作字符串的,但是與String類不同,String類的內(nèi)容一旦聲明則不可以改變,改變的是其內(nèi)存地址的指向,而StringBuffer中的內(nèi)容是可以改變的。
7.2.2常用方法(1)連接字符串操作:append()
(2)在任意位置處為StringBuffer添加內(nèi)容:insert()
(3)字符串反轉(zhuǎn)操作:reverse()
(4)替換指定范圍的內(nèi)容:replace()
(5)字符串截取:subString()
(6)字符串刪除:delete()
(7)查找指定的內(nèi)容是否存在:indexOf()
7.3日期操作類7.3.1 Date類直接輸出其實(shí)例化對(duì)象即可
7.3.2 Calendar類可以將日期精確到毫秒,按照自己的需要的格式顯示時(shí)間。
calendar.get(Calendar.YEAR));
calendar.get(Calendar.MONTH));
calendar.get(Calendar.DATE));
7.3.3 DateFormat類是一個(gè)日期的格式化類,專門格式化日期的操作。
(1) 得到日期的DateFormat對(duì)象:DateFormate.getDateInstance()
(2) 得到日期時(shí)間的DateFormat對(duì)象:DateFormate.getDateTimeInstance()
7.3.4 SimpleDateFormate類是DateFormat類的子類,一般情況下來講DateFormat類很少會(huì)直接使用,而都是使用SimpleDateFormat類完成。
7.4 File類表示與文件本身有關(guān)的類。
7.4.1常用方法(1)創(chuàng)建文件:createNewFile()
(2)刪除制定文件:delete()
(3)判斷文件是否存在:exists()
(4)創(chuàng)建文件夾:mkdir()
(5)列出指定目錄的全部文件:list()、listFiles()
(6)判斷一個(gè)給定的路徑是否是目錄:isDirectory()
7.5 List接口List接口可以存放任意的數(shù)據(jù),而且在List接口中內(nèi)容是允許重復(fù)的,擴(kuò)充了Collection接口的操作。
7.5.1 ArrayList是List子類,為L(zhǎng)ist接口實(shí)例化。
定義:
List<泛型> 名字=new ArrayList<泛型>();
方法:
(1) 添加:add()
(2) 刪除:remove()
(3) 得到值:get()
(4) 判斷是否為空:isEmpty()
(5) 截取部分集合:subList()
(6) 查找指定的對(duì)象是否存在:indexOf()
(7) 查找是否存在:contains()
7.6 Set接口7.6.1 定義Set接口也是Collection接口的子類,但與Collection或List接口不同,Set接口中不能加入重復(fù)的元素。
Set<泛型> 名字=new HashSet <泛型>();
Set<泛型> 名字=new TreeSet <泛型>();
7.6.2 常用子類(1)散列存放:HashSet
(2)有序存放:TreeSet
7.7 Iterator接口7.7.1 簡(jiǎn)介在使用集合輸出的時(shí)候必修形成以下的思路:‘只要是碰到了集合輸出的操作,就一定使用Iterator接口’。
對(duì)于Iterartor而言,因?yàn)槠浔旧硎且粋€(gè)接口,所以要想實(shí)例化則必須依靠Collection接口完成。
定義:
List<String> all=new ArrayList<String>();
Iterator<String> iter=all.iterator();
Iterator接口的功能是從前向后輸出,屬于單向的輸出,主要功能就是完成迭代輸出操作的。
7.7.2 方法(1)判斷是否有內(nèi)容:hasNext()
(2)輸出內(nèi)容:next()
(3)刪除當(dāng)前對(duì)象:remove()
7.8 Map接口在Map中保存的是一對(duì)對(duì)象,對(duì)象的形式是以:key—>value的形式保存的。
7.8.1 Map接口中常用的子類(1)HashMap:無序存放,key不允許重復(fù)
(2)Hashtable:無序存放,key不允許重復(fù)
(3)TreeMap:可以排序的Map集合,按集合中的key排序,key不允許重復(fù)
(4)WeakHashMap:弱引用的Map集合,當(dāng)集合中的某些內(nèi)容不再使用時(shí),可以清掉無用的數(shù)據(jù),可以使用gc進(jìn)行會(huì)收
(5)IdentityHashMap:key可以重復(fù)的Map集合
7.8.2 Map方法聲明Map<String,String> map=new HashMap<String,String>();
7.8.2 Map基本方法(1)增加內(nèi)容:put()
(2)根據(jù)key取出值:get()
(3)判斷指定的key或value是否存在:containsKey()、containsValue()
(4)得到全部的key:keySet()
(5)得到全部的value:values()
7.8.3 HashMap與Hashtable的區(qū)別7.8.4 TreeMap使用TreeMap可以方便的完成排序的操作。
7.9 集合工具類:Collections7.9.1 常用方法(1)空集合的操作:emptyList()、emptySet()
(2)輸入數(shù)據(jù):addAll()
(3)二分檢索:binarySearch()
(4)替換內(nèi)容:repalceAll()
(5)排序:sort()
(6)交換指定內(nèi)容:swap()
7.10 枚舉所謂枚舉,就是規(guī)定好了指定的取值范圍,所有的內(nèi)容只能從指定的范圍中取得。
7.10.1 定義一個(gè)枚舉類型[public] enum 枚舉類型名稱{
枚舉對(duì)象1,枚舉對(duì)象2,… ,枚舉對(duì)象n;
}
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注