1.java基本應用
知道什麼是JDK跟JRE跟什麼是JVM(能建置環境並執行)
知道J2EE、J2SE、J2ME這三個領域的對象的差異
知道if-else、switch是什麼
知道for、while是什麼
知道String有哪些函式、怎麼切割字串跟組合字串。
知道main的用途與main的參數用法
知道staticmethod怎麼設計
知道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
)
動態規劃(DynamicProgramming)
4.Java進階應用
能用java.text.* 做日期的格式化、數字的格式化
能用java.io.*做文字檔的讀檔、存檔(java.util.Scanner也行)
能用java.lang.Math 做一些數學運算
知道什麼是Jar檔,並瞭解class是能夠被反編譯(de-compile)的。
知道什麼是JDBC ,能對資料庫操作有基本瞭解。
能熟悉使用IDE,減少多餘開發時間在製造錯誤跟重複的行為上。
能瞭解在Object這個基底類別中,toString、equals、hashcode
這三個method扮演什麼樣的角色。
如果說前面是基礎,這部份就是「加值」。
(當然,依領域有不同加值效果。)
這裡面每個領域要學到敢說「精通」,通常都起碼要好幾個月,
所以沒有先後順序關係,純粹是表列而已;當然這裡也需要前
面的基礎。
1.Java高階應用
會利用 java.net.* 處理網路上的溝通
(ex. Socket、ServerSocket,也可以用URL抓抓網頁之類)
會利用javax.swing.* 、java.awt.* (或者SWT)做GUI的處理
瞭解什麼是介面,並能利用介面撰寫程式。
瞭解什麼是Design Pattern,並且能舉出javaapi中
使用Pattern的實例。
能以J2SE基礎切入J2EE的 JSP 網頁應用程式。(有興趣可
再深入J2EE)
能以J2SE基礎編寫J2ME的應用程式(MIDP)
有能力依需求編寫一個以上的Thread,並考慮到Thread-safe
的問題。
2.工具部份
能瞭解 Framework 是什麼,並瞭解目前能見到的Framework
的目標。
能瞭解Ant 這個建立開發的自動化流程的工具