今天主要是給大家講講怎樣學(xué)習(xí)Java拂共,給大家建議一條輕松精通Java的學(xué)習(xí)路線。有了相對(duì)標(biāo)準(zhǔn)的流程,那么你的學(xué)習(xí)效率一定會(huì)倍增编振。
下面對(duì)java學(xué)習(xí)進(jìn)行一次史無前例的剖析,細(xì)致的講解零基礎(chǔ)的人怎么學(xué)習(xí)Java。先看下Java在基礎(chǔ)階段的知識(shí)點(diǎn)路線圖罚攀。
內(nèi)容多嗎党觅?不要被嚇到了雌澄,知識(shí)點(diǎn)剖析的比較細(xì),所以看著比較多杯瞻。不要害怕學(xué)不會(huì)镐牺,經(jīng)過下面的詳解,你就會(huì)明白這些知識(shí)點(diǎn)都是干嘛的了魁莉。睬涧。我剛整理了一套2018最新的0基礎(chǔ)入門和進(jìn)階教程,無私分享旗唁,加Java學(xué)習(xí)q-u-n :六七八畦浓,二四一,五六三 即可獲取检疫,內(nèi)附:開發(fā)工具和安裝包讶请,以及系統(tǒng)學(xué)習(xí)路線圖
入門階段,主要是培養(yǎng)Java語言的編程思想屎媳。了解Java語言的語法夺溢,書寫規(guī)范等,掌握Eclipse烛谊、MyEclipse等開發(fā)工具风响,編寫Java代碼的能力。學(xué)完這個(gè)階段你應(yīng)該可進(jìn)行小型應(yīng)用程序開發(fā)并且可以對(duì)數(shù)據(jù)庫進(jìn)行基本的增刪改查管理丹禀。注意:此階段知識(shí)點(diǎn)的學(xué)習(xí)状勤,會(huì)有真實(shí)的項(xiàng)目進(jìn)行驅(qū)動(dòng)學(xué)習(xí),讓你輕松理解各知識(shí)點(diǎn)双泪。
針對(duì)零基礎(chǔ)學(xué)習(xí)的人持搜,從對(duì)計(jì)算機(jī)操作等知識(shí)的了解,延伸到Java語言的發(fā)展與開發(fā)工具的使用上攒读。主要是讓你知道怎樣執(zhí)行計(jì)算機(jī)命令朵诫,認(rèn)識(shí)Java這門語言,感受編程語言Java怎么開發(fā)程序薄扁。
1)?計(jì)算機(jī)基礎(chǔ)
讓零基礎(chǔ)學(xué)習(xí)的人先了解計(jì)算機(jī)相關(guān)知識(shí)剪返,進(jìn)而再去了解Java語言。
2)?DOS常用命令
了解什么是DOS邓梅,并掌握DOS控制臺(tái)的打開方式脱盲,同時(shí)熟悉常用的DOS命令,例如:盤符切換日缨、進(jìn)入指定目錄钱反、刪除文件等,完成使用DOS命令對(duì)計(jì)算機(jī)進(jìn)行操作和控制。
3)?Java概述
了解Java語言的發(fā)展史面哥、Java語言平臺(tái)版本哎壳、Java語言的特點(diǎn),以及JRE與JDK尚卫。JRE是Java的運(yùn)行環(huán)境归榕,JDK是Java開發(fā)工具包,它包含了Java的開發(fā)工具以及JRE吱涉。所以安裝了JDK就不用再單獨(dú)安裝JRE了刹泄。
4)?JDK環(huán)境安裝配置
了解了什么是JDK,以及JDK的重要性怎爵,下一步我們就來學(xué)習(xí)如何安裝和配置JDK環(huán)境特石。在安裝JDK之前,我們首先需要下載JDK鳖链,針對(duì)不同的系統(tǒng)姆蘸,我們需要下載不用版本的JDK。
5)?環(huán)境變量配置
了解path芙委、classpath環(huán)境變量乞旦,理解path變量和classpath變量的作用,并掌握path變量和classpath變量的配置方式题山。
6)?Java程序入門
當(dāng)JDK、環(huán)境變量配置完畢故痊,我們就可以開始 編寫Java程序顶瞳。編寫Java程序可以使用如下幾種工具:notepad(微軟操作系統(tǒng)自帶)、Editplus愕秫、Notepad++慨菱、Eclipse、MyEclipse戴甩,sublime等等符喝。
此模塊學(xué)習(xí)是讓你了解編程的具體流程,學(xué)習(xí)Java基礎(chǔ)語法的格式等甜孤。具體要掌握不同數(shù)據(jù)類型的變量定義與使用协饲,掌握不同運(yùn)算符的運(yùn)算規(guī)則,掌握流程控制語句的執(zhí)行流程缴川,編寫方法的聲明與調(diào)用茉稠,創(chuàng)建數(shù)組并訪問數(shù)組元素等知識(shí)。
1)?注釋
在程序開發(fā)工程中把夸,用于解釋和說明程序的文字我們稱之為注釋而线,Java中的注釋分為以下幾種:?jiǎn)涡凶⑨尅⒍嘈凶⑨尅⑽臋n注釋膀篮。
2)?關(guān)鍵字
了解Java關(guān)鍵字的含義及特點(diǎn)嘹狞,掌握關(guān)鍵字使用的注意事項(xiàng)。
3)?標(biāo)識(shí)符
了解什么是標(biāo)識(shí)符誓竿,標(biāo)識(shí)符的組成規(guī)則磅网,以及標(biāo)識(shí)符使用時(shí)的注意事項(xiàng)。
4)?常量與變量
理解常量與變量的含義烤黍,并掌握常量與變量的區(qū)別知市、變量的定義格式以及變量的賦值。
5)?數(shù)據(jù)類型
掌握J(rèn)ava語言的數(shù)據(jù)類型速蕊,如基本數(shù)據(jù)類型:byte嫂丙、short、int规哲、long跟啤、float、double唉锌、char隅肥、boolean,以及引用類型:類袄简、接口腥放、數(shù)組。
6)?運(yùn)算符
熟練掌握J(rèn)ava中的運(yùn)算符:算術(shù)運(yùn)算符绿语、賦值運(yùn)算符秃症、比較運(yùn)算符、邏輯運(yùn)算符吕粹、位運(yùn)算符种柑、三目運(yùn)算符。
7)?流程控制語句
了解什么是流程控制語句匹耕,掌握以下流程控制語句:順序結(jié)構(gòu)聚请、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)稳其,并能夠通過流程控制語句實(shí)現(xiàn)特定的功能驶赏。
8)?方法
掌握方法的定義及格式,并能正確的調(diào)用方法欢际,理解方法的調(diào)用過程母市,同時(shí)清楚方法的注意事項(xiàng);掌握方法重載及其特點(diǎn)。
9)?數(shù)組
了解數(shù)組的概念损趋,掌握數(shù)組的定義格式患久、靜態(tài)初始化椅寺、動(dòng)態(tài)初始化,并能夠理解Java中數(shù)組的內(nèi)存圖解蒋失。熟練掌握數(shù)組的遍歷返帕、獲取最值、數(shù)組元素逆序篙挽、數(shù)組元素查找荆萤、數(shù)組排序和二分查找,以及二維數(shù)組的定義格式及初始化铣卡。
現(xiàn)實(shí)世界中链韭,隨處可見的一種事物就是對(duì)象,對(duì)象是事物存在的實(shí)體煮落,如人類敞峭、書桌、計(jì)算機(jī)蝉仇、高樓大廈等旋讹。人類解決問題的方式總是將復(fù)雜的事物簡(jiǎn)單化,于是就會(huì)思考這些對(duì)象都是由哪些部分組成的轿衔。通常都會(huì)將對(duì)象劃分為兩個(gè)部分沉迹,即動(dòng)態(tài)部分與靜態(tài)部分。靜態(tài)部分害驹,顧名思義就是不能動(dòng)的部分鞭呕,這個(gè)部分被稱為“屬性”,任何對(duì)象都會(huì)具備其自身屬性宛官,如一個(gè)人琅拌,它包括高矮、胖瘦摘刑、性別、年齡等屬性刻坊。然而具有這些屬性的人會(huì)執(zhí)行哪些動(dòng)作也是一個(gè)值得探討的部分枷恕,這個(gè)人可以哭泣、微笑谭胚、說話徐块、行走,這些是這個(gè)人具備的行為(動(dòng)態(tài)部分)灾而,人類通過探討對(duì)象的屬性和觀察對(duì)象的行為了解對(duì)象胡控。
1)?面向?qū)ο笏枷?/b>
了解面向過程編程思想,能夠通過案例理解Java的面向?qū)ο缶幊趟枷肱蕴耍私饷嫦驅(qū)ο箝_發(fā)昼激、設(shè)計(jì)、特征。
2)?類與對(duì)象
了解什么是類橙困,什么是對(duì)象瞧掺,并理解類與對(duì)象之間的關(guān)系;熟練掌握類的定義凡傅、對(duì)象內(nèi)存圖等辟狈。
3)?成員變量和局部變量
了解什么是成員變量,什么是局部變量夏跷,以及從他們?cè)陬愔械奈恢煤咦?nèi)存中的位置、生命周期槽华、初始化值等方面掌握他們的區(qū)別壹蔓。
4)?匿名對(duì)象
了解什么是匿名對(duì)象,掌握匿名對(duì)象的兩種使用情況硼莽。
5)?封裝
清楚的了解什么是封裝庶溶,并能夠理解封裝的優(yōu)點(diǎn)與缺點(diǎn),同時(shí)掌握封裝的原則懂鸵。
6)?this關(guān)鍵字
掌握this關(guān)鍵字的含義與使用偏螺。
7)?構(gòu)造方法
了解什么是構(gòu)造方法,構(gòu)造方法的作用匆光,以及與構(gòu)造方法相關(guān)的注意事項(xiàng)套像。
8)?繼承
理解什么是繼承,繼承的好處以及java中繼承的特點(diǎn)和注意事項(xiàng)终息,繼承中成員變量的關(guān)系夺巩、構(gòu)造方法的關(guān)系、成員方法的關(guān)系周崭,方法重寫與方法重載的區(qū)別柳譬。
9)?多態(tài)
理解什么是多態(tài),掌握多態(tài)案例及成員訪問的特點(diǎn)续镇,多態(tài)的優(yōu)點(diǎn)和缺點(diǎn)美澳,多態(tài)中的轉(zhuǎn)型問題。
10)?抽象類
了解什么是抽象類摸航,抽象類的特點(diǎn)制跟,抽象類成員的特點(diǎn)。
11)?接口
了解什么是接口酱虎,接口的特點(diǎn)雨膨,接口成員的特點(diǎn),類與類读串、類與接口的關(guān)系聊记,以及抽象類與接口的區(qū)別撒妈。
12)?內(nèi)部類
什么是內(nèi)部類,內(nèi)部類的訪問特點(diǎn)甥雕,內(nèi)部類的位置踩身,什么是成員內(nèi)部類、局部?jī)?nèi)部類社露、匿名內(nèi)部類挟阻,以及匿名內(nèi)部類在開發(fā)中的使用。
類庫就是Java API(Application Programming Interface峭弟,應(yīng)用程序接口)附鸽,是系統(tǒng)提供的已實(shí)現(xiàn)的標(biāo)準(zhǔn)類的集合。在程序設(shè)計(jì)中瞒瘸,合理和充分利用類庫提供的類和接口坷备,不僅可以完成字符串處理、繪圖情臭、網(wǎng)絡(luò)應(yīng)用省撑、數(shù)學(xué)計(jì)算等多方面的工作,而且可以大大提高編程效率俯在,使程序簡(jiǎn)練竟秫、易懂。
學(xué)習(xí)內(nèi)容:掌握Object類跷乐、Scanner類肥败、String類、StringBuffer類愕提、StringBuilder類馒稍、Arrays類、基本包裝類浅侨、正則表達(dá)式纽谒、Math類、Random類如输、System類佛舱、Date類、DateFormate類挨决、Calendar類,及其常用方法订歪。
集合類存放的都是對(duì)象的引用脖祈,而非對(duì)象本身,出于表達(dá)上的便利刷晋,我們稱集合中的對(duì)象就是指集合中對(duì)象的引用盖高。簡(jiǎn)單一點(diǎn)就是說慎陵,集合是存放數(shù)據(jù)的容器。
學(xué)習(xí)內(nèi)容:什么是集合?數(shù)組與集合有什么區(qū)別喻奥,集合類的特點(diǎn)席纽,掌握Collection接口、Iterator接口撞蚕、List接口润梯、ListIterator接口、ArrayList類甥厦、Vector類纺铭、LinkedList類、泛型刀疙、Set接口舶赔、HashSet類、Map接口谦秧、HashMap類竟纳、LinkedHashMap類等。
IO(Input/Output)是計(jì)算機(jī)輸出/輸出的接口疚鲤。Java的核心庫java.io提供了全面的IO接口锥累,包括:文件讀寫,標(biāo)準(zhǔn)設(shè)備輸出等等石咬。Java中IO是以流為基礎(chǔ)進(jìn)行輸入輸出的揩悄,所有數(shù)據(jù)被串行化寫入輸出流,或者從輸入流讀入鬼悠。
1)?異常
了解什么是異常删性,異常的由來,常見的異常焕窝,異常的分類蹬挺,掌握jvm對(duì)異常的默認(rèn)處理方案,異常的處理方案:try…catch…finally它掂、throws巴帮,什么是編譯時(shí)異常,什么是運(yùn)行時(shí)異常虐秋,掌握它們兩的區(qū)別榕茧,throws關(guān)鍵字、throw關(guān)鍵字客给,以及這兩個(gè)關(guān)鍵字的區(qū)別用押,熟練掌握自定義異常,異常注意事項(xiàng)靶剑。
2)?File類
了解什么是File類蜻拨,F(xiàn)ile類的用途池充,掌握File類的方法:createNewFile()、mkdir()缎讼、mkdirs()收夸、delete()、renameTo(File dest)血崭、isDirectory()卧惜、isFile()、exists()功氨、等方法序苏,以及File類的基本獲取功能方法和高級(jí)獲取功能方法。
3)?IO流
了解什么是IO流捷凄,IO流的用途;熟練掌握輸入流忱详、輸出流、字符流跺涤、字節(jié)流匈睁、IO流的常用基類;如何使用字節(jié)流讀寫數(shù)據(jù)、復(fù)制數(shù)據(jù);什么是字節(jié)緩沖流桶错,如何使用字節(jié)緩沖流讀寫數(shù)據(jù);什么是轉(zhuǎn)換流航唆,如何使用轉(zhuǎn)換流更加高效的讀寫數(shù)據(jù),內(nèi)存操作流院刁、打印流糯钙、標(biāo)準(zhǔn)輸入輸出流、序列化流退腥、Properties集合任岸。
4)?IO流練習(xí)
(1) 復(fù)制文本文件;
(2) 復(fù)制圖片狡刘;
(3) 把ArrayList集合中的字符串?dāng)?shù)據(jù)存儲(chǔ)到文本文件享潜;
(4) 從文本文件中讀取數(shù)據(jù)(每一行為一個(gè)字符串?dāng)?shù)據(jù))到集合中,并遍歷集合嗅蔬;
(5) 復(fù)制單極文件夾剑按;
(6) 復(fù)制單極文件夾中指定文件并修改文件名稱;
(7) 復(fù)制多極文件夾澜术;
(8) 已知s.txt文件中有這樣的一個(gè)字符串:“hcexfgijkamdnoqrzstuvwybpl”艺蝴;
(9) 請(qǐng)編寫程序讀取數(shù)據(jù)內(nèi)容,把數(shù)據(jù)排序后寫入ss.txt中鸟废;
(10) 獲取每次讀取數(shù)據(jù)的行號(hào)猜敢;
(11) 登錄注冊(cè)IO版。
是指從軟件或者硬件上實(shí)現(xiàn)多個(gè)線程并發(fā)執(zhí)行的技術(shù)。具有多線程能力的計(jì)算機(jī)因有硬件支持而能夠在同一時(shí)間執(zhí)行多于一個(gè)線程锣枝,進(jìn)而提升整體處理性能。具有這種能力的系統(tǒng)包括對(duì)稱多處理機(jī)兰英、多核心處理器以及芯片級(jí)多處理(Chip-level multithreading)或同時(shí)多線程(Simultaneous multithreading)處理器撇叁。在一個(gè)程序中,這些獨(dú)立運(yùn)行的程序片段叫作“線程”(Thread)畦贸,利用它編程的概念就叫作“多線程處理(Multithreading)”陨闹。具有多線程能力的計(jì)算機(jī)因有硬件支持而能夠在同一時(shí)間執(zhí)行多于一個(gè)線程(臺(tái)灣譯作“執(zhí)行緒”),進(jìn)而提升整體處理性能薄坏。
1)?多線程
了解什么是線程趋厉,什么是多線程,理解java程序的運(yùn)行原理胶坠,掌握多線程的實(shí)現(xiàn)方案君账,如何獲取和設(shè)置線程名稱、線程的生命周期沈善、如何解決線程安全問題乡数、線程同步、Lock鎖闻牡、死鎖問題净赴、線程間通信、線程的狀態(tài)及狀態(tài)轉(zhuǎn)換罩润、線程池玖翅。
2)?多線程面試題
(1) 多線程有幾種實(shí)現(xiàn)方案,分別是哪幾種?
(2) 同步有幾種方式割以,分別是什么?
(3) 啟動(dòng)一個(gè)線程是run()還是start()?它們的區(qū)別?
(4) sleep()和wait()方法的區(qū)別金度;
(5) 為什么wait(),notify(),notifyAll()等方法都定義在Object類中;
(6) 線程的生命周期圖拳球。
3)?設(shè)計(jì)模式
了解什么是設(shè)計(jì)模式审姓,設(shè)計(jì)模式的分類,熟練掌握單例設(shè)計(jì)模式(懶漢式祝峻、餓漢式)魔吐。
網(wǎng)絡(luò)編程最主要的工作就是在發(fā)送端把信息通過規(guī)定好的協(xié)議進(jìn)行組裝包,在接收端按照規(guī)定好的協(xié)議把包進(jìn)行解析莱找,從而提取出對(duì)應(yīng)的信息酬姆,達(dá)到通信的目的。
JAVA反射機(jī)制是在運(yùn)行狀態(tài)中奥溺,對(duì)于任意一個(gè)類辞色,都能夠知道這個(gè)類的所有屬性和方法;對(duì)于任意一個(gè)對(duì)象浮定,都能夠調(diào)用它的任意一個(gè)方法和屬性相满;這種動(dòng)態(tài)獲取的信息以及動(dòng)態(tài)調(diào)用對(duì)象的方法的功能稱為java語言的反射機(jī)制层亿。