自學JAVA難不難?

甜帝


自學Java並不難,我就是自學的Java。我大學的專業是信息技術這塊,平時用的最多的是彙編語言,不知道大家用過彙編沒,其實還挺懷念當時拿著單片機敲彙編的時候。

我學Java純粹是為了就業壓力,自己也就學了3個月,考了一個沒用的證書,然後就去應聘。幸運的是應聘我的主管是我的一個老鄉,所以關係一下子近了很多(我是在天津工作的湖南人)。後來也是這位主管,教了我很多東西。有個人帶你,還是比自己一個人悶頭學好很多,至少少走很多彎路。

學Java最重要的就是要跟著項目走,多學多做,剛開始不要追求各種框架,比如什麼Spring啊,Hibernate啊,這些都是浮雲。基礎紮實了學什麼都快。我們公司有一個老程序員,什麼框架都不會,就是寫原始的JSP,就是頁面裡寫Java代碼的那種,作為新時代的程序員肯定覺得很Low。但有時候必須佩服的是,他的代碼很少有BUG,而且做事非常快,思路清晰,代碼結構清楚,運行起來速度槓槓的,人家設計的數據庫那都是很優化的。

總之一句話,進一個好項目,跟一個好師傅,擺正心態,不急不躁,保持好奇心,多學習。


亂世閒人71380810


答主本身也不是科班出身,除非你特別聰明或者有毅力,否則還是不建議自學Java。我也是畢業後培訓了三個月才找到工作的,班裡也有科班出身又去培訓的,當然他們基礎要比我好上很多,也有學過C語言的,也有重點大學理科畢業的。對於我來說還是很難的,我下邊列出來認為的難點。

首先來看一下Java的學習路線

1 Java基礎


面向對象是難點,也是重中之重,說整個Java圍繞著面向對象作為核心也不為過。就我現在也不能說掌握了面向對象。

2 數據開發


“SQL”是數據庫開發的前提,一定要牢牢掌握;“JDBC”是連接數據庫的重要步驟,這點要融會貫通。

3 HTML

這是前端的一些東西,js需要多看看。


4 Javaweb



學到這裡就可以進行簡單的開發網站了。MVC模式也是重點,但是很好理解。

5 框架

三大框架是以後開發經常需要用到的,需要不斷的練習,但是現在隨著時代的發展,流行框架可能會發生改變,前幾年用ssh的比較多,我認為作為入門還是可以的,現在普遍用springMVC比較多,但是幾乎都從上圖的三個框架開始學起的。

對於題主這種情況,可以參考我給你的學習路線在網上找些資源,畢竟都是免費的,推薦一個自學IT網站:慕課網。當然有什麼不懂的也可以和我討論。


千萬年老魔


作為一個工作多年後跨行自學JAVA的過來人,我有必要將最真實的感受說下一下。

自學JAVA需要具備的條件和能力

1.對java編程的興趣:興趣才是最好的老師。

2.充足的學習時間:邊工作邊自學的一般很難學成,因為要工作,時間精力不夠用,除非一天24小時不睡覺。

3.身體素質好,要有足夠的體力支撐:有時候要熬夜學習。

4.學習的能力:並不是學歷,而是學力,當然學歷越高的人學力一般都比較強。

5.自我主動學習的能力:跟學習能力最大的區別是主動,既然是自學,學習不主動,幹啥都不成。

6.具備一定的英語基礎知識,最好能看懂一些簡單的英文文檔:有一定的英語基礎總比用Google翻譯效率高吧。

7.毅力+堅持+專注:沒有堅持的毅力和專注力,勸你就別學了。

8.耐得住寂寞,經得起誘惑:漫長的孤獨歲月,守住初心。

9.有不達目的不罷休的幹勁:學成之前會有一百種想放棄的理由。

10.最好有一個在你學習過程中遇到困惑、困難、心情不佳、憂慮、想要放棄的時候能給你點撥、指導、給你信心、當頭一喝的領路人,他總能在你需要的時候一針見血地解決你的問題。

自學週期:3~6個月

1.所給時間週期為大部分人學成的時間,耗時越短說明你越nb。

2.每個人自身的條件和能力不一樣,導致有人用時長,有人用時短。

3.滿足就業的知識就那麼多,很多知識可以就業後邊工作邊學。

4.學習過程就像用一個小勺往一個空桶灌水,水滿之日就是你學成之時。

