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