-
>
全國計算機(jī)等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應(yīng)用
-
>
決戰(zhàn)行測5000題(言語理解與表達(dá))
-
>
軟件性能測試.分析與調(diào)優(yōu)實踐之路
-
>
第一行代碼Android
-
>
JAVA持續(xù)交付
-
>
EXCEL最強(qiáng)教科書(完全版)(全彩印刷)
-
>
深度學(xué)習(xí)
Java編程入門與項目應(yīng)用 版權(quán)信息
- ISBN:9787522119915
- 條形碼:9787522119915 ; 978-7-5221-1991-5
- 裝幀:一般膠版紙
- 冊數(shù):暫無
- 重量:暫無
- 所屬分類:>
Java編程入門與項目應(yīng)用 本書特色
☆Java編程入門寶典,開啟你的Java編程之旅。 ☆內(nèi)容全面,深入講解基礎(chǔ)語法、編程思想、實戰(zhàn)應(yīng)用等Java核心內(nèi)容。 ☆層層深入,注重實踐,帶你了解完整項目的開發(fā)過程。 ☆圖文并茂,大量貼近工作和生活的編程示例,方便易學(xué)。 ☆精心設(shè)置的板塊,為你指出編程重點(diǎn)難點(diǎn),帶你巧避誤區(qū),拓展編程知識 。 ☆這本書通俗易懂,可讀性強(qiáng),讀來定有收獲。
Java編程入門與項目應(yīng)用 內(nèi)容簡介
本書是一本關(guān)于Java語言基礎(chǔ)知識和程序設(shè)計開發(fā)用書。本書深人淺出地介紹了Java語言程序開發(fā)的環(huán)境、Java語言的基礎(chǔ)語法知識、Java語言的編程思想、Java語言的網(wǎng)絡(luò)編程、數(shù)據(jù)庫編程、Swing組件編程、Web編程等多種應(yīng)用以及項目實戰(zhàn)內(nèi)容。本書注重學(xué)練結(jié)合,基礎(chǔ)知識均配合相應(yīng)示例,示例包含完整源碼,并附以詳細(xì)注釋,每章還提供相應(yīng)的練習(xí),相信“基礎(chǔ)知識+示例+練習(xí)”的形式可以幫助讀者牢固掌握知識點(diǎn),快速提高編程水平。 全書結(jié)構(gòu)完整、思路清晰、邏輯嚴(yán)謹(jǐn),適合編程愛好者、初學(xué)者、中級程序開發(fā)人員以及其他相關(guān)從業(yè)人員閱讀使用,相信您閱讀本書一定能有所收獲!
Java編程入門與項目應(yīng)用 目錄
第1章 初識Java語言
1.1 Java簡介
1.2 搭建Java開發(fā)環(huán)境
1.3 Java的開發(fā)工具 Eclipse
1.4 **個Java程序
第2章 變量與基本數(shù)據(jù)類型
2.1 變量與常量
2.2 標(biāo)識符與保留字
2.3 基本數(shù)據(jù)類型
2.4 數(shù)據(jù)類型的轉(zhuǎn)換
2.5 數(shù)組
第3章 運(yùn)算符和編碼規(guī)范
3.1 數(shù)學(xué)運(yùn)算符
3.2 關(guān)系運(yùn)算符
3.3 三目運(yùn)算符
3.4 邏輯運(yùn)算符
3.5 位運(yùn)算符
3.6 運(yùn)算符的優(yōu)先級
3.7 編碼規(guī)范
第4章 流程控制語句
4.1 條件語句
4.2 循環(huán)語句
第5章 面向?qū)ο缶幊?
5.1 面向?qū)ο蟮木幊趟枷?
5.2 類和對象
5.3 屬性
5.4 方法
5.5 this關(guān)鍵字
5.6 static關(guān)鍵字
5.7 代碼塊
第6章 包裝類
6.1 String類
6.2 Integer類
6.3 Boolean類
6.4 Character類
6.5 Double類
6.6 Number類
6.7 Date類
第7章 繼承與多態(tài)
7.1 繼承
7.2 多態(tài)
第8章 接口與內(nèi)部類
8.1 接口
8.2 內(nèi)部類
第9章 集合類
9.1 Collection接口
9.2 List集合
9.3 Set集合
9.4 Map集合
9.5 其他集合類
9.6 算法
第10章 異常與調(diào)試
10.1 認(rèn)識異常
10.2 捕獲異常
10.3 自定義異常
10.4 斷言
10.5 日志
10.6 調(diào)試技術(shù)
第11章 Java I/O
11.1 文件操作
11.2 輸入和輸出
11.3 字符編碼
11.4 對象序列化
第12章 反射
12.1 認(rèn)識反射機(jī)制
12.2 Class類對象實例化
12.3 反射機(jī)制與類操作
12.4 反射與設(shè)計模式
第13章 多線程
13.1 認(rèn)識多線程
13.2 線程的生命周期
13.3 創(chuàng)建與操作線程
13.4 線程同步
13.5 線程之間的協(xié)作
13.6 線程池
第14章 網(wǎng)絡(luò)編程
14.1 網(wǎng)絡(luò)知識
14.2 TCP編程
14.3 UDP編程
第15章 數(shù)據(jù)庫編程
15.1 數(shù)據(jù)庫簡介
15.2 JDBC簡介
15.3 數(shù)據(jù)庫操作
第16章 Swing用戶界面組件
16.1 認(rèn)識Swing
16.2 Swing組件
16.3 布局管理器
16.4 事件處理
第17章 Web編程
17.1 認(rèn)識 Web開發(fā)
17.2 Java Web開發(fā)的主流框架
17.3 Web服務(wù)器
17.4 創(chuàng)建Java Web項目
17.5 Web開發(fā)相關(guān)技術(shù)
第18章 企業(yè)設(shè)備管理系統(tǒng)
18.1 系統(tǒng)分析
18.2 系統(tǒng)設(shè)計
18.3 開發(fā)環(huán)境
18.4 系統(tǒng)實現(xiàn)
參考文獻(xiàn)
Java編程入門與項目應(yīng)用 節(jié)選
第14章 網(wǎng)絡(luò)編程 計算機(jī)通過路由器等設(shè)備接入網(wǎng)絡(luò),網(wǎng)絡(luò)與網(wǎng)絡(luò)串連形成了龐大的互聯(lián)網(wǎng),接入到互聯(lián)網(wǎng)的各個計算機(jī)之間通過應(yīng)用程序(如QQ等)可以互相通信,這些應(yīng)用程序的實現(xiàn)正是依賴于網(wǎng)絡(luò)編程。 了解網(wǎng)絡(luò)基礎(chǔ)知識,掌握網(wǎng)絡(luò)編程的方法,能讓你進(jìn)一步熟悉計算機(jī)與計算機(jī)之間通信的具體過程。 14.1 網(wǎng)絡(luò)知識 14.1.1 網(wǎng)絡(luò)與網(wǎng)絡(luò)協(xié)議 網(wǎng)絡(luò)編程是指編寫與其他計算機(jī)進(jìn)行通信的程序。計算機(jī)網(wǎng)絡(luò)實現(xiàn)了計算機(jī)與計算機(jī)之間的互連,網(wǎng)絡(luò)應(yīng)用程序借助網(wǎng)絡(luò)協(xié)議實現(xiàn)計算機(jī)之間的數(shù)據(jù)交流,完成互聯(lián)應(yīng)用。 在現(xiàn)實世界中,大家接入到網(wǎng)絡(luò)中時,好像都處于同一個網(wǎng)絡(luò),因為所有接入到網(wǎng)絡(luò)中的計算機(jī)相互之間都能通信,但其實,我們經(jīng)常使用的計算機(jī)網(wǎng)絡(luò)是由許許多多不同類型的網(wǎng)絡(luò)通過路由器互連而成的。 計算機(jī)與計算機(jī)之間想要互相通信,必須遵守同樣的通信協(xié)議。國際標(biāo)準(zhǔn)化組織ISO于1981年提出了開放系統(tǒng)互聯(lián)模型OSI,該模型共分為七層,由下到上依次為:物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會話層、表示層和應(yīng)用層。這個標(biāo)準(zhǔn)模型的建立大大推動了網(wǎng)絡(luò)通信的發(fā)展。 14.1.2 TCP/IP協(xié)議 TCP協(xié)議是傳輸層協(xié)議,IP協(xié)議是網(wǎng)絡(luò)層協(xié)議。其實,人們常說的TCP/IP協(xié)議不只包含TCP協(xié)議和IP協(xié)議,它是一個協(xié)議簇,包含F(xiàn)TP(應(yīng)用層)、SMTP(應(yīng)用層)、UDP(傳輸層)、TCP(傳輸層)、IP(網(wǎng)絡(luò)層)等多種協(xié)議,在這些協(xié)議中,TCP協(xié)議和IP協(xié)議*具有代表性,因此被稱為TCP/IP協(xié)議。 IP協(xié)議是表示網(wǎng)絡(luò)之間互聯(lián)的協(xié)議,它的全稱為InternetProtocol。它位于網(wǎng)絡(luò)層,向上可以為傳輸層提供各種協(xié)議的信息,向下可以將IP信息包放到數(shù)據(jù)鏈路層傳送。IP協(xié)議不保證傳送分組的可靠性和順序,所傳送的分組有可能丟失或者產(chǎn)生亂序。 TCP協(xié)議是傳輸控制協(xié)議。它位于傳輸層,是一種面向連接的、可靠的傳輸層通信協(xié)議。許多更高級的協(xié)議也是建立在TCP協(xié)議之上的,例如我們?yōu)g覽網(wǎng)頁時使用的HTTP協(xié)議,發(fā)送郵件時使用的SMTP協(xié)議等。 UDP協(xié)議是無連接通信協(xié)議,它不保證數(shù)據(jù)一定能可靠傳輸,它傳輸?shù)臄?shù)據(jù)也無法保證有序,但正是因為使用UDP協(xié)議無需建立連接,所以其數(shù)據(jù)傳輸速度更快。使用UDP協(xié)議能夠向若干個目標(biāo)地址發(fā)送數(shù)據(jù),也可以接收來自若干個源的數(shù)據(jù)。 計算機(jī)與計算機(jī)之間相互通信其實是兩臺計算機(jī)中的進(jìn)程間相互通信,而兩個進(jìn)程間相互通信依靠的則是TCP、UDP等協(xié)議。 技巧點(diǎn)撥 TCP協(xié)議和UDP協(xié)議的應(yīng)用場景 TCP協(xié)議適用于對數(shù)據(jù)準(zhǔn)確性要求高的場景,如文件傳輸,郵件的收發(fā)等。 UDP協(xié)議適用于即時通信,對數(shù)據(jù)準(zhǔn)確性要求不高的場景,如IP電話、實時視頻會議等。 14.1.3 IP地址 互聯(lián)網(wǎng)的出現(xiàn)極大地改變了人們的生活,現(xiàn)在人們可以使用電腦上網(wǎng),使用各種通訊軟件(如微信、QQ等)聊天,還能在線看電影、視頻等,我們在使用這些服務(wù)之前,都需要與服務(wù)端進(jìn)行連接,然后才能通信。那么,在互聯(lián)網(wǎng)這個大網(wǎng)絡(luò)中,用戶的計算機(jī)是如何找到服務(wù)端的呢? 在現(xiàn)實生活中,我們要去商場買東西首先得知道商場的地址,在網(wǎng)絡(luò)中也一樣,想要與其他計算機(jī)進(jìn)行連接也必須知道對方的地址。如果我們把整個因特網(wǎng)看成是一個大的網(wǎng)絡(luò),那么連接在這個網(wǎng)絡(luò)中的每臺計算機(jī)都有一個屬于自己的唯一的標(biāo)識符,這個標(biāo)識符就是IP地址,它是一個32位的整數(shù)(IPv4地址),是每臺計算機(jī)在網(wǎng)絡(luò)中的地址,計算機(jī)與計算機(jī)之間進(jìn)行連接和通信都需要依靠IP地址。 IPv4協(xié)議中的IP地址是32位的整數(shù),為了便于閱讀,人們一般把IP地址的每8位分為一組,共分為4組,組與組之間使用“.”分隔,*終將IP地址以“×.×.×.×”形式表示,例如IP地址“192.168.1.199”。 隨著互聯(lián)網(wǎng)中的用戶數(shù)逐漸增多,IPv4中的地址已經(jīng)無法滿足需求,因此又提出了IPv6協(xié)議,IPv6協(xié)議中的地址是128位整數(shù)。 14.2 TCP編程 14.2.1 套接字 套接字(Socket),是網(wǎng)絡(luò)編程的基本組件。它位于傳輸層和應(yīng)用層之間,是應(yīng)用層與TCP/IP協(xié)議簇進(jìn)行通信的中間層(圖14-1)。Socket向下對TCP/IP協(xié)議進(jìn)行封裝,向上為應(yīng)用層提供接口,應(yīng)用程序通過Socket向網(wǎng)絡(luò)發(fā)出請求或應(yīng)答網(wǎng)絡(luò)請求,使計算機(jī)與計算機(jī)之間可以互相通信。 Socket的功能是由操作系統(tǒng)提供的,Java語言對其進(jìn)行了簡單的封裝。為什么需要使用Socket進(jìn)行網(wǎng)絡(luò)通信呢?因為僅僅使用IP地址進(jìn)行通信是遠(yuǎn)遠(yuǎn)不夠的。同一臺計算機(jī)同一時間可能需要運(yùn)行多個網(wǎng)絡(luò)應(yīng)用程序,如瀏覽器、聊天軟件、郵件等,如果一個數(shù)據(jù)包只包含IP地址,則無法區(qū)分這個數(shù)據(jù)包是提供給哪個應(yīng)用程序的。 Socket由IP地址和端口號組成,通過Socket可以將應(yīng)用程序與端口連接起來,方便接收數(shù)據(jù)包。端口并非真實的物理存在,而是一個假想的連接裝置。端口號的取值范圍為0~65535,一般選取1024以后的端口號,因為前面的已經(jīng)被常用應(yīng)用程序占用了。 14.2.2 使用套接字通信的流程 TCP是面向連接的傳輸層協(xié)議,在傳輸數(shù)據(jù)之前,必須先建立連接。利用TCP協(xié)議進(jìn)行通信的兩個應(yīng)用程序,一個為服務(wù)端程序,一個為客戶端程序,客戶端和服務(wù)端使用套接字進(jìn)行通信的流程如圖14-2所示。 java.net.Server Socket類表示服務(wù)器套接字,它主要用于接收客戶端的請求。服務(wù)器套接字一次可以與一個套接字連接,如果存在多個連接請求,則多余的連接請求會進(jìn)入等待隊列。 常用的Server-Socket類的構(gòu)造方法如下所示。 ServerSocket(int port) port表示應(yīng)用程序使用的端口號,該構(gòu)造方法用于創(chuàng)建一個綁定到特定端口的服務(wù)器套接字。 ServerSocket類的常用方法如下所示。 accept() 該方法用于等待客戶端的連接,若連接成功,則返回一個Socket對象。 isBound() 該方法用于判斷ServerSocket的綁定狀態(tài)。 getInetAddress() 該方法用于獲取InetAddress對象,該對象表示服務(wù)器套接字的本地地址。 close() 該方法用于關(guān)閉服務(wù)器套接字。 bind(SocketAddress endpoint) 該方法將ServerSocket綁定到由IP地址和端口號指定的特定地址。 getLocalPort() 該方法用于獲取服務(wù)器套接字監(jiān)聽的端口號。 14.2.3 TCP編程實例 ServerSocket對象通過accept()方法與客戶端建立連接,一旦連接建立成功將返回一個Socket對象,然后通過該Socket對象與客戶端通信,ServerSocket對象繼續(xù)監(jiān)聽其他客戶端連接。 Socket對象通過getInputStream()方法和getOutputStream()方法可以分別獲得輸入流和輸出流,用于讀取信息和寫入信息。 【例】分別創(chuàng)建服務(wù)端和客戶端,使二者基于TCP協(xié)議進(jìn)行聊天通信。 定義TCPServer類表示服務(wù)端,定義TCPClient類表示客戶端,服務(wù)端與客戶端建立連接后,二者可互相發(fā)送消息,當(dāng)接收到“exit”時,斷開連接,通信結(jié)束。具體代碼如下所示。 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.net.ServerSocket; import java.net.Socket; import java.nio.charset.StandardCharsets; import java.util.Scanner; ……
Java編程入門與項目應(yīng)用 作者簡介
黎明,副教授,英國布拉德福德大學(xué)軟件工程專業(yè)碩士,對數(shù)據(jù)庫、知識工程及生物信息學(xué)頗有研究。 丁潔,計算機(jī)技術(shù)工程專業(yè)碩士,理學(xué)與經(jīng)濟(jì)學(xué)雙學(xué)士,深耕信息技術(shù)基礎(chǔ)、編程語言應(yīng)用及電子商務(wù)技術(shù)等領(lǐng)域。 張雪英,山西大學(xué)軟件工程專業(yè)碩士,主要從事電子技術(shù)與軟件工程、網(wǎng)絡(luò)安全技術(shù)與應(yīng)用方面的研究。
- >
有舍有得是人生
- >
詩經(jīng)-先民的歌唱
- >
朝聞道
- >
名家?guī)阕x魯迅:朝花夕拾
- >
小考拉的故事-套裝共3冊
- >
史學(xué)評論
- >
新文學(xué)天穹兩巨星--魯迅與胡適/紅燭學(xué)術(shù)叢書(紅燭學(xué)術(shù)叢書)
- >
山海經(jīng)