5.還等什麼,現在就開始學習吧。

送給你的最後一句話:

天下事有難易乎?為之,則難者亦易矣 不為,則易者亦難矣.

【無情懷,不編碼。做一個有情懷的碼農,雖千萬人,吾往矣!】

關注java自學、java技術、求職領域,為你導航領路,指點迷津,分享學習感受和技能經驗。歡迎點贊、轉發、關注和留言,任何java技術或求職問題可以留言私信。


一個有情懷的碼農


關於自學Java,我應該算是有故事可說,本人機械專業的,大學畢業在國企工廠幹了幾個月,不甘心過著混吃等死的無聊歲月,於是果斷辭職回家自學Java,之前從未接觸過Java,在大學時期也只修過2學期的VB編程語言,所以在剛開始的時候,和大家一樣,非常迷茫!

但是,當我下定決心,準備開始做這個事的時候,什麼都沒想,每天8點起床,晚上12點睡覺,期間除了吃飯,喝水,沒停止過看視頻,跟著學,跟著敲,跟著總結,就這樣渡過了快四個月吧!至於後續的發展,其實很悲催,但是這個忘我學習的歲月,讓我充實了不少。

現實很殘酷!我想很多人,對於軟件行業,Java開發都有所憧憬,多多少少會聽到或看到什麼,高薪啊!好就業啊!前途無量啊!之類的,其實軟件行業之所以高工資,就是用時間來堆,當然,除非你很有天賦,你只需花別人一半甚至更短的時間來完成代碼,那麼你可能就不需要那麼辛苦,但是基本上的程序員都是隨時加班!所以,當你有想要投身軟件開發行業的時候,請認真思考一下,你是否會後悔自己的決定,是否能夠勇敢面對現實!

此外,當你做好決定,從內心想要學習Java時,另外一件事也是你需要考量的!你是否對編程語言產生興趣,或者說當你在學習Java過程中,你是否會產生興趣並獲得成就感與快樂!這一點尤其重要,如果你不喜歡,或者抗拒,那你學它幹什麼,就算你逼自己學了,也走不遠,因為學習Java是一個不斷累積的過程,你需要不斷的學習更新,提升自己,才不會被淘汰。

當你已經思考好了上述問題後,你就可以開啟Java之旅了,Java這門語言用途非常廣泛,但是萬事都是從javase基礎開始,學好基礎才有後續一切的可能!

首先,安裝Jdk,配置環境變量,通過記事本和命令行完成"Hello world"吧,然後是有點枯燥的語法學習,基本所有的語言都是從語法開始,學習語法的過程也算是檢驗了你是否有興趣繼續學習,因為大多數人都是學語法的時候就放棄了!如果你完成了,那麼你將開啟新的篇章,這種感覺就像重生一般。

java是一步一步,循序漸進的,語法學完,學習最有深度的java核心思想——面向對象思想。

然後是異常,多線程等等就不一一細說了。

總的來說,Java帶給了我很多,我最喜歡思考的就是面向對象與多線程了,我感覺非常的有意思!萬事開頭難,如果你想有一段不後悔的青春,那麼還在猶豫什麼,做就完事了,興趣就是最好的老師!


風之刀塔觀戰筆記


自學Java難不難?我覺得對我來說有一定難度!難在哪裡?枯燥,時間久,注意力集中。。。。。



不知不覺已經學習了快5個月了。從JavaSE到JavaEE再到框架,中間知識點太多,因為我是化學專業畢業的,並且代碼量比較少,所以比較吃力,知識點很零碎,很多,如果要每一項都做到如數家珍,真的很難,這點只能通過大量代碼來實現。我是為了就業的啊,我不可能一開始就按著專業人士的標準去學習,那樣我可能一年都無法學完。所以我選擇培訓班模式,每天看視頻。跟著視頻碼代碼,效率很低,自己的創造性不是很多。但是我不灰心,因為我每天都在努力,當然每天都在進步!下個月我就去找工作!


題主問難不難?我覺得這個問題還可以細化:學java難點在哪裡?怎麼克服?

1.毅力

2.動手&思考


