《Java從入門到精通(精粹版)》以零基礎(chǔ)講解為宗旨,用實例引導讀者學習,深入淺出地介紹了Java的相關(guān)知識和實戰(zhàn)技能。
《Java從入門到精通(精粹版)》第Ⅰ篇【基礎(chǔ)知識】主要講解Java開發(fā)環(huán)境搭建、Java程序要素、常量、變量、數(shù)據(jù)類型、運算符、表達式、語句、流程控制、數(shù)組、枚舉、類、對象以及方法等;第Ⅱ篇【核心技術(shù)】主要介紹類的封裝、繼承、多態(tài)、抽象類、接口、Java常用類庫以及異常的捕獲與處理等;第Ⅲ篇【高級應用】主要介紹多線程、文件I/O操作、GUI編程、數(shù)據(jù)庫編程、Java Web、常用設(shè)計框架以及Android編程基礎(chǔ)等;第Ⅳ篇【項目實戰(zhàn)】主要介紹智能電話回撥系統(tǒng)、飯票網(wǎng)以及Hadoop下的數(shù)據(jù)處理等。
《Java從入門到精通(精粹版)》提供了與圖書內(nèi)容全程同步的教學錄像。此外,還贈送了大量相關(guān)學習資料,以便讀者擴展學習。
《Java從入門到精通(精粹版)》適合任何想學習Java的讀者,無論您是否從事計算機相關(guān)行業(yè),是否接觸過Java,均可通過學習本書快速掌握Java的開發(fā)方法和技巧。
本書特色
*零基礎(chǔ)、入門級的講解
無論讀者是否從事計算機相關(guān)行業(yè),是否接觸過Java,是否使用Java開發(fā)過項目,都能從本書受益。
*實用、專業(yè)的范例和項目
本書結(jié)合實際工作中的范例,逐一講解Java的各種知識和技術(shù),還以世紀開發(fā)項目來總結(jié)本書所學內(nèi)容,幫助讀者在實戰(zhàn)中掌握知識,輕松擁有項目經(jīng)驗。
*隨時監(jiān)測自己的學習成果
每章首頁給出了本章要點,以便讀者明確學習方向。每章的實戰(zhàn)練習則根據(jù)所在章的知識點精心設(shè)計而成,讀者可以隨時自我檢測,鞏固所學知識。
*細致入微、貼心提示
本書在講解過程中使用了提示注意技巧等小欄目,幫助讀者在學習過程中更清楚地理解基本概念、掌握相關(guān)操作,并輕松獲取實戰(zhàn)技巧。
海量學習資源免費贈送
*Java和Oracle項目實戰(zhàn)教學錄像
*Java SE類庫查詢手冊
*Eclipse常用快捷鍵說明文檔
*Eclipse提示與技巧電子書
*Java常見面試題
*Java常見錯誤及解決方案
*Java開發(fā)經(jīng)驗及技巧大匯總
*Java程序員職業(yè)規(guī)劃
* Java程序員面試技巧
張玉宏,工學博士,科普作家,阿里云云棲社區(qū)認證專家、專欄作家,《品味大數(shù)據(jù)》作者, IEEE會員, ACM會員, CCF會員。2012 年畢業(yè)于電子科技大學,20092011 年在西北大學做訪問學者,現(xiàn)執(zhí)教于河南工業(yè)大學。主要研究方向為高性能計算、大數(shù)據(jù)。發(fā)表SCI/EI 論文10余篇,出版國內(nèi)外學術(shù)專著5部。
第0章 Java學習指南
0.1 Java為什么重要002
0.2 Java簡史帶給我們的一點思考003
0.3 Java應用領(lǐng)域和前景008
0.4 Java學習路線圖009
第1章 Java開發(fā)環(huán)境搭建
1.1 Java開發(fā)環(huán)境013
1.2 安裝Java開發(fā)工具箱013
1.2.1 下載JDK013
1.2.2 安裝JDK016
1.3 Java環(huán)境變量的配置017
1.3.1 理解環(huán)境變量017
1.3.2 JDK中的3個環(huán)境變量018
1.4 享受安裝成果開發(fā)第一個Java程序024
1.5 Eclipse的使用025
1.5.1 Eclipse概述025
1.5.2 創(chuàng)建Java項目026
1.5.3 創(chuàng)建Java類文件028
1.5.4 運行Java程序029
1.6 高手點撥030
1.7 實戰(zhàn)練習030
第2章 Java程序要素概覽
2.1 一個簡單的例子032
2.2 認識Java程序033
2.2.1 Java程序的框架034
2.2.2 標識符035
2.2.3 關(guān)鍵字035
2.2.4 注釋035
2.2.5 變量036
2.2.6 數(shù)據(jù)類型037
2.2.7 運算符和表達式038
2.2.8 類039
2.3 程序的檢測039
2.3.1 語法錯誤039
2.3.2 語義錯誤040
2.4 提高程序的可讀性041
2.5 高手點撥042
2.6 實戰(zhàn)練習042
第3章 Java編程基礎(chǔ)常量、變量與數(shù)據(jù)類型
3.1 常量與變量044
3.1.1 常量的聲明與使用044
3.1.2 變量的聲明與使用045
3.2 基本數(shù)據(jù)類型049
3.2.1 數(shù)據(jù)類型的意義049
3.2.2 整數(shù)類型050
3.2.3 浮點類型 053
3.2.4 字符類型054
3.2.5 布爾類型056
3.3 高手點撥057
3.4 實戰(zhàn)練習058
第4章 編程元素詳解運算符、表達式、語句與流程控制
4.1 運算符060
4.1.1 賦值運算符060
4.1.2 一元運算符060
4.1.3 算術(shù)運算符062
4.1.4 邏輯運算符063
4.1.5 位運算符066
4.1.6 三元運算符067
4.1.7 關(guān)系運算符與if語句068
4.1.8 遞增與遞減運算符069
4.2 表達式070
4.2.1 算術(shù)表達式與關(guān)系表達式071
4.2.2 邏輯表達式與賦值表達式071
4.2.3 表達式的類型轉(zhuǎn)換072
4.3 語句074
4.3.1 語句中的空格074
4.3.2 空語句075
4.3.3 聲明語句與賦值語句075
4.4 程序的控制邏輯076
4.4.1 順序結(jié)構(gòu)076
4.4.2 選擇結(jié)構(gòu)076
4.4.3 循環(huán)結(jié)構(gòu)077
4.5 選擇結(jié)構(gòu)077
4.5.1 if語句077
4.5.2 if…else語句080
4.5.3 if…else if…else語句082
4.5.4 多重選擇──switch語句083
4.6 循環(huán)結(jié)構(gòu)085
4.6.1 while循環(huán)085
4.6.2 do…while循環(huán)086
4.6.3 for循環(huán)088
4.7 循環(huán)的跳轉(zhuǎn)090
4.7.1 break語句090
4.7.2 continue語句092
4.7.3 return語句095
4.8 高手點撥096
4.9 實戰(zhàn)練習096
第5章 數(shù)組與枚舉
5.1 理解數(shù)組098
5.2 一維數(shù)組100
5.2.1 一維數(shù)組的聲明與內(nèi)存的分配100
5.2.2 數(shù)組中元素的表示方法101
5.2.3 數(shù)組元素的使用102
5.3 二維數(shù)組104
5.3.1 二維數(shù)組的聲明與賦值105
5.3.2 二維數(shù)組元素的引用及訪問106
5.4 枚舉簡介107
5.5 Java中的枚舉107
5.5.1 常見的枚舉定義方法107
5.5.2 在程序中使用枚舉108
5.5.3 在switch語句中使用枚舉109
5.6 高手點撥110
5.7 實戰(zhàn)練習110
第6章 類和對象
6.1 理解面向?qū)ο蟪绦蛟O(shè)計112
6.1.1 面向?qū)ο蟪绦蛟O(shè)計簡介112
6.1.2 面向?qū)ο蟪绦蛟O(shè)計的基本特征113
6.2 面向?qū)ο蟮幕靖拍?13
6.2.1 類113
6.2.2 對象113
6.2.3 類和對象的關(guān)系114
6.3 類的聲明與定義115
6.3.1 類的聲明115
6.3.2 類的定義116
6.4 類的屬性117
6.4.1 屬性的定義117
6.4.2 屬性的使用118
6.5 對象的聲明與使用120
6.5.1 對象的聲明120
6.5.2 對象的使用121
6.5.3 匿名對象123
6.6 高手點撥124
6.7 實戰(zhàn)練習124
第7章 重復調(diào)用的代碼塊方法
7.1 方法的基本定義126
7.2 方法的使用128
7.3 方法中的形參與實參129
7.4 方法的重載130
7.5 構(gòu)造方法133
7.5.1 構(gòu)造方法的概念133
7.5.2 構(gòu)造方法的重載135
7.5.3 構(gòu)造方法的私有化139
7.6 在方法內(nèi)部調(diào)用方法142
7.7 static方法143
7.7.1 自定義static方法143
7.7.2 static主方法(main)145
7.8 高手點撥146
7.9 實戰(zhàn)練習146
第8章 類的封裝、繼承與多態(tài)
8.1 封裝149
8.1.1 Java訪問權(quán)限修飾符149
8.1.2 封裝問題引例149
8.1.3 類的封裝實例150
8.2 繼承156
8.2.1 Java中的繼承156
8.2.2 繼承問題的引入157
8.2.3 繼承實現(xiàn)代碼復用158
8.2.4 繼承的限制160
8.3 覆寫163
8.3.1 屬性的覆蓋163
8.3.2 方法的覆寫164
8.4 多態(tài)167
8.4.1 多態(tài)的基本概念167
8.4.2 方法多態(tài)性169
8.4.3 對象多態(tài)性170
8.5 高手點撥172
8.6 實戰(zhàn)練習172
第9章 抽象類與接口
9.1 抽象類174
9.1.1 抽象類的定義174
9.1.2 抽象類的使用175
9.2 接口178
9.2.1 接口的基本概念178
9.2.2 使用接口的原則179
9.3 高手點撥186
9.4 實戰(zhàn)練習186
第10章 Java常用類庫
10.1 類庫的概念188
10.2 基本數(shù)據(jù)類型的包裝類188
10.2.1 裝箱與拆箱189
10.2.2 基本數(shù)據(jù)類型與字符串的轉(zhuǎn)換191
10.3 String類193
10.3.1 字符串類的聲明193
10.3.2 String類中常用的方法194
10.4 Math與Random類197
10.4.1 Math類的使用197
10.4.2 Random類的使用198
10.5 高手點撥200
10.6 實戰(zhàn)練習200
第11章 異常的捕獲與處理
11.1 異常的基本概念202
11.1.1 簡單的異常范例202
11.1.2 異常的處理203
11.2 異常類的處理流程208
11.3 throws關(guān)鍵字209
11.4 throw關(guān)鍵字210
11.5 異常處理的標準格式211
11.6 高手點撥212
11.7 實戰(zhàn)練習212
第12章 多線程
12.1 感知多線程215
12.2 體驗多線程215
12.2.1 通過繼承Thread類實現(xiàn)多線程216
12.2.2 通過實現(xiàn)Runnable接口實現(xiàn)多線程218
12.2.3 兩種多線程實現(xiàn)機制的比較220
12.2.4 Java 8 中運行線程的新方法224
12.3 線程的狀態(tài)225
12.4 線程操作的一些方法229
12.4.1 取得和設(shè)置線程的名稱229
12.4.2 判斷線程是否啟動232
12.4.3 守護線程與setDaemon方法233
12.4.4 線程的聯(lián)合234
12.5 高手點撥236
12.6 實戰(zhàn)練習236
第13章 文件I/O操作
13.1 輸入/輸出的重要性238
13.2 讀寫文本文件238
13.2.1 File文件類238
13.2.2 文本文件的操作240
13.2.3 字符編碼問題244
13.3 文本的輸入和輸出247
13.3.1 讀入文本單詞247
13.3.2 讀入單個字符248
13.3.3 判斷字符分類的方法248
13.3.4 讀入一行文本249
13.3.5 將字符轉(zhuǎn)換為數(shù)字250
13.4 命令行參數(shù)的使用251
13.4.1 System類對I/O的支持251
13.4.2 Java命令行參數(shù)解析252
13.5 高手點撥255
13.6 實戰(zhàn)練習256
第14章 GUI編程
14.1 GUI概述258
14.2 GUI與AWT258
14.3 AWT容器259
14.3.1 Frame窗口259
14.3.2 Panel面板263
14.3.3 布局管理器264
14.4 AWT常用組件269
14.4.1 按鈕與標簽組件270
14.4.2 文本域272
14.4.3 圖形控件274
14.5 事件處理275
14.5.1 事件處理的流程275
14.5.2 常用的事件276
14.5.3 事件處理小案例會動的烏龜281
14.6 Swing概述284
14.7 Swing的基本組件286
14.7.1 JTable表格286
14.7.2 JComboBox下拉列表框288
14.7.3 組件的常用方法289
14.8 Swing的應用小案例簡易學籍管理系統(tǒng)290
14.9 高手點撥293
14.10 實戰(zhàn)練習294
第15章 數(shù)據(jù)庫編程
15.1 數(shù)據(jù)庫概述296
15.2 Java數(shù)據(jù)庫連接利器JDBC296
15.3 輕量級數(shù)據(jù)庫SQLite296
15.3.1 SQLite的準備工作296
15.3.2 用Java連接SQLite299
15.3.3 創(chuàng)建數(shù)據(jù)表300
15.3.4 更新數(shù)據(jù)表302
15.3.5 查詢數(shù)據(jù)表307
15.4 SQLite實戰(zhàn)簡易學生信息管理系統(tǒng)311
15.4.1 基本數(shù)據(jù)結(jié)構(gòu)312
15.4.2 數(shù)據(jù)庫操作有關(guān)工具類314
15.4.3 主界面的構(gòu)造318
15.4.4 用于輸入新數(shù)據(jù)的對話框?qū)崿F(xiàn)324
15.5 MySQL數(shù)據(jù)庫330
15.5.1 MySQL數(shù)據(jù)庫的基本命令330
15.5.2 在Java中使用MySQL數(shù)據(jù)庫333
15.6 高手點撥338
15.7 實戰(zhàn)練習338
第16章 Java Web初步
16.1 JSP概述340
16.2 JSP的運行環(huán)境340
16.2.1 安裝Tomcat340
16.2.2 配置虛擬目錄343
16.2.3 編寫第一個JSP程序345
16.2.4 Tomcat執(zhí)行流程346
16.3 基礎(chǔ)語法347
16.3.1 顯式注釋與隱式注釋347
16.3.2 代碼段348
16.3.3 Page指令350
16.3.4 包含指令352
16.3.5 跳轉(zhuǎn)指令356
16.4 內(nèi)置對象357
16.4.1 request對象358
16.4.2 response對象361
16.5 Servlet367
16.5.1 Servlet簡介367
16.5.2 第一個Servlet程序368
16.6 高手點撥372
16.7 實戰(zhàn)練習372
第17章 常用設(shè)計框架
17.1 框架的內(nèi)涵374
17.2 Struts 開發(fā)基礎(chǔ)374
17.2.1 Struts簡介374
17.2.2 MVC的基本概念375
17.2.3 下載Struts 2 類庫375
17.2.4 從Struts 2的角度理解MVC 376
17.2.5 第一個Struts 2 實例377
17.2.6 運行測試StrutsDemo工程386
17.2.7 小節(jié)387
17.3 Spring快速上手387
17.3.1 Spring基本知識 387
17.3.2 Spring開發(fā)準備 388
17.3.3 Spring框架配置 388
17.3.4 Spring開發(fā)實例 392
17.4 Hibernate入門396
17.4.1 Hibernate開發(fā)基礎(chǔ)397
17.4.2 Hibernate開發(fā)準備397
17.4.3 Hibernate開發(fā)實例400
17.5 高手點撥416
17.6 實戰(zhàn)練習416
第18章 Android編程基礎(chǔ)
18.1 Android簡介418
18.1.1 Android系統(tǒng)架構(gòu)418
18.1.2 Android應用開發(fā)特色418
18.2 搭建開發(fā)環(huán)境419
18.2.1 準備所需要的軟件419
18.2.2 搭建開發(fā)環(huán)境419
18.3 創(chuàng)建第一個Android項目422
18.3.1 創(chuàng)建HelloWorld項目422
18.3.2 運行HelloWorld項目424
18.3.3 解析第一個Android程序425
18.4 詳解基本布局428
18.4.1 線性布局428
18.4.2 相對布局432
18.4.3 幀布局436
18.5 常見控件的使用方法437
18.5.1 TextView437
18.5.2 EditText438
18.5.3 Button440
18.5.4 ImageView443
18.6 Activity詳細介紹444
18.6.1 Activity生命周期444
18.6.2 Activity狀態(tài)444
18.6.3 Activity啟動模式445
18.7 高手點撥446
18.8 實戰(zhàn)練習446
第19章 Android項目實戰(zhàn)智能電話回撥系統(tǒng)
19.1 系統(tǒng)概述449
19.1.1 背景介紹449
19.1.2 運行程序449
19.1.3 系統(tǒng)需求分析450
19.1.4 詳細功能設(shè)計450
19.2 系統(tǒng)實現(xiàn)451
19.2.1 主界面451
19.2.2 修改密碼 452
19.2.3 意見反饋455
19.3 項目功能用到的知識點講解460
19.3.1 讀取通訊錄460
19.3.2 讀取聯(lián)系人頭像463
19.3.3 讀取短信464
19.4 高手點撥466
19.5 實戰(zhàn)練習466
第20章 Java Web項目實戰(zhàn)我的飯票網(wǎng)
20.1 系統(tǒng)分析468
20.2 系統(tǒng)設(shè)計468
20.3 數(shù)據(jù)庫設(shè)計469
20.3.1 功能分析469
20.3.2 基本表設(shè)計469
20.4 用戶注冊模塊設(shè)計473
20.4.1 用戶注冊模塊概述473
20.4.2 與用戶注冊有關(guān)的數(shù)據(jù)庫連接及操作類473
20.4.3 用戶注冊界面設(shè)計480
20.4.4 用戶注冊事件處理頁面483
20.5 用戶登錄模塊設(shè)計484
20.5.1 用戶登錄模塊概述484
20.5.2 與用戶登錄有關(guān)的數(shù)據(jù)庫連接及操作類484
20.5.3 用戶登錄界面設(shè)計486
20.5.4 用戶登錄驗證處理頁面488
20.6 用戶主頁面模塊設(shè)計490
20.6.1 用戶主頁面模塊概述490
20.6.2 與用戶主頁面有關(guān)的數(shù)據(jù)庫連接及操作類490
20.6.3 用戶主頁面界面設(shè)計495
20.7 高手點撥498
20.8 實戰(zhàn)練習498
第21章 大數(shù)據(jù)項目實戰(zhàn)Hadoop下的數(shù)據(jù)處理
21.1 認識Hadoop500
21.2 理解MapReduce編程范式501
21.3 第一個Hadoop案例WordCount代碼詳解501
21.3.1 WordCount基本流程502
21.3.2 WordCount代碼詳解503
21.3.3 運行WordCount506
21.4 面向K-Means聚類算法的Hadoop實踐510
21.4.1 K-Means聚類算法簡介510
21.4.2 基于MapReduce的K-Means算法實現(xiàn)513
21.4.3 編寫K-Means513
21.4.4 在Hadoop集群運行KMeans538
21.5 高手點撥542
21.6 實戰(zhàn)練習542
附錄:全分布式Hadoop集群的構(gòu)建
安裝CentOS 7543
安裝Java并配置環(huán)境變量544
安裝Hadoop546
下載Hadoop包546
安裝Hadoop547
Hadoop的運行模式547
Hadoop集群構(gòu)建548
設(shè)置靜態(tài)IP地址548
修改hosts文件550
安裝和配置SSH服務550
安裝SSH551
SSH免密碼登錄551
虛擬機的配置文件同步553
全分布模式下配置Hadoop553
配置Hadoop環(huán)境變量553
配置hadoop-env.sh554
配置HDFS的主節(jié)點(core-site.xml)555
配置slaves556
配置yarn-site.xml557
配置mapred-site.xml558
驗證全分布模式559
默認配置文件所在位置560
關(guān)閉Hadoop560