java學習零基礎,幾個月能掌握?

中軟國際瀋陽ETC


掌握這個詞很大,我學了將近20年,也不敢說自己掌握。

回答這個問題,我覺得需要對掌握做個定義。掌握我覺得可以分幾個層次:

1、學會JAVA語法,可以寫程序

2、掌握一些基礎的框架,可以上手工作

3、熟練應用,得心應手,可以選擇自己的前進方向

4、深入理解編程思想,手中無劍,心中有劍,不在受語法限制,語言限制,隨心所欲而不逾矩。

第一個層面,學會JAVA語法,可以寫程序。這裡其實是需要學習JAVA的一些基礎體系,就是學會使用JAVA工作需要哪些工具。

首先是JAVA基礎語法和編程環境,這個很簡單,如果找本好書,精進一點,大約半個月就能上手。

其次學習JAVA的基礎體系和學會使用JAVA API文檔,指導JAVA的三大體系,比如j2se,j2me,j2ee。這些東西指導就行,現在這個階段能學會j2se就已經很不錯了。j2me和j2ee,知道其中的概念就行。這個階段大約再需要半個月。做到此,用JAVA寫程序就不難了。但是也就算是入門的門口吧。這裡有很多關鍵點需要注意,一些JAVA教材教的並不是很好,比如寫時鐘程序啥的,這些工作中都很難用到。如果找老師,不要找沒有實際工作經驗的老師。但是這個條件應該很難。

第二個層面:學會JAVA的一些基礎框架,可以上手工作。JAVA目前主要應用在三個層面,比如AndroidAPP編程,主要用的是JAVA圖形界面,當然還有Android本身的sdk和API,還有就是j2me嵌入式編程,這塊我不瞭解,不敢造次。第三就是j2ee,現在用的多的是servlet,而且主要是用spring框架,所以j2ee體系也不是要全部都學。

不管從事哪個領域,會用一個框架跟前面基礎學習JAVA是一樣的,掌握工具,掌握方法,會查API。從有了上面的基礎再學會這些東西里面的一樣,大約需要三個月的時間。如果好點的,大約需要半年。因為主要是要練習,需要不斷的編程,碰到問題解決問題。最好有項目跟這走。

學會此,就可以找工作了。但是會這些可能還不夠,因為你要工作,還需要學會:版本管理工具,基礎的數據庫管理,基礎的應用服務器管理,最好能學一點linux,還有一些項目管理工具,bug管理工具等等,最重要的是程序調試,要會調試程序,會查看異常,根據異常來分析問題。這些方法都掌握了之後,找個工作應該不難。

第三個階段,熟練應用。大約你要寫三年代碼,做的好的話,大概會在某個方面搞得很清楚,主要需要大量的項目來歷練,這個階段你就不要管公司是否996了,你自己就應該996,沒有這麼高強度的訓練,你是不可能成為一個高手的。

你有了三年的經驗,並且解決了很多問題,你就有了一些判斷能力,你至少可以確定你下一步的前進方向,是朝著架構師去走,還是走項目管理。不管確定哪個方向,又面臨著巨大的學習量。因為這個題目是零基礎學JAVA,零基礎就有兩種情況:軟件專業和非軟件專業。如果是軟件專業還好點,你這個時候可能會感覺到:靠,學校學的東西還真有點用。如果不是軟件專業,你就要慎重選擇方向。如果你選架構師,那麼你需要很多內功訓練,至少一些算法,計算機原理,操作系統原理,數理邏輯,軟件分析方法你是需要學習的,否則,很難支撐你成為更高級的人。

這個階段你不管選擇走項目經理還是架構師,至少需要三個項目以上的專業訓練,你才有可能入另外一個層次。那麼這個階段原則上至少需要兩年。

第四個階段,深入瞭解編程思想。到這個階段的時候,你已經有了將近六年的學習和工作,應該非常瞭解編程了,但是你可能還不夠強,你可能有很多錯誤的觀念和邏輯在你的思想裡,你又要進步,就只能接著學習。但是這個階段的學習,有可能你會選擇拿起JAVA編程思想,core JAVA等基礎的書再去看,還有可能看一些設計模式,分析模式之類的書,還有可能會看一些戰略管理方面的書,甚至你可能懷疑人生,找本佛經來讀。總之有各種可能。但是這個階段的發展絕對是需要內力的,而且已經沒有辦法用時間來衡量學習效果了。可能你天生聰慧,突然間你就悟到了大道至簡,學會最高深的架構原理,也可能你再花10年還是一個普通的架構師。