毅力===這個當然是做任何事成功的前提。你是否能做到每天7點起床,晚上12點睡覺?每天耐心的看完4個小時的視頻,看完視頻,回顧一下,然後再動手碼代碼,測試幾個案例,這個過程中一定會遇到很多bug。你是否有耐心慢慢調試,一個一個慢慢解決?當遇到解決不了的bug,無處詢問,百度不出來的時候,你是否有耐心繼續調試,繼續尋找問題原因?這個過程對於急性子的人來說可不是一般的煎熬。如果你沒有耐心,hold不住寂寞,單調,不建學Java。

動手&思考===這個是必須的,如果你光看視頻,大部分內容你基本能理解。但是如果不付諸實踐,手動去寫代碼,你不會有自己的體會,你不會形成自己的記憶,過兩天你一定會忘記的一乾二淨,因為學習初期,很多東西記憶大於理解,就好比如你要在控制檯打出 helloworld ,但是你連最基本的 System.out.println()都寫不出來,你說你該如何進行下一步?其中學習到後面我們還要使用很多api,每一種都有對應的方法,而且很多,雖然日常簡單使用不會用到很多的方法,但是知識點多了,即使是簡單的功能實現,也是相當多的,你總不可能連最基本的功能都去翻閱文檔吧?所以這種情況只能通過大量代碼來記憶!




最後,如果你真的要入行,那麼祝你好運!

Go

Go

Go

!


VALUES


學英語難嗎?學java也一樣,難不難是相對的,因人而異。

現在外面編程培訓班辣麼多,培訓最多的就是java了,為什麼?因為java能快速入門,可以說java已經爛大街了。招聘時什麼職位最多?也是java,因為低端java程序猿多,高級java程序員少。由此可見,java入門容易,想精通就得花時間鑽研,三年時間是最低標準了。

學習java通常是java入門——java進階——java編程思想——java編程之道——java編程之禪——頸椎病康復指南,這麼一整條學習路線。

入坑之前要問問自己為什麼要學java,真的是因為喜歡編程嗎,還是因為看起來錢多?

如果是喜歡,那就趕緊學吧,需要一點數學和英語的基礎。相信我,學過後肯定能讓你物有所值。即使資質一般的人,最差也能養家餬口了。再好一點,從此走上人生巔峰也是有可能滴。

如果是因為“錢”途,說實話,和建築工地的民工差不多,這也是很多程序猿自稱碼農的一部分原因。還有就是公司要的是利潤,要的是效率,怎麼效率怎麼來,能用現成的,絕不會從頭開始,所以我們很少造輪子,我們只是代碼的搬運工(自己造的輪子別人敢不敢用還另說,大神除外)。與其說是腦力活,還不如說是體力活。沒有愛好,很難一直堅持下去。

題外話,程序猿對電腦要求不高,CPU好一點,內存大一點,屏幕大一點就可以愉快的碼代碼了。

希望對題主有所幫助,老鳥勿噴。


菜鳥01號


答案是肯定的 難 ! 不是java有多難,是堅持真的很難很難

很多人覺得做碼農需要英語 需要數據,其實對這些的要求很一般 , 比如你是高中學歷,完全ok,

初中學歷 多記憶一點,至少你想成為碼農是完全可以的;

1 成年人的世界沒有那麼多興趣,在沒有興趣的情況 , 學習java,就是靠硬撐。

2 自學java的話,需要的時間週期比較長,很多人能堅持2個月 但是堅持不到3個月。

3 孤獨 ; 我會這麼說的原因是我個人的體驗,大學的時候學習java,也是看的一套視頻學習,很多時候看著視頻裡面操作很容易,

自己上手問題接踵而至,實在是太多,我覺得孤獨的原因 是沒有任何人給你一點指點 , 有的時候你百度了N多次 還是出現你看過的頁面,

你看了一整天也不一定能找到自己的答案。

4 要堅信自己能解決bug ; 學習程序最大的問題就是bug , 就比如剛開始配個環境就是bug一大堆的,看花了眼也有問題,我自己學的時候我甚至覺得是不是電腦的問題 。

5 要堅持學習 , 像java這種需要動手的東西,你學習幾天不學習了,完了 你下次再敲代碼的時候又生疏了 , 你又得去把之前學習的再敲一遍。

學習java我覺得英語 數學 興趣 學習能力 都是次要的 , 難的的就是你能做一隻打不死的小強。


跟我學excel


第1,難不難看人的技術基礎底子厚不厚。

第2,java老司機是個實踐堆出來的,多寫代碼多解決問題自然就感覺簡單了。

