本書面向中學生和初學者,書中的內容以基礎語法為主,再導入一些簡單的面向對象基本概念,希望讀者可以通過有趣、多樣的范例程序輕松學會Java程序設計語言。
本書共分7章,內容包括初識Java語言、Java的數據處理、運算符與表達式、條件式流程控制、循環流程控制、數組與字符串、Java的類方法。本書提供完整的范例程序代碼,希望降低初學者學習的障礙。另外,各章結束前也提供了綜合范例程序的練習機會,希望能幫助讀者活用各章所傳授的語法。各章的*后還安排了課后習題,可用于檢驗學習成效。
Java是程序設計入門的*語言之一,也是人工智能邏輯編程類的基礎課程。
本書以基礎語法為主,通過有趣、多樣的范例程序輕松學會Java程序設計語言的基本語法。
各章安排了課后習題,可以檢驗學習成效。
每章*后的綜合范例程序有助于讀者靈活應用Java。
前 言
人工智能技術的未來就是信息技術的未來,而程序設計或稱為編程是學習人工智能技術最重要的基礎工具,從小建立編程邏輯思維,通過編程實踐培養解決問題的能力,是將來人才綜合素質的評估條件之一。程序設計已經列入中學的信息技術課程,即便是非計算機或信息類專業的人才,編程也是必備的基礎能力之一。
Java 是新一代面向對象的高級程序設計語言,具有支持Web的功能,常用于專業級Web 應用的開發和移動應用的開發,并成為企業構建Web 數據庫的最佳開發工具之一。只有當我們具備了邏輯編程的堅實基礎和通過編程實踐來解決問題的能力,才能進一步學習人工智能的知識理論類的課程、應用拓展類課程、創新設計類的課程。
市面上關于Java 程序設計的書琳瑯滿目,主要編寫的內容通常適用于大專院校的程序設計語言課程,這類書的定位不太適合中學生和初學者。而本書編寫的內容則是面向中學生和初學者的,在這種思路的指導下,本書講述的內容以基礎語法為主,再導入一些簡單的面向對象基本概念,希望學習者可以通過有趣、多樣的范例程序輕松學會Java 程序設計語言。
再者,市面上有關Java 的書注重理論講解的偏多,在完整范例程序的考慮上稍顯不足,對初學者而言,需要讓讀者有更多實際動手進行程序設計的機會。因此,本書提供完整的范例程序代碼,希望降低初學者學習的障礙。
另外,各章結束前也提供了綜合范例程序的練習機會,希望能幫助讀者活用各章所傳授的語法。各章的最后也安排了課后習題,可用于檢驗學習成效。
本書非常適合作為學習Java 的入門教材,筆者希望初學者可以通過本書快速學懂Java 程序設計語言,邁出運用功能強大的Java 語言編程的第一步。讀者可以從以下地址(注意區分數字與英文字母大小寫)下載所有范例程序的源代碼、教學PPT 和全程視頻文件:
https://pan.baidu.com/s/1Ejom12HKrEebk3evKz8nmg
也可以掃描右方的二維碼下載,如果下載有問題,或者對本書有任何疑問與建議,請聯系booksaga@126.com,郵件主題為Java 程序設計第一課。
最后,為了便于讀者和同學們在學習中進行討論和交流,編者建立了程序設計第一課討論群(QQ 群),大家可以在群里提出問題互相討論,編者將會對重點問題進行解答。QQ 群號為801630455,也可以直接掃描進群的二維碼加入:
本書主要由趙軍編著,參與本書編寫的人員還有張明、王國春、施妍然、王然等。由于編者水平和經驗所限,書中可能存在疏漏和不足之處,希望得到大家的批評指正。
編 者
2018 年7 月
趙軍,畢業于北京大學計算機系并獲得計算機科學理學碩士學位,在英特爾中國OEM部門擔任高級技術工程師,并于2001年獲得英特爾成就獎。自2003年10月至2007年5月,趙軍擔任工程技術經理、技術市場經理。從2007年6月至2013年6月底,他在產品市場部擔任資深架構經理,技術和產品發言人。
目 錄
第 1 章 Java 語言
1.1 什么是程序設計語言 2
1.1.1 機器語言 2
1.1.2 匯編語言 3
1.1.3 高級語言 3
1.1.4 非過程性語言 4
1.1.5 人工智能語言 4
1.2 面向對象程序設計概念 5
1.3 認識Java 7
1.3.1 Java 的特色與優點 7
1.3.2 Java 環境的下載與簡介 9
1.3.3 JDK 的安裝與設置 9
1.3.4 Eclipse 工作環境 11
1.4 第一個Java 程序 12
1.4.1 程序代碼的編寫 14
1.4.2 程序代碼的編譯與運行 15
1.4.3 程序的調試 16
1.5 Java 程序的基本結構 17
1.5.1 main() 函數 17
1.5.2 System.out.println 函數與注釋 18
1.6 綜合范例程序學生學籍信息的輸出 18
本章重點回顧 19
課后習題 20
第 2 章 Java 的數據處理
2.1 變量與常數 23
2.1.1 變量聲明 23
2.1.2 變量的命名規則 26
2.1.3 常數 27
2.2 基本數據類型 29
2.2.1 整數類型 29
2.2.2 浮點數類型 32
2.2.3 布爾類型 36
2.2.4 字符類型 37
2.3 轉義字符 39
2.4 格式化輸出功能 40
2.4.1 格式化高級輸出的設置 41
2.4.2 從鍵盤輸入數據 45
2.5 數據類型轉換 49
2.6 綜合范例程序 51
本章重點回顧 52
課后習題 53
第 3 章運算符與表達式
3.1 表達式與運算符 56
3.2 賦值運算符 57
3.3 算術運算符 57
3.4 關系運算符 59
3.5 邏輯運算符 61
3.6 遞增與遞減運算符 64
3.7 位運算符 67
3.7.1 位邏輯運算符 67
3.7.2 位位移運算符 69
3.8 復合賦值運算符 71
3.9 條件運算符 73
3.10 運算符優先級 75
3.11 綜合范例程序 78
本章重點回顧 79
課后習題 80
第 4 章條件式流程控制
4.1 流程控制簡介 83
4.2 選擇結構 85
4.2.1 if 條件語句 86
4.2.2 if-else 條件語句 88
4.2.3 if else if 條件語句 92
4.2.4 switch 選擇語句 96
4.3 綜合范例程序1閏年計算器 102
4.4 綜合范例程序2簡易計算器制作 104
本章重點回顧 106
課后習題 106
第 5 章循環流程控制
5.1 for 循環 109
5.2 while 循環 114
5.3 流程跳離指令 120
5.3.1 break 指令 121
5.3.2 continue 指令 122
5.4 綜合范例程序1求解最大公約數 125
5.5 綜合范例程序2密碼驗證器 126
本章重點回顧 128
課后習題 129
第 6 章數組與字符串
6.1 數組簡介 132
6.1.1 一維數組 132
6.1.2 二維數組 137
6.1.3 多維數組 141
6.2 字符與字符串 144
6.2.1 字符聲明 144
6.2.2 創建字符串 145
6.2.3 字符串數組 148
6.3 String 類的常見方法 151
6.4 綜合范例程序1冒泡排序法 153
6.5 綜合范例程序2成績段分布圖的制作 156
本章重點回顧 159
課后習題 160
第 7 章Java 的類方法
7.1 函數的基本概念 162
7.1.1 創建類方法 162
7.1.2 方法的調用 164
7.1.3 參數傳遞方式 167
7.2 數組參數傳遞 169
7.2.1 一維數組的傳遞 169
7.2.2 多維數組傳遞 171
7.3 遞歸函數 175
7.4 Math 類的常見方法 178
7.5 綜合范例程序1漢諾塔游戲 180
7.6 綜合范例程序2萬年歷的設計 182
本章重點回顧 185
課后習題 186
附錄習題答案188