34歲乳附!100天内地!學會Java編程(Day12)——知識點串連

敲黑板,劃重點

知識點串連

前面開發(fā)項目時赋除,主要依靠的是《手把手教你學Java》中零散的知識點阱缓,以及將《Java從入門到精通》當作開發(fā)詞典來進行查詢。晚上將后者從頭到尾過一遍举农,對知識點進行查漏補缺荆针,揀主要的記錄如下:

  1. 變量的作用域。作用域靜態(tài)(全局)變量>成員變量>局部變量颁糟。但是在類方法的局部域中航背,同名局部變量覆蓋成員變量,如果想要操作同名成員變量棱貌,需要使用關(guān)鍵字this玖媚。其中形參也可看作局部變量,會覆蓋同名成員變量婚脱;成員變量在對象創(chuàng)建后才能被對象調(diào)用今魔,而靜態(tài)變量在類被加載后,就可以被類名調(diào)用起惕。
  2. 運算符優(yōu)先級涡贱。總共分為15級:圓括號>正負號>一元運算符>乘除>加減>移位運算>比較大小>比較是否相等>按位與>按位異或>按位或>邏輯與>邏輯或>三元運算符>賦值運算符∪窍耄總結(jié)起來问词,不確定優(yōu)先級的情況就用圓括號圈起來,賦值運算的等級最低嘀粱。
  3. 數(shù)據(jù)類型的轉(zhuǎn)換分五種激挪。
    (1)按以下優(yōu)先級,則數(shù)據(jù)類型可以隱式自動轉(zhuǎn)換锋叨,byte<short<int<long<float<doublue垄分。
    (2)反向進行則需要進行強制轉(zhuǎn)換。
    (3)char類型和String類型不包含在其中娃磺,不能簡單進行強制轉(zhuǎn)換薄湿,需特別對待。需特別注意偷卧,char變量有兩種賦值方式豺瘤,一種是char cr=5;另一種是char cr='5'。前者cr等于ASCII碼表中听诸,序號5所對應(yīng)的字符ENQ坐求,意思是請求字符;后者cr就等于‘5’晌梨。所以語句char cr=56;可以執(zhí)行桥嗤,運算結(jié)果是cr等于序號為56的字符‘8’须妻,而語句char cr='56'則會因為超過一個字符而報錯。因此對應(yīng)char與int的強制轉(zhuǎn)換就有兩種方式泛领,如果char a=56荒吏,則char與int可以直接加圓括弧強制轉(zhuǎn)換。而如果char a='8'师逸,char類型強制轉(zhuǎn)換為int司倚,輸出的是字符所對應(yīng)的ASCII十進制編碼,反之亦然篓像。
    (4)上述類型與String類型也不能強制轉(zhuǎn)換动知,以int2String為例,可以使用String.valueOf(int a)方法员辩,返回一個String值盒粮;String2int可以使用包裝類Integer的方法Integer.valueOf(String str).intValue(),返回一個int值奠滑。同理丹皱,char2String可以使用String.valueOf(char cr)方法,String2char可以使用String.charAt(int index)宋税,String2char_array可以使用String.toCharArray()方法摊崭。
    (5)父類與子類對象的轉(zhuǎn)換,子類可隱式賦值給父類杰赛,稱為向上轉(zhuǎn)換呢簸;父類可有條件地強制轉(zhuǎn)換,然后賦值給子類乏屯,稱為向下轉(zhuǎn)換根时。
  4. 日期與時間的獲取。
    (1)創(chuàng)建一個Date對象辰晕,然后用String.format(格式轉(zhuǎn)換符%蛤迎,Date對象),返回一個期望格式的字符串日期和時間含友。
    (2)使用System.currentTimeMillis()方法替裆,返回一個當前時間(毫秒milliseconds)的long值。
  5. 數(shù)學運算窘问。
    靈活運用Math類扎唾,可以獲得常用的一元函數(shù)運算值(三角函數(shù)、指數(shù)函數(shù)南缓、冪函數(shù)、對數(shù)函數(shù)荧呐、取整函數(shù)汉形、絕對值函數(shù))纸镊,二元函數(shù)運算值(pow指數(shù)函數(shù),二元最值函數(shù))等概疆。
  6. 隨機數(shù)獲取逗威。
    (1)使用Math.random()方法,獲得一個介于[0岔冀,1)的符合平均分布函數(shù)的double型小數(shù)凯旭。在這個小數(shù)的基礎(chǔ)上,可以轉(zhuǎn)換成任意整數(shù)[m使套,n)之間的隨機整數(shù)罐呼。
    (2)使用Random類中的若干方法,獲得平均分布的整數(shù)侦高、小數(shù)嫉柴、布爾值。除此以外奉呛,還可以獲得符合高斯分布的數(shù)计螺。
  7. 數(shù)組操作。
    (1)多維數(shù)組的創(chuàng)建瞧壮。例如int[][][] abc=new int[10][10][10];
    (2)數(shù)組的遍歷登馒。多維循環(huán)與foreach語句。
    (3)數(shù)組的復(fù)制咆槽。Arrays.copyOf()和Arrays.copyOfRange()方法陈轿。
    (4)數(shù)組元素的查詢。Arrays.binarySearch()方法罗晕。
    (5)數(shù)組的排序济欢。可以使用Arrays.sort()方法小渊。當然法褥,也可以使用經(jīng)典的排序算法,自己編寫可調(diào)用的函數(shù)酬屉,包括:冒泡排序半等,直接選擇排序,反轉(zhuǎn)排序等呐萨。
  8. 幾個修飾變量和方法的關(guān)鍵字杀饵。如下表:
權(quán)限修飾 常量修飾 靜態(tài)修飾
private,protected,public final static

使用規(guī)則包括:
(1)被private修飾的成員變量和方法,不能被類對象顯示調(diào)用和子類對象內(nèi)部調(diào)用谬擦。同理切距,子類方法不能重寫父類private方法。
(2)被protected修飾的成員變量和方法惨远,不能被類對象顯示調(diào)用谜悟,但可以被子類對象內(nèi)部調(diào)用话肖。
(3)被public修飾的成員變量和方法,以上權(quán)限都有葡幸。
(4)子類同名方法(不管重寫還是重載)最筒,權(quán)限一定要大于等于上級父類。
(5)被final修飾的變量為常量蔚叨;被final修飾的方法不可被子類重寫床蜘;被final修飾的類不可被繼承。
(6)被static修飾的變量為全局變量蔑水,在類被加載時就被創(chuàng)建邢锯;被static修飾的方法,為全局方法肤粱。同時不能在其內(nèi)部調(diào)用該類的動態(tài)成員變量和動態(tài)方法弹囚;static不被用于修飾外部類,但可用于修飾內(nèi)部類领曼。靜態(tài)內(nèi)部類創(chuàng)建對象不需要外部類對象鸥鹉,同時靜態(tài)內(nèi)部類只能訪問靜態(tài)的外部類變量和方法。
(7)靜態(tài)變量和成員的語法規(guī)則庶骄,對于public的靜態(tài)變量和方法毁渗,通常直接使用(類名+靜態(tài)變量)和(類名+靜態(tài)方法)調(diào)用,而不是使用對象+變量/方法的方式(這種方法可行单刁,但不被提倡)灸异。

  1. 類的基本特點:封裝、繼承羔飞、多態(tài)肺樟。
    (1)封裝是為了保護成員變量,但是也有擴展成員變量使用范圍的靜態(tài)成員變量逻淌。
    (2)繼承最初是為了復(fù)用代碼么伯,后來是因為樹狀結(jié)構(gòu)不僅易于人類理解,而且可以拓展出多態(tài)這樣可愛的特性卡儒。
    (3)多態(tài)要實現(xiàn)田柔,除了樹狀結(jié)構(gòu),最核心的技術(shù)是必須用到方法重寫的概念骨望。關(guān)于多態(tài)使用場景硬爆,舉個例子,編一個籃球賽程序讓一個球員對象投籃擎鸠,只需要主方法中調(diào)用一個球員對象投籃缀磕,具體到子一層對象后衛(wèi)、前鋒、中鋒虐骑,子二層對象科比准验、詹姆斯、奧尼爾在投籃動作上不同的表現(xiàn)廷没,只需要在具體子類和子子類中使用投籃方法重寫修改就行,不需要動主方法垂寥。而若是傳統(tǒng)的編程方法颠黎,則需要在主方法中加入大量的條件分支。
    (4)這里需注意方法重寫方法重載的區(qū)別滞项。
  2. 繼承多態(tài)狭归、接口多態(tài)、泛型文判、反射过椎。
    (1)繼承多態(tài)的核心是方法重寫各不相同,但是各方法間可以通過復(fù)用父類方法而重用大部分代碼戏仓;
    (2)接口多態(tài)的核心是方法實現(xiàn)各不相同疚宇,且各方法間沒有可復(fù)用的代碼,所以方法實現(xiàn)過程完全不同赏殃;
    (3)泛型的核心是方法相同敷待,即方法代碼相同,但方法操作的具體對象類型不同仁热。
    (4)反射的核心是身份鑒定榜揖,在上述三種技術(shù)把程序玩懵圈了以后,使出一招ID Identify大招抗蠢,判斷現(xiàn)在程序里運轉(zhuǎn)的到底是TM的什么類型對象举哟。嗯,我猜在判定以后還能造出同類型的分身對象出來迅矛,玩6了不遜于孫悟空揪下一把毫毛妨猩,變出萬子千孫出來。
    11.其他:Swing诬乞,并發(fā)册赛,TCP,JDBC都大略看了一下震嫉,等開發(fā)CE項目V2.0的時候再仔細琢磨吧森瘪。

參考書目
《Java從入門到精通》

2017-11-8

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市票堵,隨后出現(xiàn)的幾起案子扼睬,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件窗宇,死亡現(xiàn)場離奇詭異措伐,居然都是意外死亡,警方通過查閱死者的電腦和手機军俊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門侥加,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人粪躬,你說我怎么就攤上這事担败。” “怎么了镰官?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵提前,是天一觀的道長。 經(jīng)常有香客問我泳唠,道長狈网,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任笨腥,我火速辦了婚禮拓哺,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘扇雕。我一直安慰自己拓售,他們只是感情好,可當我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布镶奉。 她就那樣靜靜地躺著础淤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪哨苛。 梳的紋絲不亂的頭發(fā)上鸽凶,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天,我揣著相機與錄音建峭,去河邊找鬼玻侥。 笑死,一個胖子當著我的面吹牛亿蒸,可吹牛的內(nèi)容都是我干的凑兰。 我是一名探鬼主播,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼边锁,長吁一口氣:“原來是場噩夢啊……” “哼姑食!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起茅坛,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤音半,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體曹鸠,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡煌茬,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了彻桃。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片坛善。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖叛薯,靈堂內(nèi)的尸體忽然破棺而出浑吟,到底是詐尸還是另有隱情,我是刑警寧澤耗溜,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站省容,受9級特大地震影響抖拴,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜腥椒,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一阿宅、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧笼蛛,春花似錦洒放、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至惋戏,卻和暖如春领追,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背响逢。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工绒窑, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人舔亭。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓些膨,卻偏偏與公主長得像,于是被迫代替她去往敵國和親钦铺。 傳聞我的和親對象是個殘疾皇子订雾,可洞房花燭夜當晚...
    茶點故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內(nèi)容

  • Win7下如何打開DOS控制臺? a:開始--所有程序--附件--命令提示符 b:開始--搜索程序和文件--cmd...
    逍遙嘆6閱讀 1,588評論 4 12
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法职抡,類相關(guān)的語法葬燎,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法谱净,線程的語...
    子非魚_t_閱讀 31,587評論 18 399
  • 一:java概述:1窑邦,JDK:Java Development Kit,java的開發(fā)和運行環(huán)境壕探,java的開發(fā)工...
    ZaneInTheSun閱讀 2,629評論 0 11
  • (一)Java部分 1冈钦、列舉出JAVA中6個比較常用的包【天威誠信面試題】 【參考答案】 java.lang;ja...
    獨云閱讀 7,071評論 0 62
  • C++ 函數(shù)模板 函數(shù)模板的聲明和模板函數(shù)的生成 1.函數(shù)模板的聲明 函數(shù)模板可以用來創(chuàng)建一個通用的函數(shù),以支持多...
    yslmyr閱讀 319評論 0 0