第3,學習這事,需要持續堅持。

我it工作10年了,有能力回答好你的問題,具體細節問題我在文章裡都講到了,下圖IT培訓機構那篇文章,應該有你要的答案,加油我也會定期更新技術文章,歡迎來關注交流學習。




程序汪汪


高考難不難?

英語難不難?

面試難不難?

考駕照難不難?

。。。

諸如此類的問題有好多好多,難還是不難,只有自己嘗試過才知道。

羅列一些黑馬程序員java基礎知識點,有需要的小夥伴可以收藏一下。

Java基礎

JVM(Java Virtual Machine ):Java虛擬機,簡稱JVM,是運行所有Java程序的假想計算機,是Java程序的運行環境,是Java 最具吸引力的特性之一。

JRE (Java Runtime Environment) :是Java程序的運行時環境,包含 JVM 和運行時所需要的 核心類庫 。

JDK (Java Development Kit):是Java程序開發工具包,包含 JRE 和開發人員使用的工具。

標識符:是指在程序中,我們自己定義內容。比如類的名字、方法的名字和變量的名字等等,都是標識符。

命名規則: 硬性要求

標識符可以包含 英文字母26個(區分大小寫) 、 0-9數字 、 $(美元符號) 和 _(下劃線) 。

標識符不能以數字開頭。

標識符不能是關鍵字。

命名規範: 軟性建議

類名規範:首字母大寫,後面每個單詞首字母大寫(大駝峰式)。

方法名規範: 首字母小寫,後面每個單詞首字母大寫(小駝峰式)。

變量名規範:全部小寫。

關鍵字:是指在程序中,Java已經定義好的單詞,具有特殊含義。

常量:是指在Java程序中固定不變的數據。

註釋:就是對代碼的解釋和說明。其目的是讓人們能夠更加輕鬆地瞭解代碼。為代碼添加註釋,是十分必須要的,它不影響程序的編譯和運行。(強烈建議任何時候寫的的代碼都要寫上註釋,養成良好的開發習慣)

Java的數據類型分為兩大類:

基本數據類型:包括 整數 、 浮點數 、 字符 、 布爾 。

引用數據類型:包括 類 、 數組 、 接口 。

其餘的全部都是引用類型。在JAVA代碼中:Java程序中要求參與的計算的數據,必須要保證數據類型的一致性,如果數據類型不一致將發生類型的轉換。

分為兩種情況:自動轉換:自動轉換將 取值範圍小的類型 自動提升為 取值範圍大的類型 。(JAVA自動執行)

強制轉換: 將取值範圍大的類型 強制轉換成 取值範圍小的類型 。(手動執行)

強烈注意

浮點轉成整數,直接取消小數點,可能造成數據損失精度。

int 強制轉成 short 砍掉2個字節,可能造成數據丟失。

JAVA中的運算符:

算術運算符:+ - * / % ++ --

注意:

++ 運算,變量自己增長1。反之, -- 運算,變量自己減少1,用法與 ++ 一致。

獨立運算時 前++和後++ 一樣;

混合運算時,前++先加後用,後++先用後加

+ 符號在字符串中的操作:

+ 符號在遇到字符串的時候,表示連接、拼接的含義。

"a"+"b"的結果是“ab”,連接含義

賦值運算符:= += -= *= /= %=

注意 :

只有變量才能使用賦值運算符,

常量不能使用 符合賦值運算符中隱藏著一個強制類型轉換

比較運算符:>= <= == != > <

注意:

== 比較的是地址值

比較運算符結果一定是boolean值 不是true就是false

比較運算符不能連載寫: 比如我們數學中的【1<2<3】 在java中這是錯誤寫法

邏輯運算符包括:

&& 短路與

1. 兩邊都是true,結果是true

2. 一邊是false,結果是false

短路特點:符號左邊是false,右邊不再運算

|| 短路或

1. 兩邊都是false,結果是false

2. 一邊是true,結果是true

短路特點: 符號左邊是true,右邊不再運算

! 取反

1. ! true 結果是false

2. ! false結果是true

邏輯運算符,是用來連接兩個布爾類型結果的運算符,運算結果都是布爾值 true 或者 false

三元運算符:數據類型 變量名 = 布爾類型表達式?結果1:結果2

布爾類型表達式結果是true,三元運算符整體結果為結果1,賦值給變量。

