本書介紹了JAVA語言基礎(chǔ)知識,面向?qū)ο蟪绦蛟O(shè)計思維, JavaSE 7.0的常用基礎(chǔ)API ,異常處理機制,I/O,Java數(shù)組及容器,多線程技術(shù) ,Socket網(wǎng)絡(luò)技術(shù) ,GUI技術(shù),JDBC基礎(chǔ)。最后提供了兩個實訓(xùn)項目,涵蓋了幾乎所有的j2se基礎(chǔ)知識點。初學(xué)者能夠快速入門,并熟練掌握j2se編程技術(shù)。
前 言
在最受歡迎的程序設(shè)計語言排行榜上,Java語言已經(jīng)連續(xù)數(shù)年位列榜首。一次編寫,隨處運行,這是一種很有效率的編程方式?缙脚_、完全面向?qū)ο、既適于單機編程也適合于Internet編程等特點,給Java語言注入了強大的生命力。而Java語言也取得了舉世矚目、全球公認的地位。盡管Java很優(yōu)秀,但是對于第一次接觸編程的人來說并不容易學(xué)習(xí),尤其是入門,萬事開頭難,編者講授多年的Java課程,接觸到了各種學(xué)生,對此深有體會。本書將為您打開一扇通往Java世界的大門,使您少走彎路,快速入門,打好堅實的基礎(chǔ)。
魯迅先生曾說過,治學(xué)先治史。因此,本書在第1章詳細介紹了Java語言的發(fā)展史及語言特點。在介紹第1章節(jié)之后的第2、3章涉及“面向過程的程序設(shè)計”內(nèi)容,是對基本編碼能力的培養(yǎng),先介紹如何使用Java語言表示信息以及如何使用Java語言處理信息,然后介紹了如何使用選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。第4章“面向?qū)ο蠡A(chǔ)”是對學(xué)好Java語言乃至其他面向?qū)ο缶幊陶Z言都至關(guān)重要的理論篇,首先介紹了如何編寫類和如何創(chuàng)建對象,然后進一步介紹了Java面向?qū)ο蟮囊恍└呒壧匦,包括如何實現(xiàn)繼承、final修飾符和abstract修飾符的使用、強制類型轉(zhuǎn)換、多態(tài)性、Object類和Class類的使用以及內(nèi)部類的使用等。建議讀者學(xué)習(xí)該篇時要緩進而踏實,精學(xué)多悟,可輔以上機實訓(xùn)加強對概念的理解。第5章介紹了數(shù)組、String相關(guān)類和一些常用的工具類。第6章介紹了Java異常處理機制。第7章介紹了Java容器,它是對數(shù)組功能的補充。第8章為I/O,介紹了Java字符流和字節(jié)流以及文件操作。第9章討論了線程和并發(fā)處理。第10章介紹了基于TCP和UDP的網(wǎng)絡(luò)編程。第11章介紹了圖形用戶界面編程,包括Java更加高級的功能,如事件響應(yīng)模型等。Java GUI編程是重要應(yīng)用篇,通過該篇的學(xué)習(xí),讀者可設(shè)計出視窗風(fēng)格的應(yīng)用程序。本篇的學(xué)習(xí)策略是實踐、再實踐,從小的示例到較大的項目設(shè)計。由于幾乎所有的應(yīng)用都離不開對數(shù)據(jù)庫的操作,因此,本書在最后一章討論了如何使用JDBC操作數(shù)據(jù)庫。在本教程最后涉及兩個實訓(xùn)項目,建議讀者在學(xué)習(xí)完所有章節(jié)后,獨立完成實訓(xùn)項目的所有功能,將有助于融會貫通所學(xué)知識。
本書在編寫過程中得到了張文科老師以及重慶城市管理職業(yè)學(xué)院2014級軟件專業(yè)許多同學(xué)的支持和鼓勵,在此表示衷心感謝,由于你們的支持才讓此書能盡早面世。同時感謝所有在出版過程中給予幫助的人,謝謝你們,讓本書順利付梓。
由于水平有限,缺點和欠妥之處難免,懇請讀者幫助指正。
編 者
2016年4月
梅青平,男,重慶城市管理職業(yè)學(xué)院信息工程學(xué)院教師,講師,碩士研究生畢業(yè),長期從事軟件技術(shù)專業(yè)相關(guān)專業(yè)課程教學(xué)工作。張望,男,四川渠縣人,碩士研究生畢業(yè),軟件設(shè)計師、信息系統(tǒng)項目管理師,F(xiàn)任教于重慶城市管理職業(yè)學(xué)院,主持或參與的項目10余個,具有豐富的項目實踐經(jīng)驗。劉姍姍,四川師范大學(xué)助理研究員,支持招生考試系統(tǒng)等項目,發(fā)表論文2篇。
第1章 Java概述 1
1.1 Java語言歷史 1
1.2 什么是Java 3
1.3 Java語言特性 3
1.4 Java環(huán)境 5
1.5 Eclipse簡介 10
本章小結(jié) 10
習(xí) 題 10
第2章 程序、數(shù)據(jù)、變量和計算 12
2.1 標識符、關(guān)鍵字 12
2.2 Java數(shù)據(jù)類型 13
2.3 變 量 18
2.4 運算符 21
2.5 表達式 26
本章小結(jié) 27
習(xí) 題 27
第3章 語 句 31
3.1 決 策 31
3.2 循 環(huán) 37
本章小結(jié) 43
習(xí) 題 43
第4章 面向?qū)ο蠡A(chǔ) 45
4.1 類和對象 45
4.2 static 關(guān)鍵字 58
4.3 this關(guān)鍵字 61
4.4 包 63
4.5 訪問權(quán)限 65
4.6 類的繼承 70
4.7 super關(guān)鍵字 73
4.8 Object類常用方法 76
4.9 final類、final方法 77
4.10 對象的上轉(zhuǎn)型對象 77
4.11 方法重寫 80
4.12 類的多態(tài) 81
4.13 abstract關(guān)鍵字 82
4.14 接口(interface) 83
本章小結(jié) 86
習(xí) 題 86
第5章 數(shù)組與字符串 91
5.1 一維數(shù)組 91
5.2 多維數(shù)組 94
5.3 數(shù)組的常用方法 97
5.4 字符串處理 99
本章小結(jié) 107
習(xí) 題 107
第6章 異 常 111
6.1 異常的概念 111
6.2 異常分類 112
6.3 異常捕獲和處理 113
6.4 自定義異常 116
本章小結(jié) 117
習(xí) 題 117
第7章 容 器 120
7.1 Collection接口 120
7.2 Iterator接口 123
7.3 增強的for循環(huán) 124
7.4 Set接口 125
7.5 List接口 126
7.6 Comparable接口 127
7.7 Map接口 128
7.8 泛 型 129
本章小結(jié) 130
習(xí) 題 130
第8章 I/O 132
8.1 輸入/輸出流概述 132
8.2 InputStream類 133
8.3 OutputStream類 135
8.4 Reader類 136
8.5 Writer類 137
8.6 緩沖流 138
8.7 轉(zhuǎn)換流 140
8.8 數(shù)據(jù)流 142
8.9 打印流 143
8.10 標準輸入/輸出 144
8.11 對象序列化 145
8.12 文件描述 149
本章小結(jié) 152
習(xí) 題 152
第9章 多線程 157
9.1 線程基本概念 157
9.2 線程的創(chuàng)建和啟動 157
9.3 線程的調(diào)度和優(yōu)先級 159
9.4 線程的狀態(tài)和生命周期 160
9.5 多線程的互斥與同步 164
本章小結(jié) 169
習(xí) 題 169
第10章 網(wǎng)絡(luò)編程 171
10.1 計算機網(wǎng)絡(luò)概念 171
10.2 OSI模型 171
10.3 TCP/IP模型 172
10.4 Java網(wǎng)絡(luò)編程 175
本章小結(jié) 187
習(xí) 題 187
第11章 圖形用戶界面(GUI) 190
11.1 圖形用戶界面概述 190
11.2 Java Applet 基礎(chǔ) 191
11.3 Frame類 194
11.4 布局管理器 195
11.5 事件處理 203
11.6 常用Swing組件介紹 208
本章小結(jié) 211
習(xí) 題 211
第12章 與數(shù)據(jù)庫通信 215
12.1 JDBC 概述 215
12.2 JDBC的分類 215
12.3 JDBC編程步驟 217
12.4 存儲過程/函數(shù)的調(diào)用 221
12.5 事務(wù)的執(zhí)行 222
本章小結(jié) 223
習(xí) 題 223
參考文獻 241
Java是一種革命性的程序設(shè)計語言,用它編寫的程序可以在不同類型的計算機上運行。能用Java語言編寫applet小程序,并嵌入網(wǎng)頁中,可達到智能交互效果?梢粤钊藵M意的方式與用戶交互,包括動畫、游戲、交互的事務(wù)處理,幾乎無所不能。
把Java程序嵌入網(wǎng)頁中對安全性有特別高的要求。當(dāng)作為Internet用戶訪問嵌入了Java代碼的網(wǎng)頁時,用戶需要確信這種訪問不會對自己計算機的操作有任何干擾,也不會破壞自己系統(tǒng)上的數(shù)據(jù)。Java內(nèi)部包含了各種措施,以便將Java applet引起的種種不安全性減到最小。
Java對Internet和基于網(wǎng)絡(luò)的應(yīng)用程序支持不局限于applet。例如,JSP(Java Server Pages)提供了強大的建立服務(wù)器應(yīng)用程序的方法。當(dāng)服務(wù)器接收到請求(request)后,會動態(tài)建立并下載HTML網(wǎng)頁到客戶端,準確地滿足用戶請求。用JSP生成的網(wǎng)頁也可以包含Java applet。
可用Java編寫大型應(yīng)用程序,應(yīng)用程序不加修改,就能在任何裝有支持Java的操作系統(tǒng)的計算機上運行。也就是說,用Java編寫的應(yīng)用程序可以在當(dāng)今大多數(shù)計算機上運行。程序員可以用Java編寫普通的應(yīng)用程序,也可編寫applet應(yīng)用程序。
Java提供了用來創(chuàng)建帶有圖形用戶界面(GUI)的綜合應(yīng)用程序,包含大量圖形處理和圖形編程的應(yīng)用程序,以及支持關(guān)系數(shù)據(jù)庫(relation database)訪問和通過網(wǎng)絡(luò)與遠程計算機通信的網(wǎng)絡(luò)程序,F(xiàn)在,用Java幾乎可以有效地編寫任何應(yīng)用程序,而且這些應(yīng)用程序還具有完全的可移植性。
……