但是有一點,只要你願意,你不會缺少一份薪資不錯的工作。這個是完全可以放心的。其他的就看你的能力了。

大體就是這個樣子。編程學到最後也是哲學層面。編程的架構能力同樣可以用在商業上,也可以用在生活裡。大道都是一樣的,最終決定我們人生成就的東西都一樣。

預祝你學習成功!


祖國的蝸牛


掌握有點籠統,是熟練還是精通?

估計題主的意思應該是能夠熟練運用吧!

那麼,如果有其他編程入門經驗的,也有一些基礎的編程思想,學起來還是很快的,兩三個月就能熟練的寫代碼,前提是要多練多寫,光看書不動手,再長時間也沒用,不敢說精通,但也是能熟練編寫代碼解決問題。

如果,很精通其他一門面向對象的編程語言,比如C#,那麼估計題主也不會問這個問題了,不說馬上能上手,但學起來幾乎應該不需要太多時間。

最後,如果沒有一點編程基礎,那麼入門這道坎可能會花費你很多時間和精力。

說白了,最主要還是學的同時,多上手練習!多長時間能熟練運用,那就要看你練習的有多努力,有多勤奮。

純手碼,謝謝!


前方有隻程序猿


我要做個運營,沒有選擇~

時長

時間的話這個要看你自己怎麼學

有兩種方式你可以進行選擇

一是直接花錢報個班

二是自己苦逼的琢磨

學不學的懂,兩者都要靠自己

自學時間不能定,就看你娃腦殼轉不轉的動

報班時間不由你

一般入門報班入門時間短,半年之後就上崗

但是呢,這些知識只能讓你快速入個門

要想往上爬,還得自己網上到處“爬”

不學習要捱打

當然不得真的磕到你身上

最多把你工資往下壓

所以說,學習還是要努力

不然一切都白搭

最後給你說件事,萬事靠自己努力,啥子房子、票子、孩子都不是問題!



全階魔方


每天五小時,三年左右可以基本應付工作。。。如果你覺得難以堅持,可以考慮C#。。JAVA能做的C#也都可以。。尤其在遊戲開發方面C#比JAVA要強,主要還是C#和JAVA之間的相似度非常高,語法九成都一樣,編程思想完全一樣,相對比JAVA要稍微容易一些。但也僅僅是稍微容易而已。。本人是JAVA轉C#,感覺不錯,想轉回去也比較容易。。學編程和學中文的道理是一樣的,
可以分成六個階段
第一階段:學中文的時候,什麼是主語,謂語,賓語。什麼是動詞、名詞、形容詞。什麼叫段落,什麼是標點符號。搞清楚這些,就等於掌握了中文語法。編程語言也是同理,搞清楚什麼是判斷,循環,數據類型,類,對象,枚舉,結構,數組,集合,運算符。就等於掌握了編程語言的語法。 這個學習過程,大概需要一個月。
第二階段:掌握了中文語法,到能用中文寫句子之間,有多大差距? 首先,差在你要認識“字”和“詞”。這就需要長期的積累。編程語言也是同理,學完語法之後,你需要掌握足夠多的函數和類。這就等於中文的字和詞。JAVA大概有3萬多個系統函數(不一定準確),和3777個類(JAVA 1.6版)。。語法的作用,就是通過組合這些函數與類(對象)。讓它們組合成“句子”。要完全掌握幾乎是不可能的,但常用的函數與類,花上半年時間,基本是可以掌握的。
第三階段:能寫出中文的句子,和能寫信之間,有多少差距?差距在於,你不僅要能會寫字和詞,還要理解它們的意思,並且哪一個詞,應該在什麼情況下使用。編程語言也是同理,這在編程語言中,並沒有特定的叫法,其實就是熟悉的過程,但這個過程非常漫長。。。。但可以靠之後慢慢積累,並不需要在一時之間便全部掌握。
第四階段:能寫信,和能寫作文的差距有多少?能寫信,你只要讓對方看懂就可以,對方看完是否覺得舒服,並不重要。。。但寫作文,你至少讓老師看後不覺得反感,才算及格。編程語言也是同理,而且這個階段,對於編程來說非常重要。。。這決定你是否能寫出大的程序。。。這點無法突破,你就只能寫出計算器之類,以KB為單位的小玩具。。。這其中主要涉及“封裝”,“多態”的深入理解,以及對“委託”,“事件”,“線程”的正確使用。。還要掌握一些設計模式的使用,其中“工廠模式”“觀察者模式”“單例模式”這三個是必須掌握的,且要非常熟練。。。。非常多的人會在這個階段放棄學習之後改行。。所以這個階段,其實可以視為淘汰期。。挺過來基本就會了。。挺不過來的,就可以準備改行了。。本人在這個階段,中途放棄過幾次,一共經歷了大約兩年的時間。
第五階段:作文除了語法通順,還要常常引經據典,所以就需要一定的背誦能力。也就等同記憶力。套用到編程,就是數據庫的使用。。。其實這和編程語言本身並沒太大關係。。。但我到今天為止,還從沒見過有任何一個完全不懂數據庫,卻能找到工作的程序員。。。。。寫法幾乎並不需要思考,基本全靠死記硬背。。。其實到了這一步,就能勝任一些簡單的工作了。。。比如做一個人事管理軟件。。。由於程序員只需要掌握增刪改查,所以這個階段並不難。。快的話,十天可成。。但在這階段卡住,一年都背不過的,也不在少數。
第六階段:能寫作文,還能寫論文的差距有多少?那就在於你除了學會中文,還要學論文相關的專業知識。編程方面,則是針對需要面臨的工作,學習相應的框架與基礎知識。。。。如果你要做安卓APP,那你就得去學安卓,要明白如何獲得GPS定位信息?攝像頭的要如何驅動?。。。。如果你要做網站,那你就得明白啥是HTTP協議?啥是GET請求?啥是POST請求?HTML,CSS,JAVASCRIPT怎麼寫?熟悉MVC。。。到這個階段,算是功德圓滿了。。。