布爾類型表達式結果是false,三元運算符整體結果為結果2,賦值給變量。

三元運算有時可以代碼更加簡潔,優秀

方法就是對已有功能的抽取(切記方法必須是挨著不能進行嵌套,靜態方法只能調用靜態方法,不能直接調用非靜態方法)

方法的重載(Overload):多個方法的名稱一樣,但是參數列表不一樣。

好處:只需要記住唯一一個方法名稱,就可以實現類似的多個功能。

方法的三種調用格式:打印調用,賦值調用,單獨調用

方法重載與下列因素相關:

1. 參數個數不同

2. 參數類型不同

3. 參數的多類型順序不同

方法重載與下列因素無關:

1. 與參數的名稱無關

2. 與方法的返回值類型無關

數組:是一種容器,可以同時存放多個數據值

特點:

1.是一種引用數據類型

2.數組當中的多個數據,類型必須統一

3.數組的長度在程序運行期間不可改變

兩種常見的初始化方式:

1.動態初始化(指定長度) 數據類型 [] 數組名 = new 數據類型[數組長度];

2.靜態初始化(指定內容,會根據元素個數來確定數組長度)

(標準格式)數據類型 [] 數組名 = new 數據類型[]{元素1,元素2,...};

(省略模式)數據類型 [] 數組名 = {元素1,元素2,...};

注意:1.靜態初始化沒有直接計算長度,但仍然會自動推算得到長度。

2.靜態初始化標準格式可以拆分為兩個步驟

3.動態初始化也可以拆分為兩個步驟

4.靜態初始化一旦使用省略格式,就不能拆分為兩個步驟了。

建議:1.不確定數組中的具體內容用動態,否則用靜態

直接打印數組名稱,得到數組對應的:內存地址哈希值

動態初始化數組,元素會有一個默認值,規則如下:

整數類型 默認 0

引用類型 默認 null

布爾類型 默認 false

字符類型 默認 \\u0000

浮點類型 默認 0.0




程序猿運營喵


IT行業一直以來被認為是高薪行業,吸引了越來越多的人加入這個行業,其中不乏很多零基礎想要學習的朋友。如何零基礎學Java?是很多初學者都會面臨的問題,大多數零基礎想要學習Java的都是希望找一個高薪的工作,那麼必然就要知道作為一名Java工程師需要達到什麼標準所以你的首要方向就是在各種招聘網站上看一下招聘信息,這就是你學習的目標。其次就是要系統化的學習了,至於如何學習,可以參考千鋒小編的方法。

第一,必須有一個老師給自己講解,帶著學習,這樣首先是可以少走很多的彎路,不至於一個小小的問題,就困擾了一天的時間,可能明白人的一句話你就明白,但是自己想可能需要一天的時間,或許最後還是搞不懂。

第二,需要有一個明確而且系統的學習規劃,比如你今天學習什麼內容,而且今天學習的內容跟著什麼案例練習,如果你學習Java只是看看免費視頻,那我勸你還是不要浪費時間,必須跟著大量的案例,反覆練習,對於一個知識點才可以真正的掌握。

第三,一個明確的Java學習路線圖,分為四個大階段,每一個階段有相應的學習時間。千鋒小編給大家的建議是學習半年的時間,半年的學習時間恰到好處,不多不少。對於Java的每一個階段的知識點都可以掌握的不錯。

第四,要不斷的複習前面所學到的東西,比如在最開始的學習HTML+CSS,但是可能由於長時間的不練習,等你學到最後的時候就要忘記。子曰:溫故而知新。

第五,無論是學什麼東西,一定要有目標感。比如我們學習Java,為啥要學習Java非常重要;比如說我學習Java就是為了高薪;或者說我學習Java就是為了三年之後可以升級到項目主管,5年幹到架構師,這點非常重要。

在學習的過程中有一個老師講解,有大量的案例練習,還有明確的學習路線,這些自學是達不到的。想要在短時間內就學有所成,可以來千鋒Java培訓課程堅持稀有的全程面授課程,大牛講師通過四大課程階段,帶領學員把Java語言學到不可思議的高度。並在畢業前夕為學員安排模擬面試環節,讓學員在真正的面試過程中可以充分的發揮自身的優勢,成為一名上崗即用的JAVA開發工程師。


分享到:


相關文章: