Java學習過程的一些重點(轉)
Java學習過程的一些重點(轉)[@more@] 主要說說Java的幾大塊吧,無法說得很細,因為其實每一塊拿出來都能說很多,我就說一下這幾塊學習的時候的重點或者應該注意的東西。
數值型別:
雖然是物件導向的語言,但是在使用上數值型別還是必不可少的,如果在C的學習中已經掌握了C的數值計算和轉換規則,那我想這裡應該沒有什麼問題,只有兩點需要注意:1、14.0這樣的浮點常量被認為是double型,只有加上f字尾才是float型的;2、整數常量說起來被認為是int型,但是在編譯時,可以認為編譯器將其看作能表示該數的最小數值,因此byte b = 100;不會報錯。
引用型別:
我也是從C/C++轉過來的,其實所謂引用型別在C++中已有體現,就是傳參的時候有一種引用型別,從C來考慮,它就是一個指標,只不過,我們不能對它進行指標上的硬操作。所以這裡的重點是:1、Java裡所有的物件都是在堆中生成的,所以需要類似指標的東西指向它,那就是引用;2、我們透過引用操作的是引用所指向的物件,除了賦值操作外,應該就沒有什麼操作是針對引用本身的了,這一點是C的指標與Java的引用區別所在。
類和物件:
這是一個大塊,有很多東西,不展開講了,就說幾個重點:1、類方法、類屬性與成員方法、成員屬性在載入、初始化、使用上的異同;2、在建構函式中,this()和super()的用法;3、子類的載入過程、初始化過程和構造過程;4、方法的過載和覆寫;5、覆寫所引出的多型問題。(注意:多型之應用在方法上,對屬性沒有作用)
函式呼叫的引數傳遞:
如果把引用型別所記錄的地址值,就看作是引用型別變數的值的話,那麼,Java的所有方法呼叫的時候,都是採用的值傳遞??數值型別傳數值,引用型別傳地址。
IO流:
與C比起來,Java的輸入輸出,尤其是輸入是非常麻煩的,也許是因為出於物件導向的考慮吧?不知道。Java提供了很多的IO流,但是我們並不必將各種IO都搞清楚,我們只需要瞭解位元組流與字元流各有什麼功能,字元流是如何在位元組流之上構造的,幾乎所有的字元流構造的時候都是建立在一個已有的位元組流的基礎上的,並且它的這種設計使得我們可以像套管子一樣,將IO流一節一節套起來,直到得到我們想使用的IO物件(例: BufferedReader的使用)。在我們以後使用的時候,我們可以再去查API,我覺得主要要看的幾個類是:FileReader、 FileWriter、BufferedReader,再配合上System.out物件,對於文字的輸入、輸出來說,就足夠用了,至於其他的,我覺得不考試的話,沒有必要看那麼多,用的時候再看了。(我使用Java一年半來,基本上就在使用BufferedReader和System.out)
容器:
個人認為,這是Java程式設計的一大利器,我最愛用的類是:ArrayList(List)作為可變長陣列、HashMap(Map)用來建立查詢表,Set我很少用,只在HashMap的使用中連帶用過一些。透過對這兩個類的熟悉,能夠將List、Set和Map三大類的基本用法掌握。另外它的幾個輔助類要掌握:Iterator和Collections。Collections類提供容器的一些通用工具,比如排序。而說到排序,就牽扯出了比較器:Comparator。能夠熟練使用Comparator類,可以讓你為自己的需求和自己的類定製排序方案。
AWT和SWING:
個人認為,Java在圖形介面的製作上有著非常好的封裝性,我以前曾經試圖學過MFC,MFC在生成圖形介面的時候會幫助你生成一些程式碼,然後讓你在這些程式碼的指定位置新增程式碼以實現功能,我這個人有個習慣,如果讓我看到了一些東西,那麼我不搞清除為什麼這麼寫,就不會往下走,看到那許多程式碼,自然就想弄清楚那些是什麼,結果引出來好多知識,後來我才知道其中有些是呼叫WinAPI,結果我到現在還是不會用MFC。這裡並不是貶低MFC,我相信MFC有其過人之處,只不過個人認為它的封裝性做得不好,暴露出了太多東西,也許能夠提高靈活性,不過,可能我跟它無緣:(。在這方面Java就做得不錯,給你一個類,你用就是了,它將圖形介面的低層實現隱藏的很好,將其作為一個物件給你,而你只需要在這個物件上修修改改,挺方便的。
作為初學者,我覺得AWT的重點在於它的幾個Listener的用法,還有佈局格式,然後就是那許多的Component的用處和用法。(不過,我覺得,等到用的時候再去找合適的Component進行學習應該也不算太遲 ^_^)
不過,因為我個人使用的原因,所以至今AWT和SWING都用得很少,所以這方面也就不便多說了,抱歉。寫這些並不是告訴大家怎麼解決問題,因為每一個都有很多可寫,只是希望能給初學者一點參考,希望能夠幫助初學者們有的放矢地看書。
數值型別:
雖然是物件導向的語言,但是在使用上數值型別還是必不可少的,如果在C的學習中已經掌握了C的數值計算和轉換規則,那我想這裡應該沒有什麼問題,只有兩點需要注意:1、14.0這樣的浮點常量被認為是double型,只有加上f字尾才是float型的;2、整數常量說起來被認為是int型,但是在編譯時,可以認為編譯器將其看作能表示該數的最小數值,因此byte b = 100;不會報錯。
引用型別:
我也是從C/C++轉過來的,其實所謂引用型別在C++中已有體現,就是傳參的時候有一種引用型別,從C來考慮,它就是一個指標,只不過,我們不能對它進行指標上的硬操作。所以這裡的重點是:1、Java裡所有的物件都是在堆中生成的,所以需要類似指標的東西指向它,那就是引用;2、我們透過引用操作的是引用所指向的物件,除了賦值操作外,應該就沒有什麼操作是針對引用本身的了,這一點是C的指標與Java的引用區別所在。
類和物件:
這是一個大塊,有很多東西,不展開講了,就說幾個重點:1、類方法、類屬性與成員方法、成員屬性在載入、初始化、使用上的異同;2、在建構函式中,this()和super()的用法;3、子類的載入過程、初始化過程和構造過程;4、方法的過載和覆寫;5、覆寫所引出的多型問題。(注意:多型之應用在方法上,對屬性沒有作用)
函式呼叫的引數傳遞:
如果把引用型別所記錄的地址值,就看作是引用型別變數的值的話,那麼,Java的所有方法呼叫的時候,都是採用的值傳遞??數值型別傳數值,引用型別傳地址。
IO流:
與C比起來,Java的輸入輸出,尤其是輸入是非常麻煩的,也許是因為出於物件導向的考慮吧?不知道。Java提供了很多的IO流,但是我們並不必將各種IO都搞清楚,我們只需要瞭解位元組流與字元流各有什麼功能,字元流是如何在位元組流之上構造的,幾乎所有的字元流構造的時候都是建立在一個已有的位元組流的基礎上的,並且它的這種設計使得我們可以像套管子一樣,將IO流一節一節套起來,直到得到我們想使用的IO物件(例: BufferedReader的使用)。在我們以後使用的時候,我們可以再去查API,我覺得主要要看的幾個類是:FileReader、 FileWriter、BufferedReader,再配合上System.out物件,對於文字的輸入、輸出來說,就足夠用了,至於其他的,我覺得不考試的話,沒有必要看那麼多,用的時候再看了。(我使用Java一年半來,基本上就在使用BufferedReader和System.out)
容器:
個人認為,這是Java程式設計的一大利器,我最愛用的類是:ArrayList(List)作為可變長陣列、HashMap(Map)用來建立查詢表,Set我很少用,只在HashMap的使用中連帶用過一些。透過對這兩個類的熟悉,能夠將List、Set和Map三大類的基本用法掌握。另外它的幾個輔助類要掌握:Iterator和Collections。Collections類提供容器的一些通用工具,比如排序。而說到排序,就牽扯出了比較器:Comparator。能夠熟練使用Comparator類,可以讓你為自己的需求和自己的類定製排序方案。
AWT和SWING:
個人認為,Java在圖形介面的製作上有著非常好的封裝性,我以前曾經試圖學過MFC,MFC在生成圖形介面的時候會幫助你生成一些程式碼,然後讓你在這些程式碼的指定位置新增程式碼以實現功能,我這個人有個習慣,如果讓我看到了一些東西,那麼我不搞清除為什麼這麼寫,就不會往下走,看到那許多程式碼,自然就想弄清楚那些是什麼,結果引出來好多知識,後來我才知道其中有些是呼叫WinAPI,結果我到現在還是不會用MFC。這裡並不是貶低MFC,我相信MFC有其過人之處,只不過個人認為它的封裝性做得不好,暴露出了太多東西,也許能夠提高靈活性,不過,可能我跟它無緣:(。在這方面Java就做得不錯,給你一個類,你用就是了,它將圖形介面的低層實現隱藏的很好,將其作為一個物件給你,而你只需要在這個物件上修修改改,挺方便的。
作為初學者,我覺得AWT的重點在於它的幾個Listener的用法,還有佈局格式,然後就是那許多的Component的用處和用法。(不過,我覺得,等到用的時候再去找合適的Component進行學習應該也不算太遲 ^_^)
不過,因為我個人使用的原因,所以至今AWT和SWING都用得很少,所以這方面也就不便多說了,抱歉。寫這些並不是告訴大家怎麼解決問題,因為每一個都有很多可寫,只是希望能給初學者一點參考,希望能夠幫助初學者們有的放矢地看書。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-958147/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java學習過程Java
- 分享一些自己的學習過程和學習方法
- php轉go的一些學習歷程PHPGo
- 我的Java轉型大資料的學習過程和經歷Java大資料
- WSL 中學習 Laravel 過程中的一些配置Laravel
- 如何學習Java? 在學習Java的過程中需要掌握哪些技能?Java
- JAVA儲存過程(轉)Java儲存過程
- memcached的學習過程
- 學習遊戲拆解過程中的一些思考與感悟遊戲
- 學習和使用 Vue 過程中的一些資源分享Vue
- docker學習系列16使用過程的一些經驗總結Docker
- Ajax學習(重點)
- 3個重點,20個函式分析,淺析FFmpeg轉碼過程函式
- 效能優化的過程學習優化
- 學習過程中,專案檔案、程式碼疑惑點
- Mysql 5.7儲存過程的學習MySql儲存過程
- MSP430學習過程
- SQL SERVER 學習過程(一)SQLServer
- 直播系統開發過程中的一些關鍵點
- IT學習過程中看懂=學會嗎?
- 一些JavaSE學習過程中的思路整理(主觀性強,持續更新中...)Java
- Java學習過程中實戰開發經驗重要嗎?Java
- 如何高效學習java課程Java
- MySQL學習 - 查詢的執行過程MySql
- 學習vue過程中遇到的問題Vue
- 走進前端的過程--方向式學習前端
- Laravel 學習過程中用到的工具-20180930Laravel
- 有監督學習——高斯過程
- SpringIOC初始化過程學習Spring
- Javascript Promise學習過程總結JavaScriptPromise
- 重新學習Java的第1天——一些普通的操作和java的一些知識Java
- 記錄下學習使用kratos的過程一
- 學習C過程中的筆記系列-2筆記
- 我的Linux系統開始學習的過程Linux
- java類的建立過程Java
- 物件由生到死的一些過程物件
- Deployer 使用過程的一些問題
- 轉行Java能學會嗎?零基礎學習Java的學習路線Java
- 學習 iOS Application Security 需要注意的一些點iOSAPP