LhWorld哥陪你聊算法


具體學習多久,還是得看你的對新知識的接受能力吧,我們重慶大學城北大青鳥有零基礎學習幾個月就工資的,也有學了幾年才參加工作的!

自學Java的人不少,科班出身的也很多,但是到什麼程度才有資格說自己精通Java?至少需要經歷以下幾個階段:

一、重視代碼品質,精益求精,這是技術開發的本質,也是程序員的立足之本。

對處於還沒工作或者工作1年左右這個階段的人來說,看書是比較好的提升方式,推薦《 Java 編程思想》、《 effective java 》等。

需要注意的是,在看書的過程中一定要思考能否運用書中的經驗來改善自己寫的代碼,運用到實處,比如看到 final 和 static ,想想自己代碼中用的是否合理。此外,還可以看些常用的開源框架。

二、打好基礎後,主動跳出舒適區,不斷擴大自己的技術視野。

這一步比較難,因為很多人會被公司的技術和業務牽著走。比如公司當前的業務規模決定了技術上不需要分佈式技術,很多人就不會去思考規模大了之後如何利用分佈式技術來解決問題。

這種時候,除了尋找更大規模的業務外,要時刻保持跳出當前層級和環境來思考的習慣。比如,你只用了關係型數據庫,有沒有想過數據一直產生,到達 TB 級別的時候該如何快速檢索與保存呢

三、擴展了知識寬度,還要加強自己的技術深度。

很多人信奉“不去造輪子”,看似性價比很高的一句話,卻不知道這句話是有前提的,那就是“你得知道輪子的內部結構”,否則就是自我麻痺。接下來需要選擇某一個或幾個方面深入研究下去,構建自己的核心競爭力。

一個有技術深度的程序員才是有靈魂的。而大廠也願意為有趣的靈魂買單,這個時候看的就不僅僅是工資水平,更多的在於晉升和發展前景的廣闊性。

技術的突破需要依賴業務場景的需求和自身刻意的規劃學習,二者缺一不可。但前者是機會,往往不是自己能完全把控的,如果在工作中沒有實踐場景,最好的辦法就是系統的學習與梳理,待機會來臨時才能一展身手


重慶大學城北大青鳥


這種類似的問題,其實我回答了有很多次了:

Java好不好學?Java怎麼學?是自學好還是去培訓架構好?

關鍵就一句話,看自己的能力而定。

如果你自學能力強,不管是不是零基礎,自然會事半功倍;

但是Java入門容易,精通難,詳見:

https://www.wukong.com/question/6679657753360728331/


IT極客老兵


皮毛需要幾個月,學會需要幾年


代碼桃子


入門水平大概半年,剩下的一輩子都在學


牛耳IT那些事兒


又一個培訓機構


分享到:


相關文章: