本書收錄了與程式設計基礎知識相關的30個問題。它們是大部分初次接觸編程的讀者共有的問題。這些問題的答案並不複雜,但是消化吸收它們卻不是一個簡單的過程。這需要讀者培養計算思維,學習從程式的視角看問題。當你可以回答本書所有的問題時,相信你已經越過了程式設計的第一道門檻。 本書分為6部分,分別是:入門學堂、記憶體模型、初窺算法、面向對象、認識程式、編程之道。在入門學堂這部分中,主要介紹程式設計最基礎的知識,例如如何編寫第一個Java程式、第一個C++程式,學習調試程式等。在記憶體模型這部分中,我們將學習指針、引用、棧和堆、參數傳遞等記憶體相關的知識。初窺算法部分圍繞基礎的數據結構和算法展開,如鍊表、遞歸算法、搜尋算法等。
出版信息,內容簡介,作者,目 錄,
出版信息
程式設計師修煉之道——程式設計入門30講
作者:呂雲翔、傅義
定價:69.50元
印次:1-1
ISBN:9787302499282
出版日期:2018.07.01
印刷日期:2018.06.13
定價:69.50元
印次:1-1
ISBN:9787302499282
出版日期:2018.07.01
印刷日期:2018.06.13
內容簡介
本書收錄了與程式設計基礎知識相關的30個問題。它們是大部分初次接觸編程的讀者共有的問題。這些問題的答案並不複雜,但是消化吸收它們卻不是一個簡單的過程。這需要讀者培養計算思維,學習從程式的視角看問題。當你可以回答本書所有的問題時,相信你已經越過了程式設計的第一道門檻。 本書分為6部分,分別是:入門學堂、記憶體模型、初窺算法、面向對象、認識程式、編程之道。在入門學堂這部分中,主要介紹程式設計最基礎的知識,例如如何編寫第一個Java程式、第一個C++程式,學習調試程式等。在記憶體模型這部分中,我們將學習指針、引用、棧和堆、參數傳遞等記憶體相關的知識。初窺算法部分圍繞基礎的數據結構和算法展開,如鍊表、遞歸算法、搜尋算法等。
作者
呂雲翔:
1986-1992: 北方交通大學講師;
1992-1994: 比利時VUB大學套用信息技術碩士;
1994-1996: 比利時VUB大學MBA;
1996-2003: IT公司項目經理
2003-至今: 北航軟體學院副教授。
目 錄
一、入門學堂 1
1. #include, using namespace std, int main 分別是什麼意思?我的 第一個C程式 1
2. import, public static void main, String[] args分別是什麼意思? 我的第一個Java程式 5
3. 什麼是數據類型? 9
4. 如何閱讀項目源碼? 14
5. 如何調試程式? 16
二、記憶體模型 24
6. 變數和對象存儲在哪裡?理解棧和堆 24
7. 什麼是stackoverflow異常? 30
8. 指針究竟是什麼? 34
9. Java中的引用與C中的指針有什麼區別? 39
10. 為什麼C++中new之後要delete,Java中卻不需要? 42
11. 明明是值傳遞,可對象為什麼發生了變化? 48
三、初窺算法 51
12. 如何編寫鍊表? 51
13. 從斐波那契到漢諾塔,如何編寫遞歸算法? 56
14. 從深度優先到廣度優先,如何編寫搜尋算法? 61
15. 什麼是位運算?位運算究竟有什麼用? 67
四、面向對象 74
16. 為什麼要編寫類?這么做是不是使問題更複雜了? 74
17. 組合還是繼承?如何選擇? 81
18. 為什麼靜態方法不能調用非靜態成員? 90
19. Java為什麼不支持多繼承? 94
20. 為什麼要定義接口?接口有什麼用? 97
五、認識程式 105
21. Java中的異常處理機制有什麼優點? 105
22. throws還是try…catch?異常處理原則 109
1. #include, using namespace std, int main 分別是什麼意思?我的 第一個C程式 1
2. import, public static void main, String[] args分別是什麼意思? 我的第一個Java程式 5
3. 什麼是數據類型? 9
4. 如何閱讀項目源碼? 14
5. 如何調試程式? 16
二、記憶體模型 24
6. 變數和對象存儲在哪裡?理解棧和堆 24
7. 什麼是stackoverflow異常? 30
8. 指針究竟是什麼? 34
9. Java中的引用與C中的指針有什麼區別? 39
10. 為什麼C++中new之後要delete,Java中卻不需要? 42
11. 明明是值傳遞,可對象為什麼發生了變化? 48
三、初窺算法 51
12. 如何編寫鍊表? 51
13. 從斐波那契到漢諾塔,如何編寫遞歸算法? 56
14. 從深度優先到廣度優先,如何編寫搜尋算法? 61
15. 什麼是位運算?位運算究竟有什麼用? 67
四、面向對象 74
16. 為什麼要編寫類?這么做是不是使問題更複雜了? 74
17. 組合還是繼承?如何選擇? 81
18. 為什麼靜態方法不能調用非靜態成員? 90
19. Java為什麼不支持多繼承? 94
20. 為什麼要定義接口?接口有什麼用? 97
五、認識程式 105
21. Java中的異常處理機制有什麼優點? 105
22. throws還是try…catch?異常處理原則 109