Re: [問題] 關於Java自學?

看板java作者 (骨頭)時間17年前 (2008/06/09 18:11), 編輯推噓9(906)
留言15則, 9人參與, 最新討論串2/2 (看更多)
※ 引述《Jabemin (踏穩每一步~~~~)》之銘言: : 情況是這樣子 : 因為之前對寫程式還蠻有興趣的...有去修過外系Java的課(我非資訊本科) : 那時候我買了一本"Java2-全方位學習(朱仲傑)"回來自讀 : 這本書挺厚的..裡面大都文字敘述..講觀念居多..範例程式相對較少.. : 以致於觀念上雖足以應付考試...不過程式寫起來還是半調子..囧 : 之後看了網路上的推薦..又去買了"Java-How to program(螞蟻本第三版)" : 但之後因為沒再修課..且工作上又用不到..所以這本書已塵封許久... 有興趣有心情就拿起來念, 很多基礎觀念不是只有寫程式就會知道的。 : ================================================================== : 時間拉回到現在...因為今年度有考上資訊相關的研究所 : 想利用開學前的暑假期間好好把程式加強一番,把基礎打穩! : 所以想請教版上的前輩... :     若利用二個月時間來自學Java的話,目標和方向怎麼定比較好? : 因為之前考試的時候有也用到 C 在寫程式,所以對於一些程式的基本概念都有 : 但因為有學長建議我可以先學Java試試看,且手邊Java的參考書籍也較多 : 所以選擇上就以Java為主要目標. : 而書的部份我要怎麼使用比較好,目前我只對物件導向稍微有概念而已.. : 所以針對螞蟻本的話..以兩個月來學我應該把重點放在什麼地方? 不管用什麼書,重要的還是你現在會到什麼內容, 然後去找出自己不足的地方,再多做加強。 首先,你要先建立一下自我檢查量表, 我簡單憑記憶列個表看看你可以達到什麼地步。 (按照可能的接觸的順序排列) 這張表還蠻主觀的,各位版友有興趣可以互相交流一下。 #基本應知的東西,裡面不知道的東西趕快先去學一學。 1.java基本應用 知道什麼是JDK跟JRE跟什麼是JVM(能建置環境並執行) 知道J2EE、J2SE、J2ME這三個領域的對象的差異 知道if-else、switch是什麼 知道for、while是什麼 知道 API Document的使用方法(http://0rz.tw/ee0jy) 知道String有哪些函式、怎麼切割字串跟組合字串。 知道main的用途與main的參數用法 知道static method怎麼設計 知道class跟instance method怎麼設計 知道Classpath是什麼,能引用第三方的套件。(通常是jar檔) 知道什麼是IDE,並瞭解IDE提供開發流程中哪些協助,扮演什麼角色。 2.資料結構基礎 知道什麼是Array 知道什麼是List (ArrayList、LinkedList) 知道什麼是Map (HashMap、TreeMap的不同點?) 知道如何瀏覽Map及其他Collection的瀏覽法(iterator()) 選配: Stack跟Queue還有Set比較偏概念,Set可能會比較常用, 他的不重複概念還蠻好用的,建議是知道一下大概是做什麼用, 3.演算法基礎 知道什麼是演算法 有時間複雜度的概念 有空間複雜度的概念 知道什麼叫遞迴 (實務上偶爾會有機會用到) 對基本的演算法有一定瞭解 基本排序法(buble、selection、insertion、quick、merge) 動態規劃(Dynamic Programming) 4.Java進階應用 能用java.text.* 做日期的格式化、數字的格式化 能用java.io.* 做文字檔的讀檔、存檔 (java.util.Scanner也行) 能用 java.lang.Math 做一些數學運算 知道什麼是Jar檔,並瞭解class是能夠被反編譯(de-compile)的。 知道什麼是 JDBC ,能對資料庫操作有基本瞭解。 能熟悉使用IDE,減少多餘開發時間在製造錯誤跟重複的行為上。 能瞭解在Object這個基底類別中,toString、equals、hashcode 這三個method扮演什麼樣的角色。 ──────────────────────────────── 清單可能有缺,不過不會少, 以上是我個人敢跟別人說「我會 Java 基礎」的list, 或者是別人跟我說他會寫Java,我會預期他具備的基礎。 我是覺得要完成上面那些list,以新手來講一兩個月差不多就過去了, 除非你環境條件很好(你名義老闆在你後面,他非常趕。)逼著你往下學。XD ──────────────────────────────── 再下面是一些我覺得學到目前為止,值得努力的目標。 如果說前面是基礎,這部份就是「加值」。 (當然,依領域有不同加值效果。) 這裡面每個領域要學到敢說「精通」,通常都起碼要好幾個月, 所以沒有先後順序關係,純粹是表列而已;當然這裡也需要前面的基礎。 1.Java高階應用 會利用 java.net.* 處理網路上的溝通 (ex. Socket、ServerSocket,也可以用URL抓抓網頁之類) 會利用 javax.swing.* 、 java.awt.* (或者SWT)做GUI的處理 瞭解什麼是介面,並能利用介面撰寫程式。 瞭解什麼是 Design Pattern,並且能舉出java api中 使用Pattern的實例。 能以J2SE基礎切入J2EE的 JSP 網頁應用程式。(有興趣可再深入J2EE) 能以J2SE基礎編寫J2ME的應用程式(MIDP) 有能力依需求編寫一個以上的Thread,並考慮到Thread-safe的問題。 2.工具部份 能瞭解 Framework 是什麼,並瞭解目前能見到的Framework的目標。 能瞭解 Ant 這個建立開發的自動化流程的工具 我目前所能想到的清單大概就這樣,如有不合理之處, 各位業界先輩請不吝幫小弟更正。^^;; : ====================================================================== : 以上,不好意思,問題有點多,這算是長久累積下來的問題... : 畢竟之前學習上並沒有連貫性,學程式是興趣但用不到的話真的很容易斷掉.. : 最後我想再請問一下..針對 C 語言和 Java而言,這兩者能做的工作有何不同? : 我知道 C 比較近硬體,Java感覺博大精深,因為我目前都只懂皮毛而已... : 無法得知兩者之後的發展性和差異性? 也請有經驗的前輩告知...感激不盡! 其實所謂博大精深,都是建立在長久使用經驗上, 講白話點就是只要下功夫,什麼都可以博大精深。 如果你著重的是快速開發各種程式,Java也不一定是首選, 還有ruby、python之類的程式可以學。 而且現在當紅的web竄起,以工作為考量又不想走硬體或韌體的話, asp.net、php、J2EE其實都很值得考慮。 對我來會用Java的理由,純粹是因為它是我第一個程式母語, 而且我不會C/C++,只會Java VB C#, 跟其他兩樣比起來我比較喜歡Java而已。(汗) 由於接觸過兩種以上語言的關係,我個人是覺得語言不需要自我設限, 重點是有沒有學語言的時間、環境、條件跟需要。 -- 個人認為需求是最重要的,當然這應該跟我主要涉入 SOHO市場, 常常有機會去嚐試不同的語言有關。 --  ▄▅▆▇███▇▆▅▄▃        ╰┼╯─╮ ╮         ◥███████████◣       ╰┼╯=│=│         ◥██████───────    *. ╯  ╯ ╯ の 物 語 .*  ◥███████──────◣ ~ ◢◣             ◢◣  ◥██████───────◤   ◥◤  空白的世界.翼 ◥◤  ◥██▁▂▃▄▅▆▇███▆▅▄▃▂▂telnet://tony1223.no-ip.info -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.134.27.68 ※ 編輯: TonyQ 來自: 220.134.27.68 (06/09 18:18)

