<em id="0a85b"><option id="0a85b"></option></em>

<abbr id="0a85b"></abbr>

      <nobr id="0a85b"></nobr>
        <tr id="0a85b"></tr>
        9久久伊人精品综合,亚洲一区精品视频在线,成 人免费va视频,国产一区二区三区黄网,99国产精品永久免费视频,亚洲毛片多多影院,精品久久久无码人妻中文字幕,无码国产欧美一区二区三区不卡
        學習啦>學習方法>通用學習方法>學習經驗>

        學習java怎么開始

        時間: 威敏1027 分享

          Java語言的學習開始,很多同學不知道從哪入手?下面學習啦小編收集了一些關于開始學習Java方法,希望對你有幫助

          從零開始學Java方法

          1明確面向對象的范疇

          我們必須明確一個大方向,也就是說現在面向對象的編程范疇。盡管人工智能曾經有所浪潮(看看Borland為什么有Turbo Prolog),但未來5-10年工業界廣泛承認并接受的將是面向對象式的編程。

          工業界目前最流行的面向對象編程語言就是C++和Java。所以基本上鎖定這兩個方向就可以了。而且完全可以同時掌握。

          2掌握Java的精華特性

          掌握Java的精華特性的同時,一定要知道為什么。比如,Interface和multi-thread。用interface是更好的多繼承的模型,而多線程則是設計到語言一級的重要特性。要完全理解interface是為什么,用多線程又有幾種常用的編程模型。

          3開始進行設計

          理解了語言的特性是為什么了之后,就可以試著上升到設計這個層次,畢竟學習語言是要用的。目前比較好的開發模式是采用自定向下的面向對象的設計,加上MVC的模式(你可以看一下我介紹的關于MVC的內容)。首先要找出最頂層的對象(這往往是最難的),然后一層一層往下遞歸,記住每次應符合7+/-2的原則,因為我們人的短記憶就是這樣。一般有圖形用戶界面的應從界面開始設計。

          4學習設計模式

          有了基本設計模型后,可以學一些設計模式(Design Pattern)。這是目前證明很有效的。比如體系結構模式(Layering分層,Pipe/Filter管道或過濾器),設計模式(有很多,比如對象池Object Pool、緩沖池Cache等),編程模式(比如Copy-on-Write)。

          懂了這些模式之后,就會對系統的整體結構有很好的把握,而學術上也有傾向一個系統完全可以由各種模式組合而成。前面提到的MT實際上就有好幾種模式,掌握后就不用自己花很多時間去試了。另外一個很重要的領域就是并行和分布式計算領域,大概有20種左右。

          5進行編程實踐

          接下來就不能紙上談兵了,最好的方法其實是實踐。一般教科書上的例子并不能算是實踐,只能算是讓你掌握語言特性用的。而提倡做實際的Project也不是太好,因為你還沒有熟練的能力去綜合各種技術,這樣只能是你自己越來越迷糊。

          我認為比較好的方法是找一些比較經典的例子,每個例子比較集中一種編程思想而設計的,比如在我的實踐當中,我曾經學習過一個很經典的例子就是用Java實現的HotDraw(源自SmallTalk),你可以用rolemodel或hotdraw在搜索引擎上找一下,我記不大清楚了。好象 是個網站,上面有原代碼和一些基本設計的文檔。

          另一個來源可以到 是個不錯的文檔基地。從HotDraw上我學到了什么是Framework,以及如何用rolemodel的方式來構造,這樣我就可以應用到其他的地方。順便說一句,這個例子你絕對不會覺得小,只會覺得大,并且他還是真正的商用的Framework。

          6學習修改經典例子

          結合前面學到的設計模式你就可以很好的理解這些經典的例子。并且自己可以用他來實現一些簡單的系統。如果可以對他進行進一步的修改,找出你覺得可以提高性能的地方,加上自己的設計,那就更上一個層次了,也就會真正地感到有所收獲。

          好象以上談的跟Java沒什么關系,其實我們早就應該從單純的學習語言到真正的學習好編程的領域。學習技術是沒有止境的,你學習第一種語言可能要半年時間,以后每種語言都不應該超過兩個月,否則你會覺得學習語言是包袱,是痛苦。

          7學以致用

          學習是為了用的,是為了讓你的程序產生價值,把握住這個原則會比較輕松點。

          Java學習的20個常見誤區與細節

          1. true、false和null在IDE中雖然以不同的顏色顯示,但是并不是關鍵字,而是“字面常量”,就和String類型的abc一樣。

          2. String類是非可變類,其對象一旦創建,就不可銷毀。String類那些看似修改字符序列的方法實際上都是返回新創建的String對象,而不是修改自身對象。

          3. 由于String對象是不可改變的,因此具有線程安全性,可以自由地實現共享。

          4. 在String類內部,是使用一個字符數組(char[])來維護字符序列的。String的最大長度也就是字符數組的最大長度,理論上最大長度為int類型的最大值,即2147483647.在實際中,一般可獲取的最大值小于理論最大值。

          5. 在Java中,數組也是類,數組聲明的引用變量指向數組類型的對象。

          6. Unicode碼使用16位字符編碼,在Java中用char類型來表示?,F在Unicode已經擴展到一百萬個字符,超出16位限制的成為增補字符。所有增補字符都不能用字符常量來表示。

          7. 當short,byte,char參加運算時,結果為int型,而非與較高的類型相同。如果變量是byte,short,char類型,當對其賦予編譯時期的常量,而該常量又沒有超過變量的取值范圍時,編譯器就可以進行隱式的收縮轉換。這種隱式的收縮轉換是安全的,因為該收縮轉換只適用于變量的賦值,而不適用于方法調用語句,即不適用于方法調用時的參數傳遞。

          8. 注意char類型,這是一個無符號類型。因此,char與short或char與byte之間的轉換必須顯示地使用類型轉換。 從byte到char的轉換為擴展收縮轉換,該轉換比較特殊,即先將byte擴展轉換到int,然后再收縮到char。

          9. 在整型數據間的擴展轉換中,如果操作數是char類型(無符號類型),則進行無符號擴展,擴展位為0.如果操作數是byte,short或int(有符號類型),則進行有符號擴展,擴展位為該變量的符號位。

          10. float類型可以保留7~8個有效數字,而double類型可以保留15~16個有效數字,因而當int類型或long類型數值多于double或float地有效數字時,該值的一些最低有效位就會丟失,從而造成精度丟失,這時,就會采用IEEE754最近舍入模式,提取與該整型值最接近的浮點值。盡管整型向浮點型的轉換屬于擴展轉換,但當數值很大或很小(絕對值很大)時,就會產生一定的精度丟失。

          11. 浮點的相除與求余運算不同與整型的相除與求余運算,當除數為0時,浮點運算不會產生ArithmeticException異常。

          12. main()方法在表現行為上,與其他方法基本相同,可以重載,由其他方法調用,繼承,隱藏,也可以拋出異常,帶有類型參數。我們也可以在一個程序中通過反射來調用main方法(或其他方法)。

          13. 當兩個或多個方法的名稱相同,而參數列表不同時,這幾個方法就構成了重載。重載方法可以根據參數列表對應的類型與參數的個數來區分,但是,參數的名稱、方法的返回類型,方法的異常列表與類型參數不能作為區分重載方法的條件。

          14. 構造器是遞歸調用的,子類的構造器會調用父類的構造器,直到調用Object類的構造器為止。

          15. 構造器沒有創建對象,構造器是使用new創建對象時由系統調用的,用來初始化類的實例成員。從順序上說,先是創建對象,然后再調用構造器的。(構造器并沒有產生新的對象)

          16. 默認的構造器不為空,該構造器會調用父類的無參構造器,并可能執行實例成員變量的初始化。所以,默認的構造器至少調用了父類的構造器,它做的工作還可能更多,包括實例變量聲明初始化與實例初始化塊,都是在構造器中執行的。

          17. 當==或!=運算符的兩個操作數的類型一個是基本數據類型,另一個是包裝類引用類型時,將引用類型拆箱轉換為基本數據類型,然后比較兩個基本數據類型的值是否相等。

          18. 接口是完全抽象的設計,不能實例化。使A用new方式創建的借口類型,實際上是創建了一個匿名類,該匿名類實現了接口類型。

          19. 如果兩個接口聲明了相同的變量x,則當某接口同時繼承這兩個接口,或者某類同時實現這兩個接口時,通過簡單名稱訪問會產生編譯錯誤。

          20. 如果兩個接口中聲明了相同名稱的方法m,并且兩個方法沒有構成重載,則當某接口能夠同時繼承這兩個接口,或者某類能夠同時繼承這兩個接口時,必須存在一種方法簽名,使得該簽名同時為兩個m方法簽名的子簽名,并且在方法的返回類型上,必須存在一種類型,使得該類型同時為兩個m方法返回類型的可替換類型。
        猜你感興趣:

        1.如何開始學習java

        2.初學者怎么學習java

        3.初學如何學習好java

        4.學習java如何入門

        5.java編程學習方法有哪些

        學習java怎么開始

        Java語言的學習開始,很多同學不知道從哪入手?下面學習啦小編收集了一些關于開始學習Java方法,希望對你有幫助 從零開始學Java方法 1明確面向對象的范疇 我們必須明確一個大方向,也就是說現在面向對象的編程范疇。盡管人工智能曾經有所
        推薦度:
        點擊下載文檔文檔為doc格式
        3143610 主站蜘蛛池模板: 亚洲一区二区三区高清在线看| 大地资源高清播放在线观看| 2021在线精品自偷自拍无码| 国模精品视频一区二区三区 | 成人白浆一区二区三区在线观看| 国产精品无码AV中文| 国产精品午夜福利资源| 一区二区日韩中文字幕| 久久亚洲精品成人综合网| 色偷偷女人的天堂亚洲网| 欧美日韩在线亚洲二区综二| 国产精品福利自产拍久久| 天天做天天爱夜夜爽女人爽| 国产成人精选视频在线观看不卡| 强奷漂亮少妇高潮伦理| 精品一区二区亚洲国产| 我趁老师睡觉摸她奶脱她内裤| 日韩av一区二区三区在线| 日本欧美大码a在线观看| 国产精品青草久久久久福利99| 在线日韩日本国产亚洲| av无码免费无禁网站| 国产片AV国语在线观看手机版| 久久精品第九区免费观看| 亚洲精品国产免费av| 精品亚洲成av人在线观看| 国产一国产精品免费播放| 大地影院mv高清在线观看免费| 亚洲国产av一区二区| 免费人妻无码不卡中文18禁| 一本久道中文无码字幕av| 麻豆精品久久久久久久99蜜桃| 天堂一区二区三区av| 精品国产一区二区三区2021| 麻豆一区二区三区久久| 深夜国产成人福利在线观看| 97在线视频人妻无码| 国产精品中文一区二区| 国产国语对白露脸正在播放| 亚洲免费观看一区二区三区| 久久精品一区二区日韩av|