內容簡介
根據tiobe世界程式語言的排行統計,java已經連續數年居於首位,可見其套用之廣泛。各類招聘信息中,企業對java程式設計師的需求量最大,待遇也最好,因此java成為程式設計師的入門首選程式語言。
本書共分4篇21章,第1~10章主要對java的基礎知識進行了講解,第11~12章對圖形化界面的套用進行了講解,第13章對網路編程做了簡單的介紹,第14章對資料庫的使用及載入驅動,以及如何連線做了系統的講解。第15~19章分別對html語言、javascript、jsp、servlet 和j2ee進行了簡單介紹。第20~21章為綜合套用,分別開發了考生信息系統和圖書訂購系統。
本書非常適合對java感興趣,期望以一種輕鬆愉快的心態進行學習的初學者。讀者完全不需要有任何編程方面的基礎知識,只要有興趣,本書就是最適合的選擇。
前言
隨著網站技術的進一步發展,各個部門對網站開發技術的要求日益提高,綜觀人才市場,各企事業單位對網站開發工作人員的需求也大大增加。但是網站建設作為一項綜合性的技能,對很多計算機技術都有著很高的要求。網站開發工作包括市場需求研究、網站策劃、網頁平面設計、網站程式開發、資料庫設計以及網站的推廣運作等,可以系統掌握這些知識的網路工程師相對較少。
如此諸多方面的知識,使得很多初學者往往都會感到十分困惑,不知道各項技術之間的關係。本套叢書正是由此而來,並完美地解決了這個問題——為廣大讀者學習網站開發技術提供一個完整的學習方案。叢書的組織結構如下:
本書是其中的一本,用以幫助讀者Java語言各方面的知識。Java語言是Sun公司開發的一種面向對象進行設計的電腦程式語言,其在短短的幾年內便已風靡全球。Java語言具有簡單、面向對象、跨平台性、安全、多執行緒、健壯性、可移植性等特點,其中最顯著的特點就是跨平台性,無論用戶是在哪一個作業系統平台上,都可以使用完全一樣的代碼,因此Java是當前用戶群最大的語言。
本書特點
1.語言精練,便於閱讀
本書以語言精練為主要特點,介紹了Java語言的相關知識,讀者可以體會到一種極強的親和力,很快進入Java編程的世界。
2.由淺入深,循序漸進
本書具有的另一個顯著特點是由淺入深、循序漸進,因此,讀者在學習的過程中能夠認清重點,抓住主脈進行突破。
3.簡單集中,難點分散
本書的知識點有的簡單,有的難度較大。作者通過對比分析,將簡單的內容進行集中描述,而對較難的問題進行分解剖析,讓讀者能夠輕鬆愉快地解決難題。
4.實例結合,易於上手
本書一個比較顯著的特點就是實例豐富。在初學一門語言時,最難的就是不知如何套用到實際中,本書在講解知識的過程中插入了大量實例,並且每個實例後都有相應的講解,使讀者能夠更深入地掌握知識點。
5.內容超值,贈送光碟
本書贈送了一張隨書光碟,書中的實例按照章節存放。讀者只需要按照書中介紹的步驟進行操作,即可得到一個完整的程式。
本書包括的內容
第1章:首先帶領讀者進入Java世界,講述了Java語言的特點,同時還講述了JDK的安裝和配置。
第2章:從Java語言的基礎語法開始,講述了Java語言的基本數據類型,以及Java語言的類型轉換、數組與字元串等。
第3章:講解了Java語言的控制語句,包括條件控制項語句、循環語句以及跳轉語句等。
第4章:講解了面向對象程式開發,包括面向對象和面向對象的特性。
第5章:講解了Java的類和包。講述了Java的類和對象、成員變數及方法的訪問,以及抽象類和抽象方法,最後介紹包的概念和使用。
.第6章:講述了Java的繼承與多態,包括繼承、super關鍵字、父類、重寫及重載等。
第7章:介紹了類的套用,主要包括static關鍵字、final關鍵字,以及接口的概念和使用,最後又對內部類進行了比較詳細的講解。
第8章:介紹了異常處理方面的知識。
第9章:介紹了Java的輸入輸出方面的知識。
第10章:詳細講解了多執行緒的知識,主要包括多執行緒簡介、執行緒的創建、執行緒的調度、執行緒狀態和執行緒同步與通信。
第11章:介紹了AWT方面的知識。
第12章:詳細講解了Swing組件。
第13章:介紹了網路編程知識,包括網路基礎和網路編程步驟,其中對網路編程步驟進行了比較詳細的介紹。
第14章:介紹了Java資料庫編程,主要包括JDBC、資料庫、JDBC編程步驟、PreparedStatement、元數據和結果集處理等。
第15章:介紹了HTML方面的知識。
第16章:介紹了JavaScript方面的知識。
第17章:介紹了JSP方面的知識,主要包括JSP簡介、JSP程式演示、JSP的基本語法、JSP指令、JSP動作和JSP內置對象等。
第18章:講解了Servlet方面的知識。
第19章:介紹了J2EE方面的知識。
第20和21章:是對前面所學知識的綜合套用,開發了考生信息管理系統和圖書訂購系統。
適合閱讀本書的讀者
本書具有知識全面、實例豐富、深入淺出的特點,力求以通俗易懂的講解指導讀者學習。本書可以作為初次學習Java語言的讀者的入門教材,也可以作為中級讀者的必備參考用書,當然對高級讀者也有一定的啟發意義。
本書由聶慶亮組織編寫,其他參與編寫、資料整理、代碼調試的人員還有陳剛、宮磊、谷原野、黃其武、李修花、李延琨、林家昌、劉林建、孟富貴、彭自強、孫雪明、王世平、文明、徐增年、銀森騎、張家磊、張瑾瑜、周偉傑、朱玲、陳杰、陳冠軍、張金霞、張昆和尹繼平,在此一併表示感謝。
編 者
目錄
第1篇 初識java
第1章 java入門簡介 2
1.1 java的起源與特點 2
1.2 搭建java開發環境 3
1.2.1 jdk的下載 3
1.2.2 安裝jdk 4
1.2.3 配置環境變數 5
1.3 編寫一個java小程式 6
1.3.1 編寫代碼 6
1.3.2 編譯和運行 7
1.4 小結 8
第2章 java入門裝備 9
2.1 標識符、保留字和注釋 9
2.1.1 標識符 9
2.1.2 保留字 10
2.1.3 注釋 11
2.2 常量和變數 12
2.2.1 常量 13
2.2.2 變數 13
2.3 原始數據類型 14
.2.3.1 整型數據之位元組型 14
2.3.2 整型數據之短整型 15
2.3.3 整型數據之整型 16
2.3.4 整型數據之長整型 17
2.3.5 浮點類型數據 17
2.3.6 字元類型 19
2.3.7 布爾類型 20
2.4 類型轉換 21
2.4.1 自動類型轉換 21
2.4.2 強制類型轉換 22
2.5 運算符與表達式 24
2.5.1 邏輯運算符 24
2.5.2 關係運算符 27
2.5.3 算術運算符 29
2.5.4 位運算符 31
2.5.5 賦值運算符 36
2.5.6 條件運算符 37
2.6 java數組 38
2.6.1 建立數組 38
2.6.2 給數組賦值 39
2.6.3 如何定義多維數組 40
2.7 字元串 42
2.7.1 如何創建string對象 42
2.7.2 string類方法的使用 43
2.7.3 stringbuffer類方法的使用 48
2.7.4 如何將方法進行連結 51
2.8 小結 52
第3章 流程控制 53
3.1 條件控制語句 53
3.1.1 if語句編寫規範 53
3.1.2 if語句 54
3.1.3 if-else語句 56
3.1.4 if-else-if語句 57
3.1.5 switch語句 58
3.2 循環語句 61
3.2.1 for語句 61
3.2.2 while語句 63
3.2.3 do-while語句 65
3.3 跳轉語句 66
3.3.1 break語句——不帶標號 67
3.3.2 break語句——帶標號 67
3.3.3 continue與return語句 68
3.4 小結 69
第2篇 java的面向對象性
第4章 面向對象的思想 72
4.1 面向對象 72
4.1.1 什麼是類 72
4.1.2 什麼是對象 73
4.2 面向對象的特性 73
4.2.1 封裝 73
4.2.2 繼承 74
4.2.3 多態 76
4.2.4 抽象 77
4.3 小結 79
第5章 java類和包 80
5.1 類 80
5.1.1 創建類 80
5.1.2 類的對象 81
5.1.3 建立構造函式 83
5.1.4 對象的清除 85
5.2 類和對象 85
5.2.1 創建與實例化對象 85
5.2.2 靜態修飾符 86
5.3 訪問成員變數及方法 88
5.3.1 public公共修飾符 88
5.3.2 protected保護修飾符 89
5.3.3 private私有修飾符 90
5.3.4 其他修飾符 92
5.4 抽象類與抽象方法 95
5.4.1 抽象的概念 95
5.4.2 抽象的規則 96
5.5 包 98
5.5.1 包的定義 98
5.5.2 如何導入包 99
5.5.3 訪問控制 101
5.6 小結 102
第6章 繼承與多態 103
6.1 繼承 103
6.1.1 超類和子類的關係 103
6.1.2 成員變數能否被繼承 105
6.1.3 對象在超類與子類中的
使用 106
6.2 父類 108
6.2.1 調用父類的構造函式 108
6.2.2 訪問超類的成員變數及
方法 111
6.2.3 多層次的繼承 112
6.3 重載 114
6.3.1 重載的定義 115
6.3.2 重載規則 116
6.4 重寫 117
6.4.1 重寫的定義 117
6.4.2 重寫規則 119
6.5 小結 125
第7章 類的套用 126
7.1 final關鍵字的使用 126
7.1.1 final常量的使用 126
7.1.2 最終方法 129
7.1.3 最終類 131
7.2 靜態修飾符 132
7.2.1 靜態變數 133
7.2.2 靜態方法 134
7.3 接口的套用 137
7.3.1 如何定義接口 137
7.3.2 接口常量 138
7.3.3 接口的實現 142
7.3.4 如何引用接口 146
7.4 內部類的套用 148
7.4.1 內部類 148
7.4.2 內部類的使用 149
7.4.3 匿名內部類 154
7.5 小結 159
第3篇 應 用 篇
第8章 異常 162
8.1 異常簡介 162
8.1.1 什麼是異常 162
8.1.2 異常分類 163
8.2 異常處理形式 164
8.2.1 try/catch語句 164
8.2.2 throws聲明異常 168
8.2.3 throw拋出異常 170
8.2.4 自定義異常 172
8.3 小結 174
第9章 輸入輸出流 175
9.1 數據流的概念和劃分 175
9.1.1 什麼是數據流 175
9.1.2 數據流的劃分 176
9.2 位元組流 177
9.2.1 通過位元組流讀寫數據 177
9.2.2 fileinputstream類 178
9.2.3 fileoutputstream類 179
9.2.4 用捷徑讀取特定信息 181
9.2.5 引入緩衝流讀取檔案 183
9.3 字元流 184
9.3.1 如何讀取unicode字元 184
9.3.2 讀取字元檔案 185
9.3.3 如何提高io流操作 187
9.3.4 通過字元讀取檔案及寫出 189
9.4 檔案類 190
9.4.1 檔案類簡介 190
9.4.2 通過檔案類對檔案操作 192
9.5 小結 193
第10章 多執行緒 194
10.1 多執行緒簡介 194
10.1.1 多執行緒概念 194
10.1.2 多執行緒在java中的使用 194
10.2 如何創建執行緒 196
10.2.1 主執行緒的創建 196
10.2.2 實現runnable接口 197
10.2.3 通過繼承thread類創建執行緒 198
10.2.4 兩種方法的比較 200
10.2.5 創建多執行緒 200
10.3 執行緒狀態 202
10.3.1 新狀態 203
10.3.2 可運行狀態 203
10.3.3 運行狀態 203
10.3.4 等待/被阻塞/睡眠/監控/掛起狀態 204
10.3.5 死狀態 204
10.4 執行緒的調度 204
10.4.1 優先權 204
10.4.2 sleep睡眠方法 206
10.4.3 join加入方法 208
10.4.4 yield讓步方法 210
10.5 執行緒同步和通信 212
10.5.1 同步的必要性 212
10.5.2 實現同步 214
10.5.3 同步代碼塊和死鎖 215
10.5.4 執行緒間通信 218
10.6 小結 220
第11章 awt組件開發 221
11.1 awt入門 221
11.1.1 第一個視窗 221
11.1.2 視窗基礎套用 222
11.1.3 創建多個視窗 224
11.2 布局管理器 225
11.2.1 flowlayout 225
11.2.2 borderlayout 227
11.2.3 gridlayout 230
11.2.4 cardlayout 233
11.3 組件和監聽接口 236
11.3.1 按鈕和actionlistener 236
11.3.2 運用windowlistener 237
11.3.3 文本組件和textlistener 239
11.4 小結 240
第12章 swing界面編程 241
12.1 swing組件庫 241
12.1.1 jfc結構 241
12.1.2 與awt區別 241
12.2 jframe視窗容器 241
12.2.1 jframe簡介和方法 242
12.2.2 jframe套用 242
12.3 通過icon接口進行圖像操作 243
12.3.1 icon接口簡介和方法 243
12.3.2 icon接口套用 244
12.4 按鈕 245
12.4.1 按鈕簡介和方法 246
12.4.2 按鈕的套用 246
12.5 複選按鈕 247
12.5.1 複選按鈕簡介和方法 247
12.5.2 複選按鈕套用 248
12.6 彈出式選單 249
12.6.1 彈出式選單簡介和方法 249
12.6.2 彈出式選單套用 249
12.7 單選按鈕 251
12.7.1 單選按鈕簡介和方法 251
12.7.2 單選按鈕套用 252
12.8 下拉列表框 253
12.8.1 下拉列表框簡介和方法 253
12.8.2 下拉列表框套用 254
12.9 選項卡 255
12.9.1 選項卡簡介和方法 255
12.9.2 選項卡套用 255
12.10 滑桿 257
12.10.1 滑桿簡介和方法 257
12.10.2 滑桿套用 257
12.11 滾動條 259
12.11.1 滾動條簡介和方法 259
12.11.2 滾動條套用 259
12.12 列表框 260
12.12.1 列表框簡介和方法 261
12.12.2 列表框套用 261
12.13 選單 262
12.13.1 選單簡介和方法 262
12.13.2 選單套用 263
12.14 小結 264
第13章 網路編程 265
13.1 了解網路基礎 265
13.1.1 tcp/ip協定的認識 265
13.1.2 url的使用 265
13.2 網路編程步驟 269
13.2.1 使用socket進行網路連線 269
13.2.2 創建socket 269
13.2.3 伺服器端的訪問 270
13.2.4 客戶端的訪問 271
13.2.5 多客戶端連線 273
13.2.6 網路編程綜合案例 274
13.3 小結 279
第14章 jdbc資料庫開發 280
14.1 通過jdbc訪問資料庫 280
14.1.1 jdbc的概念 280
14.1.2 jdbc在java中的套用 280
14.2 簡單介紹資料庫 281
14.2.1 關係資料庫 281
14.2.2 對access的操作 281
14.2.3 資料庫語言及其操作 282
14.3 jdbc編程步驟 285
14.3.1 創建數據源 286
14.3.2 載入驅動程式 287
14.3.3 指定資料庫 287
14.3.4 打開資料庫連線 288
14.3.5 提交查詢 288
14.3.6 取得查詢結果 288
14.4 使用preparedstatement進行
預編譯操作 289
14.4.1 preparedstatement簡介 289
14.4.2 preparedstatement套用 290
14.5 元數據 291
14.5.1 資料庫的databasemetadata
元數據 291
14.5.2 結果集的resultsetmetadata
元數據 291
14.6 結果集處理 293
14.6.1 可滾動結果集 293
14.6.2 可更新結果集 295
14.7 小結 295
第15章 html標籤的使用 296
15.1 html簡介 296
15.1.1 html基本結構 296
15.1.2 第一個html檔案 297
15.1.3 html標記分類 298
15.1.4 html文檔的特點 298
15.2 字型屬性標記 298
15.2.1 [hn]標記 298
15.2.2 [b]粗體字 299
15.2.3 [i]斜體字標記 300
15.2.4 [u]加底線標記 301
15.2.5 [del]刪除線標記 301
15.2.6 [!...]註解標記 302
15.2.7 設定字型大小、顏色、字型標記 303
15.3 標示標記的使用 305
15.4 區段標記的使用 306
15.5 連結標記的調用 308
15.6 圖像標記的使用 308
15.7 表單標記的使用 309
15.7.1 form表單 309
15.7.2 text文本框 310
15.7.3 password密碼框 311
15.7.4 radio單選按鈕 312
15.7.5 checkbox複選框 313
15.7.6 select列表框 313
15.7.7 file資料夾 314
15.7.8 textarea文本框 315
15.7.9 submit提交及reset清除 316
15.8 小結 317
第16章 javascript腳本語言 318
16.1 javascript的基本介紹 318
16.1.1 javascript語言概括 318
16.1.2 javascript代碼結構 318
16.1.3 javascript數據類型 320
16.1.4 javascript運算符與表達式 320
16.1.5 javascript常量和變數 320
16.2 javascript事件 321
16.2.1 onclick事件 322
16.2.2 onchange事件 323
16.3 javascript對象 324
16.3.1 string字元串 324
16.3.2 math對象 326
16.3.3 date對象 327
16.4 瀏覽器內置對象 328
16.4.1 history對象 328
16.4.2 document對象 329
16.5 窗體對象 329
16.5.1 窗體對象簡述 329
16.5.2 button按鈕 330
16.5.3 text單行文本框 331
16.5.4 select選擇文本框 332
16.5.5 checkbox複選框 333
16.5.6 radio單選按鈕 335
16.6 小結 336
第17章 jsp網頁編程 337
17.1 jsp簡介 337
17.1.1 主流web技術介紹 337
17.1.2 jsp的運行環境介紹 338
17.1.3 安裝和啟動jsp運行環境 338
17.2 jsp程式演示 339
17.2.1 體驗jsp 339
17.2.2 jsp與html的初步結合 340
17.3 jsp的基本語法 341
17.4 jsp指令 344
17.4.1 page指令 344
17.4.2 include指令 346
17.5 jsp動作 347
17.5.1 param動作 347
17.5.2 forward動作 348
17.5.3 include動作 349
17.5.4 plugin動作 350
17.5.5 usebean動作 353
17.6 jsp內置對象 354
17.6.1 out對象 354
17.6.2 request對象 355
17.6.3 response對象 358
17.6.4 session對象 361
17.7 小結 364
第18章 servlet伺服器端編程 365
18.1 servlet簡介 365
18.2 servlet常用接口介紹 365
18.2.1 異常相關 366
18.2.2 配置相關 366
18.2.3 實現相關 367
18.2.4 請求與回響相關 368
18.2.5 會話相關 371
18.2.6 servlet上下文 374
18.3 httpservlet對象 375
18.3.1 doget 375
18.3.2 dopost 377
18.4 小結 379
第19章 j2ee概述 380
19.1 遠程方法調用 380
19.1.1 遠程方法調用簡介 380
19.1.2 遠程接口 380
19.1.3 伺服器類 381
19.1.4 rmic編譯器 383
19.1.5 啟動registry 383
19.1.6 客戶類 383
19.2 jndi命名和目錄接口 384
19.2.1 jndi簡介 384
19.2.2 為命名服務初始化參數 385
19.2.3 註冊對象 386
19.2.4 jndi和rmi結合 387
19.3 使用ejb開發企業級程式 390
19.3.1 ejb簡介 390
19.3.2 無狀態會話ejb概述 390
19.3.3 無狀態會話ejb:遠程業務
邏輯接口 391
19.3.4 無狀態會話ejb:生命周期接口 391
19.3.5 無狀態會話ejb:組件類 392
19.3.6 無狀態會話ejb:部署描述檔案 393
19.3.7 無狀態會話ejb:客戶端 394
19.3.8 有狀態會話ejb概述 395
19.3.9 有狀態會話ejb:遠程業務
邏輯接口 396
19.3.10 有狀態會話ejb:生命
周期接口 396
19.3.11 有狀態會話ejb:組件類 397
19.3.12 有狀態會話ejb:部署
描述檔案 398
19.3.13 有狀態會話ejb:客戶端 399
19.4 小結 400
第4篇 項目開發篇
第20章 考生信息管理系統 402
20.1 需求分析 402
20.2 系統設計 402
20.3 登錄模組 402
20.3.1 設計構想 402
20.3.2 實現登錄模組 403
20.4 考生信息模組 405
20.4.1 設計構想 405
20.4.2 實現考生信息主界面 405
20.4.3 增加信息 408
20.4.4 刪除信息 411
20.4.5 修改信息 414
20.4.6 基本信息查詢 417
20.4.7 成績查詢 421
20.4.8 退出系統 425
20.5 教師信息模組 427
20.5.1 主界面 427
20.5.2 增加信息 429
20.5.3 刪除信息 433
20.5.4 修改信息 436
20.5.5 錄入成績 439
20.5.6 刪除成績 443
20.5.7 修改成績 446
20.5.8 基本信息查詢 449
20.5.9 退出系統 453
20.6 小結 455
第21章 圖書訂購系統 456
21.1 需求分析 456
21.2 系統設計 456
21.3 系統實現 457
21.3.1 實現效果 457
21.3.2 圖書訂購系統框架頁面 459
21.3.3 頁頭頁面 459
21.3.4 用戶登錄 460
21.3.5 主頁 461
21.3.6 購物車頁面 463
21.3.7 註冊頁面 466
21.3.8 錯誤頁面 472
21.3.9 套用javabean 473
21.4 小結 478