1.了解jshell
1.1 ? ?使用場景:只是需要驗證及其簡短的幾段代碼時袱吆,為了不寫類和main方法,可以簡單使用距淫。
1.2 ? ?在cmd命令臺绞绒,輸入 jshell 進入,輸入 /exit 退出榕暇。
2.編譯器優(yōu)化
2.1 ? ?當賦值語句右側(cè)(因為所有數(shù)據(jù)都是默認int)的范圍不超過左側(cè)(byte/short/char)的范圍時蓬衡,編譯器優(yōu)化自動強制轉(zhuǎn)換。
2.2 ? ?當右側(cè)表達式包含的都是常量時彤枢,在編譯階段就可以得出結(jié)果狰晚,如果結(jié)果不超過左側(cè)范圍,編譯通過缴啡。若右側(cè)包含變量,由于不確定,將在運行時確定雁竞,此時高范圍---->低范圍歉铝,編譯不通過。
備注:詳細內(nèi)容見2019-6-8/img/1和2
3.流程控制
3.1? ? 順序控制
3.2 ? ?選擇結(jié)構(gòu)(if碘裕,if else,if elseif ...else,switch),注意事項見2019-6-8/img/3
3.3 ? ?循環(huán)結(jié)構(gòu)(for,while,do-while),理解區(qū)別携取。
? ? ? ? ?備注:死循環(huán)標準格式
? ? ? ? ? ?while(true){...}
3.4 ? ?break 和 continue
4.IDE
4.1 ? ?含義:集成開發(fā)環(huán)境
4.2 ? ?intelil-idea 項目結(jié)構(gòu)認識(項目project>模塊module>包package)圖解見2019-6-8/img/4
4.3? ? 創(chuàng)建一個完整項目的步驟
?①創(chuàng)建空project ? ?????②創(chuàng)建模塊或?qū)雱e人的模塊(day01,day02...) ? ?????③將src分為多個包帮孔,創(chuàng)建包 ? ?④具體文件寫在一個包內(nèi)
4.4 ? ?基本快捷鍵
? ? ? ? ? ? alt+4:顯示運行窗口雷滋;
? ? ? ? ? ? alt+enter:自動補全缺失包;
? ? ? ? ? ? ctrl+y/d:刪除本行/復(fù)制本行你弦;
? ? ? ? ? ? ctrl+alt+l:格式化源代碼惊豺;
? ? ? ? ? ? ctrl+/:單行注釋;
? ? ? ? ? ? ctrl+shift+/:多行注釋禽作;
? ? ? ? ? ? alt+shift+↑/↓:本行上移/下移尸昧;
5.方法復(fù)習
5.1? ? 回顧:抽取功能,提高閱讀性和復(fù)用性旷偿。
5.2 ? ?方法完整格式:
? ? ? ? 修飾符 返回值 方法名字(參數(shù)列表){方法體烹俗;return 返回值}
? ? ? ? public static int getSum(int a爆侣, int b){return a + b;}
5.3 ? ?方法調(diào)用步驟
5.4 ? ?注意事項見2019-6-8/img/5
6.方法重載
6.1 ? ?含義:方法名一樣幢妄,參數(shù)列表不同兔仰,jvm會根據(jù)情況調(diào)用。
6.2 ? ?參數(shù)情況分類:
? ? ? ? ①參數(shù)個數(shù)不同 ? ? ? ?②參數(shù)類型不同 ? ? ? ?③參數(shù)混合順序不同
6.3 ? ?理解JDK提供的println的重載蕉鸳,輸入不同類型的值乎赴,輸出。
6.4????注意事項見2019-6-8/img/6
7.數(shù)組
7.1 ? ?概念和特點:擁有很多數(shù)據(jù)的容器潮尝,所有數(shù)據(jù)類型相同榕吼,數(shù)組長度固定。
7.2 ? ?初始化:動態(tài)(長度) + 靜態(tài)(內(nèi)容)勉失。注意事項見2019-6-8/img/7
動態(tài):
int[] array = new int[8];
int[] array;
array = new int[8];
?靜態(tài):
int[] array = new int[] {10,20,30};
int[] array = {10,20,30};
int[] array;
array = new int[] {10,20,30};
7.3 ? ?數(shù)組訪問(默認值)圖解見2019-6-8/img/8
7.4? ? java內(nèi)存劃分5部分:了解3部分羹蚣。圖解見2019-6-8/img/9
①棧:方法運行的地方,局部變量存儲的地方
②堆:數(shù)組乱凿,對象存儲的地方顽素,new出來的東西存在的地方。
③方法區(qū):存放各個class文件的具體內(nèi)容
7.5 ? ?數(shù)組內(nèi)存分配全過程徒蟆。?圖解見2019-6-8/img/10和11
7.6? ? 數(shù)組賦值(引用賦值的意義)?圖解見2019-6-8/img/12
7.7? ? 數(shù)組越界異常和空指針異常胁出。
7.8 ? ?數(shù)組長度:array.length
7.9 ? ?方法返回多個值:返回數(shù)組即可? ??
8.對象
8.1 ? ?對象與過程:過程針對有序的步驟,對象針對“偷懶”后专,強調(diào)使用已存在對象的方法划鸽。
8.2 ? ?類(屬性+方法):對生活中物體的抽象和模擬,類的定義就是成員變量和成員方法的定義戚哎。注意事項見2019-6-8/img/13裸诽。
8.3 ? ?對象:一般類不能直接使用,而是使用對象(類的實例)型凳,創(chuàng)建步驟:圖解見2019-6-8/img/14丈冬。
①導(dǎo)入類所在的包 ? ? ? ?②創(chuàng)建對象 ? ? ? ?③使用變量和方法
8.4 ? ?類和對象的內(nèi)存分析:圖解見2019-6-8/img/15和16。
8.5 ? ?成員變量和局部變量的區(qū)別:圖解見2019-6-8/img/15和17甘畅。
①位置 ? ? ? ?②作用域 ? ? ? ?③默認值 ? ? ? ?④內(nèi)存位置 ? ? ? ?⑤生命周期
8.6 ? ?封裝
①方法封裝:將功能性代碼進行抽取埂蕊。
②private:類的成員變量封裝,用private保護數(shù)據(jù)的有效性疏唾,防止客戶任意輸入數(shù)據(jù)蓄氧,此時客戶間接訪問或者修改成員變量,通過setter/getter(isXXX槐脏,針對布爾變量)喉童。圖解見2019-6-8/img/18。
9.構(gòu)造方法
9.1????作用:為新創(chuàng)建的對象賦予初始值顿天。
9.2 ? ?實質(zhì):只要創(chuàng)建對象就會馬上調(diào)用堂氯。
注意事項見2019-6-9/img/1
10.標準類的組成
10.1 ? ?別名:JAVA BEAN
10.2 ? ?組成見圖:2019-6-9/img/2