最近在授課過程中,發現了各式各樣學生在學習Java時遇到的問題。有同學會問我:“楊老師,Java可以自學嗎”,這就好像一千個人心中有一千個哈利波特一樣,這個答案不絕對也不唯一,Java在我看來是好學,但自學的確阻力有些大,作爲一門編程類型的技術語言,它所蘊含的智慧絕對不是靠幾本從入門到精通,某某瘋狂講義之類的書所能概括,自學Java你要做好一種英語零基礎達到四級水平的準備,在這裏我簡單說一些自學Java可能遇到的問題,希望會對你的學習有所促進和幫助。
自學Java可能遇到的問題有哪些?
一方面是:對Java瞭解不夠深刻,缺乏靈活應用的本領就好像我們學會了26個英文單詞,但仍舊不能寫出一串正確的句子;
另一方面是:缺乏獨立查找錯誤的能力、這個能力是伴隨所有程序的,無論你有多少豐富的項目經驗,你必須能寫代碼,還能發現bug並且能夠解決這個bug,對於自學者而言因爲沒有基礎的沉澱,對Java各種編程屬性的不瞭解,往往會遇到“能正着寫,卻不能倒着推”的思想習慣。在平時我們更多是三分時間寫代碼、七分時間找bug,同時也將我們的學習或者工作效率大打折扣。
耗盡了所有的耐力,學到這裏纔是Java課程的基礎, 你可能用了3個月、5個月甚至更久才勉強消化這些知識,對以後學好框架幾乎成了奢望。所以自學Java還是一種奢望,現在生活的誘惑越來越大,自學Java或者死記爛背代碼只會浪費時間,最後還會成爲徒勞,什麼都學習不會。
很多學生和零基礎朋友們想要學習Java的同學都會面臨一個問題,那就是Java課程知識點多而雜,面對龐大而複雜的Java學習體系不知從何下手。所以在這裏楊老師進行整理了一份Java的學習路線體系圖給那些想要自學的新手,希望你一步一個腳印把基礎打好。
第一階段:Java基礎語法
1開發環境搭建
1、計算機編程及開發語言
2、常用的DOS命令和操作
3、Java跨平臺原理
4、JDK的安裝於卸載
5、配置環境變量
2Java基本語法
1、Java開發基本語法和編程規範
2、常量與變量
3、數據類型
4、運算符
3選擇結構
1、if
2、switch
4循環結構
1、while
2、do-while
3、for
4、for-each
5方法
1、語法結構和特點
2、返回值類型
3、方法重載
4、可變參數
6數組
1、數組的聲明與創建
2、數組的基本使用
3、遍歷數組
4、多維數組
5、打印、搜索、排序
6、Arrays工具類
本階段主要是編程規範與思路的培養;掌握基本的邏輯算法;熟悉Java底層的一些語法規定。
第二階段:面向對象編程思想
1類與對象
1、面向對象編程思想
2、類和對象的基本概念
3、構造方法
2包
1、包的作用
2、包的定義
3、包的導入
3面向對象特點
1、封裝
2、繼承
3、多態
4抽象類與接口
1、抽象方法
2、抽象類
3、接口
5其它
1、static-this-super【關鍵字】
2、final
3、訪問權限修飾符
4、代碼塊
5、內部類
6、枚舉
7、設計模式
此階段主要是培養面向對象編程思想;熟悉面向對象編程相關語法;
第三階段:GUI-圖形界面編程-項目實戰
1MyEclipse或Eclipse工具
1、MyEclipse或Eclipse的安裝與使用
2、MyEclipse或Eclipse中的常用快捷鍵
3、MyEclipse或Eclipse上插件的安裝
2AWT與SWING
1、AWT與SWING的區別
2、常用組件
3、佈局模式
4、事件監聽機制
3項目實戰
1、圖形界面編程的思路與流程
2、需求分析
3、原型設計
4、編碼實現
5、測試
6、發佈
次階段主要是爲以後項目實戰打下基礎,能夠設計出企業應用所需要的實體類、工具類、模板、接口等基礎部分。
第四階段:高級進階
1異常
1、異常機制
2、異常體系
3、處理異常方式
4、自定義異常
2常用類
1、字符串相關類
2、日期相關類
3、數學算法相關
4、系統相關類
5、隨機數
3多線程
1、多線程的創建與啓動
2、線程同步
3、線程通信
4、線程池
5、定時器
4集合框架
1、數據結構
2、List/Set/Map
3、Collection/Collections/Properties
4、迭代器
5、比較器
5IO流
1、File文件
2、IO流操作的多種分類和方式
3、方法遞歸調用
4、正則表達式
6網絡編程
1、IP/端口/URL等網絡基礎
2、HTML編碼解碼工具
3、TCP/UDP網絡協議
7反射機制
1、反射的概念
2、各種Class實例的獲得方式
3、Constructor/Field/Method
學完上面這些知識便能夠使用Java提供的基本功能,結合Swing編程做一些桌面應用程序及遊戲,如:貪吃蛇、俄羅斯方塊、打飛機、推箱子、棋牌類遊戲、模擬開發類似Editplus或者NotePad++的小型編輯器等。趕緊去動動手指嘗試一下吧。