06/09 18:53, , 1F
冏... 你有這麼欠 P 幣嘛?
06/09 18:53, 1F

06/09 19:01, , 2F
心血來潮啊...有討論總是好事...(我P幣都拿來買信箱=.=)
06/09 19:01, 2F

06/09 19:25, , 3F
當個版主就用不完了... 誰叫你不來當 [指]
06/09 19:25, 3F

06/09 19:27, , 4F
我比較好奇 有這樣能力的TonyQ大大 所領的薪水會是多少 :P
06/09 19:27, 4F

06/09 20:03, , 5F
知道歸知道 裡面我也還沒做到全部 XD
06/09 20:03, 5F

06/09 20:05, , 6F
目前還是學生不敢說自己有能力,只能說還在學習。:)
06/09 20:05, 6F

06/09 20:32, , 7F
同為學生的我 我很佩服你
06/09 20:32, 7F

06/09 20:32, , 8F
感謝T大...這樣學習上會比較有架構..
06/09 20:32, 8F

06/09 20:41, , 9F
一起努力吧!我也還在向版上幾位強者像Q老大或者Koji學長等
06/09 20:41, 9F

06/09 20:45, , 10F
看齊^^;; 另外,技術不會比解決問題比較有價值...^^;;
06/09 20:45, 10F

06/09 21:19, , 11F
推Tony大,之前也問過一些問題,感謝
06/09 21:19, 11F

06/10 02:23, , 12F
推一個
06/10 02:23, 12F

06/10 09:34, , 13F
版主很好賺嗎!?~~不過我覺得介面真的很難寫.....
06/10 09:34, 13F

06/10 09:43, , 14F
感謝Tony大大,雖然我不是新手,但是看了你的文章也可以檢
06/10 09:43, 14F

06/10 09:45, , 15F
視自己到底會了什麼,有沒有資格說自己會java,感恩哦^_^
06/10 09:45, 15F
文章代碼(AID): #18JG7A5I (java)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
文章代碼(AID): #18JG7A5I (java)