{eval=Array;=+count(Array);}
謝謝邀請(qǐng)!
如果已經(jīng)有一定的編程基礎(chǔ),比如具備C語言的編程基礎(chǔ),那么通過知識(shí)遷移是可以快速掌握J(rèn)ava編程的,但是如果自身并沒有編程語言的基礎(chǔ),那么學(xué)習(xí)Java則要一步一個(gè)腳印,在求快的同時(shí)也要求穩(wěn)。
Java語言經(jīng)過多年的發(fā)展已經(jīng)形成了一個(gè)比較完善的語言生態(tài),在Web開發(fā)、Android開發(fā)、大數(shù)據(jù)開發(fā)等領(lǐng)域都有廣泛的應(yīng)用,可以說如今的Java已經(jīng)是一個(gè)“語言帝國”了。Java語言雖然內(nèi)容比較多,但是基本上與應(yīng)用場景有密切的關(guān)系,不同的開發(fā)場景需要學(xué)習(xí)不同的知識(shí)(API)。通常情況下,學(xué)習(xí)Java都以Web開發(fā)為學(xué)習(xí)的主線,然后在再根據(jù)具體崗位進(jìn)行相應(yīng)的學(xué)習(xí)。
Java學(xué)習(xí)整體上屬于先難后易,所以要想快速入手Java編程需要打下一個(gè)扎實(shí)的基礎(chǔ),這個(gè)基礎(chǔ)包括以下幾個(gè)方面的內(nèi)容:
第一:面向?qū)ο蠡A(chǔ)。學(xué)習(xí)Java的根本在于對(duì)面向?qū)ο箝_發(fā)過程的理解,面向?qū)ο蟮拈_發(fā)過程包括類的設(shè)計(jì)、對(duì)象的創(chuàng)建和方法的調(diào)用。不管未來程序的規(guī)模有多大,這個(gè)根本的步驟是不會(huì)變的,所以一定要把握住這個(gè)根本的編寫原則。
第二:掌握面向?qū)ο缶幊痰娜筇卣鳌?/span>Java編程的三大特征是封裝、繼承和多態(tài),掌握了這三個(gè)特征幾乎就掌握了Java最核心的內(nèi)容。封裝的步驟有三個(gè),分別是私有化成員屬性、定義設(shè)置器、定義獲取器。繼承則是在已有類的基礎(chǔ)上創(chuàng)建一個(gè)新類的過程,重點(diǎn)在于發(fā)展。多態(tài)則體現(xiàn)在“兩個(gè)方法、三個(gè)定義”上,具體包括方法重寫、方法重載、父類定義、抽象類定義和接口定義。
第三:掌握多線程。并發(fā)編程是Java中的一個(gè)重點(diǎn)內(nèi)容,也是Java穩(wěn)定性能的重要保障。Java的并發(fā)編程內(nèi)容比較多,包括Thread、Runnable、synchronized、并發(fā)工具類、并發(fā)框架等,我在頭條上寫了關(guān)于Java并發(fā)編程的系列文章(共22篇),感興趣的朋友可以看一下。
最后,要想快速掌握J(rèn)ava編程,一定要重視實(shí)踐。
我從事軟件開發(fā)工作多年,目前也在帶軟件開發(fā)團(tuán)隊(duì),我會(huì)陸續(xù)在頭條寫一些關(guān)于軟件開發(fā)方面的文章,感興趣的朋友可以關(guān)注我,相信一定會(huì)有所收獲。
如果有軟件開發(fā)方面的問題,也可以咨詢我,謝謝!
謝邀~
上來我先潑兩盆冷水吧:
快速入手:不知道題主理解的快速是多久,一周?一個(gè)月?還是一年?我認(rèn)為,一個(gè)學(xué)習(xí)能力尚可但是0基礎(chǔ)的人,一門心思學(xué)習(xí)Java的話(一周五天只學(xué)習(xí)Java相關(guān)課程),要達(dá)到可以就業(yè)的程度,至少也得半年左右(因?yàn)轭}目中提到了月薪,那么怎么也得學(xué)到可以就業(yè)的程度)。
平均月薪超2W:雖然程序員的薪水確實(shí)高,但是說平均月薪2W也稍微有些夸張。如果在北上廣深這些城市,工作五六年的Java程序員,甚至要更長的時(shí)間,才有可能拿到這個(gè)數(shù)。
JDK:Java開發(fā)所需要的環(huán)境,學(xué)習(xí)Java前,先把機(jī)器的環(huán)境安裝好。
IDE:集成開發(fā)環(huán)境,雖然很多人建議初學(xué)者開始不要使用IDE,不過我還是認(rèn)為,怎么簡單怎么來吧。
Java入門需要掌握哪些技能呢?我覺得主要掌握J(rèn)ava語法和常用類,數(shù)據(jù)庫入門技術(shù)相關(guān)知識(shí),包括:
什么是Java,代碼文件的格式,了解Java基礎(chǔ)的編譯和執(zhí)行過程。
Java語言基礎(chǔ):什么是類什么是對(duì)象;基本數(shù)據(jù)類型和引用數(shù)據(jù)類型;聲明和賦值;基本的語法等等;封裝繼承多態(tài);數(shù)據(jù)和集合;泛型;IO;Java常用類等等。
數(shù)據(jù)庫入門:數(shù)據(jù)庫的安裝;SQL語法;JDBC。
可以先學(xué)習(xí)目前很流行SSH、SSM、Spring boot等框架,因?yàn)閼?yīng)用廣發(fā),所以有助于后期的就業(yè);還有一些主流的技術(shù)或框架,也可以接觸一下。
ORM框架:Hibernate、Mybatis可以都接觸一下,另外可以看一看JPA。
Spring家族的很多框架:Spring、Spring MVC是必學(xué)的,Spring boot最好也能學(xué)習(xí)一下。
數(shù)據(jù)庫進(jìn)階:SQL語言復(fù)雜的語法,常見的SQL調(diào)優(yōu)。
SSH或SSM整合。
Maven、Git或SVN的使用。
Redis常用命令和使用場景。
好多年沒有基礎(chǔ)前端開發(fā)了,我也就不做建議了,我們那時(shí)候還是主要用JQuery。
學(xué)習(xí)完這些技術(shù)之后,就業(yè)應(yīng)該就有希望了,但是要想月薪20K,還得繼續(xù)努力呀。
目前在開發(fā)領(lǐng)域當(dāng)中,Java是全場景開發(fā)語言的重要代表,要知道這樣的開發(fā)語言并不多。因此Java工程師大多能擔(dān)任包括Web開發(fā)、大數(shù)據(jù)開發(fā)、Android開發(fā)等多個(gè)不同的開發(fā)角色。而且就目前來說,在云計(jì)算和大數(shù)據(jù)技術(shù)的推動(dòng)下,全棧程序員是一個(gè)重要的發(fā)展趨勢(shì),未來,Java全棧程序員的需求量也會(huì)進(jìn)一步釋放。
第一:先學(xué)習(xí)Java的核心庫
環(huán)境搭建、基礎(chǔ)語法、面向?qū)ο蟆?shù)組、集合、常用類、IO流、反射機(jī)制、網(wǎng)絡(luò)編程等都是這一部分的重點(diǎn)內(nèi)容。
第二:數(shù)據(jù)庫
MySQL、Oracle,搞定一個(gè)就可以了。
目前的互聯(lián)網(wǎng)公司,基本上都在使用MySQL。它的特點(diǎn)是小巧輕盈,免費(fèi),由于互聯(lián)網(wǎng)公司的項(xiàng)目訪問量比較大,所以一般會(huì)搭建數(shù)據(jù)庫的集群,可以一個(gè)數(shù)據(jù)庫不夠,所以需要搭建數(shù)據(jù)庫集群,為了應(yīng)付高并發(fā)。
第三:WEB前端
無論是Java開發(fā)還是JavaEE開發(fā),主要開發(fā)的系統(tǒng)結(jié)構(gòu)都是是B/S結(jié)構(gòu)的,B指的是Browser,S指的是Server。要開發(fā)這種系統(tǒng),B端要會(huì),S端也要精通。WEB前端的學(xué)習(xí)就是學(xué)習(xí)B端技術(shù),它包括HTML 、CSS、JavaScript(JS)、jQuery框架(底層對(duì)JS進(jìn)行了封裝)等
第四:WEB后端
PHP、C、C++、Java其實(shí)都是可以對(duì)WEB后端進(jìn)行操作的。我們既然選擇了Java,那么我們學(xué)習(xí)的后端一定是基于Java語言實(shí)現(xiàn)的,包括:Servlet、Filter、Jsp、EL、JSTL、MVC架構(gòu)模式、數(shù)據(jù)庫連接池(ucloud巴巴的Druid連接池)、代理模式(動(dòng)態(tài)代理)。
第五:學(xué)習(xí)高級(jí)框架
持久層框架,如:Spring、SpringMVC、MyBatis。這個(gè)框架互聯(lián)網(wǎng)公司使用比較多,因?yàn)榛ヂ?lián)網(wǎng)項(xiàng)目需要進(jìn)行SQL優(yōu)化,MyBatis的SQL優(yōu)化很方便,所以大部分都是使用MyBatis。
一些傳統(tǒng)企業(yè)和政府等可能會(huì)使用Hibernate。
單純的理論在IT行業(yè)是走不通的,所有的理論都必須和實(shí)踐結(jié)合在一起才有價(jià)值。
建議你盡可能地做一些項(xiàng)目實(shí)踐,在鞏固知識(shí)的同時(shí),找到自己學(xué)習(xí)上的漏洞,并積累項(xiàng)目實(shí)踐經(jīng)驗(yàn)。
Java不可能快速入門。
建議去書店買一本適合自己的Java編程書,一章節(jié)一章節(jié)地學(xué)習(xí),把每章重點(diǎn)畫出來,一關(guān)一關(guān)地過,過完再學(xué)習(xí)下章節(jié)。
切記,不要心急。越心急越學(xué)不好。
不要買什么Java從入門到精通的書 急功近利。原理都沒搞清楚。只是為了掌握而掌握。說到底就是一種模仿。這種類型的書,除了圈錢真沒啥用。我就是計(jì)算機(jī)專業(yè)的。Java是我學(xué)的最簡單,最好的一門語言。老師講的很好。一部分是入門教材Java高級(jí)程序設(shè)計(jì),葉核亞的。其次是多練手。相對(duì)來說,Java語言是上手難度最低的。但功能確實(shí)相當(dāng)全面,豐富的編程語言之一。看完基礎(chǔ)之后,看一下Java高級(jí)編程之類的書。你會(huì)發(fā)現(xiàn)其實(shí)Java并不簡單。只是你學(xué)的比較皮毛。所以當(dāng)你下定決心學(xué)好學(xué)精Java的時(shí)候,記住要有自信,但不要盲目自信。還要懂得堅(jiān)持,多動(dòng)手。對(duì)于計(jì)算機(jī)專業(yè)的學(xué)生來講。學(xué)過C++,有了面向?qū)ο缶幊痰乃季S,Java入門周期是很短的。小白的話,好好理解一下,也是可以突破瓶頸的。
隨著java開發(fā)技術(shù)在其他開發(fā)領(lǐng)域的廣泛應(yīng)用,市面上相關(guān)java開發(fā)崗位越來越多,對(duì)于學(xué)習(xí)java開發(fā)技術(shù)的小伙伴來說是一個(gè)比較不錯(cuò)的就業(yè)機(jī)會(huì),小伙伴想要入行java開發(fā),需要系統(tǒng)的學(xué)習(xí)java開發(fā)技術(shù)知識(shí)。
java開發(fā)語言是比較容易學(xué)習(xí)的,其學(xué)習(xí)方式有自學(xué)和java培訓(xùn),這兩種學(xué)習(xí)方式小伙伴可以通過自身的情況選擇適合自己的學(xué)習(xí)方式,但是對(duì)于初學(xué)java開發(fā)的小伙伴,想要系統(tǒng)的學(xué)習(xí)java開發(fā)技術(shù),參加java培訓(xùn)班是比較靠譜的選擇。那小伙伴該怎樣去學(xué)習(xí)呢?
1.認(rèn)真聽講,學(xué)習(xí)積累java相關(guān)的基礎(chǔ)知識(shí)
小伙伴在java培訓(xùn)班學(xué)習(xí)開發(fā)技術(shù)的時(shí)候,要以培訓(xùn)課程內(nèi)容為主線,在學(xué)習(xí)過程中,不斷積累相關(guān)的java開發(fā)基礎(chǔ)知識(shí)。小伙伴在課上要認(rèn)真聽講,仔細(xì)記筆記,在不斷學(xué)習(xí)中慢慢豐富自身知識(shí)結(jié)構(gòu)。
2.重視項(xiàng)目實(shí)戰(zhàn)案例的練習(xí)
小伙伴在學(xué)習(xí)過程中,不僅需要相關(guān)java開發(fā)基礎(chǔ)知識(shí)的積累,更需要實(shí)戰(zhàn)項(xiàng)目案例的練習(xí),小伙伴可以通過真實(shí)的項(xiàng)目案例練習(xí),加深對(duì)java開發(fā)相關(guān)基礎(chǔ)知識(shí)的理解與運(yùn)用。同時(shí)java培訓(xùn)老師也會(huì)通過項(xiàng)目案例的練習(xí)掌握小伙伴對(duì)相關(guān)基礎(chǔ)知識(shí)的掌握情況。
3.多交流,培養(yǎng)自身編程思維
小伙伴想要學(xué)好java開發(fā)技術(shù),不能只顧著自己悶頭去學(xué)習(xí),還需要小伙伴多交流,交流的過程是學(xué)習(xí)新知識(shí)的過程,在這個(gè)過程中,小伙伴也要多思考,養(yǎng)成良好的學(xué)習(xí)習(xí)慣是非常有必要的,在不斷思考與學(xué)習(xí)過程中,慢慢培養(yǎng)自身編程思維。
小伙伴想要快速學(xué)好java開發(fā)技術(shù),不僅需要找到適合自己的學(xué)習(xí)方式,還需要找到比較不錯(cuò)且適合自己的學(xué)習(xí)方法。尚硅谷java培訓(xùn)是一個(gè)比較靠譜的線下面授職業(yè)教育培訓(xùn)機(jī)構(gòu),培訓(xùn)班有專業(yè)的講師引領(lǐng)小伙伴學(xué)習(xí),以理論實(shí)踐相結(jié)合的教學(xué)方式,傳授java開發(fā)技術(shù)知識(shí),培訓(xùn)班還有相關(guān)java視頻供小伙伴下載學(xué)習(xí)!
http://www.atguigu.com/download.shtml
一、如果不是這樣你可選擇培訓(xùn)機(jī)構(gòu),訓(xùn)機(jī)構(gòu)有很大的坑,自己去甄別,費(fèi)用也不低.也不一定能學(xué)到比較深入的東西.編程這條路很長.主要還是要靠自己去鉆研,去研究.
二、完全靠自學(xué),例如極客網(wǎng),慕課網(wǎng),Stack Overflow,博客園,極客學(xué)院,網(wǎng)易云課堂 w3c,菜鳥編程等……網(wǎng)站
三、下圖一個(gè)大綱,差不多你要掌握這些內(nèi)容,java中的內(nèi)容還是挺多的,希望對(duì)你有所幫助
這是一個(gè)初學(xué)編程經(jīng)常考慮的一個(gè)重要問題。相信你在思考這個(gè)問題前,已經(jīng)想明白了“要不要學(xué)習(xí)java編程”。有了堅(jiān)定學(xué)習(xí)的基礎(chǔ),聰明的做法就是思考“如何快速入手java編程”,而不是盲目的、無目的學(xué)。
關(guān)于問題中提到的“快速”,這里有必要說明下:
1、java學(xué)習(xí)是一個(gè)相對(duì)長期的過程,中等學(xué)習(xí)能力(能考上本科吧)、每天能堅(jiān)持3小時(shí)、認(rèn)真學(xué)習(xí)的學(xué)習(xí)者,完成java初級(jí)工程師的要求,也要半年左右的時(shí)間,速成是不太可能,搞懂知識(shí)點(diǎn)容易,動(dòng)手編程達(dá)到要求,則可能快不了。初學(xué)時(shí)要有這樣的心里準(zhǔn)備。心急吃不了熱豆腐,欲速則不達(dá)。當(dāng)然學(xué)習(xí)能力極強(qiáng)的例外。
2、我理解的“快速”
快速熟悉java語言基礎(chǔ),象java開發(fā)環(huán)境Eclipse和MyEclipse,javaj程序組織方式與構(gòu)成,面向?qū)ο缶幊蹋惣叭筇匦裕瑪?shù)據(jù)類型,條件語句,循環(huán)語句,……
快速在java開發(fā)環(huán)境Eclipse中寫出精典的HelloWord程序,運(yùn)行出結(jié)果,并能以此為基礎(chǔ),學(xué)習(xí)java語言。
基于我理解的“快速”,談一下“如何快速入手java編程”,希望對(duì)你有所幫助:
1、找一本java編程入門級(jí)的參考書
要求:
1.1、難易適中,因?yàn)槭侨腴T級(jí)學(xué)習(xí)。(必須有此項(xiàng))
1.2、有相關(guān)知識(shí)點(diǎn)的編程操作練習(xí),可理論聯(lián)系實(shí)際。(必須有此項(xiàng))
1.3、有完整典型案例分析和源碼實(shí)現(xiàn)。(最好有此項(xiàng))
1.4、一章完了有小項(xiàng)目練習(xí),可把所學(xué)重要知識(shí)點(diǎn)整合運(yùn)用到項(xiàng)目實(shí)踐中,積累項(xiàng)目經(jīng)驗(yàn)和解決問題的能力。(最好有此項(xiàng))
1.5、有常見典型錯(cuò)誤解決方案。(最好有此項(xiàng))
2、制定理論和編程實(shí)踐的詳細(xì)學(xué)習(xí)計(jì)劃,并保質(zhì)保量去完成。
3、找與知識(shí)點(diǎn)匹配的小項(xiàng)目做,發(fā)現(xiàn)問題,及時(shí)補(bǔ)漏。
4、做面試題,也可快速提升水平和學(xué)習(xí)深渡與廣度。
希望對(duì)你有用,祝你早日成為java初級(jí)工程師。
0
回答7
回答0
回答10
回答0
回答0
回答0
回答0
回答0
回答9
回答