Java語言是由Sun Microsystems公司于1995年推出的面向?qū)ο蟮某绦蛟O計語言,是一種簡單、面向?qū)ο、分布式、解釋性、健壯、安全與系統(tǒng)無關、可移植、高性能、多線程和動態(tài)的語言。其因良好的跨平臺性,在Web和移動互聯(lián)網(wǎng)中廣泛使用。
Java語言是目前應用最廣泛的面向?qū)ο蟮某绦蛟O計語言之一。它通過面向?qū)ο蟮姆绞,將現(xiàn)實世界的事物抽象成對象,將現(xiàn)實世界中的關系抽象成類、繼承,幫助人們實現(xiàn)對現(xiàn)實世界的抽象與數(shù)字建模。面向?qū)ο蟮姆绞,更利于程序開發(fā)者對復雜系統(tǒng)進行分析、設計與編程,同時,還能有效提高編程的效率。由于面向?qū)ο蠓椒ǖ耐怀鰞?yōu)點,目前,它已成為開發(fā)研發(fā)型軟件所采用的主要方法。
值得一提的是,2008年10月第一部Android智能手機發(fā)布。Android系統(tǒng)逐漸應用于平板電腦及其他領域,如電視、數(shù)碼相機、游戲機等。隨著Android系統(tǒng)的蓬勃發(fā)展,Java語言也具備了更廣闊的應用空間和發(fā)展前景。
Java語言借鑒了C語言。但是,由于Java本身是一個完整的程序設計語言,而且它是以面向?qū)ο笞鳛樵O計思想的,所以Java語言可以作為入門語言來學習,本書也立足于此。學習本書并不需要讀者具有C語言基礎。
作為程序語言的入門書籍,本書內(nèi)容全面、示例豐富,不僅詳細地介紹了Java語言自身,而且介紹了面向?qū)ο蟆⒍嗑程、數(shù)據(jù)庫編程、網(wǎng)絡編程等。全書注重基礎性和實用性,有利于讀者在實踐中掌握面向?qū)ο蟮木幊汤砟詈吞岣呓鉀Q問題的能力。
本書由湖南軟件職業(yè)學院軟件工程系劉群、謝鐘揚、馬慶擔任主編,張海良、周海珍、李兵、易蘭英、張征擔任副主編,黃利紅、曾琴、唐玲林、蘇秀芝、王康、張維參與了本書的編寫工作,全書由左國才主審。
由于編者水平有限及計算機知識更新速度快,本書難免有不妥之處,懇請廣大讀者和專家批評指正。對本書的任何問題,請讀者通過郵件方式發(fā)至35720263@qq.com,我們將不勝感激。
編 者
2022年3月
本書作為Java程序設計的入門教材,突出了“工學結(jié)合、任務驅(qū)動”的編寫思想,力求深入淺出、有的放矢,以示例的展開引入理論的闡述,便于讀者掌握Java語言的編程特點。
本書分為10章,內(nèi)容包括Java概述、Java程序設計基礎、Java流程控制語句、數(shù)組與字符串、面向?qū)ο蟪绦蛟O計、異常處理、多線程程序設計、數(shù)據(jù)庫編程、輸入/輸出處理、網(wǎng)絡編程等。
本書語言簡潔易懂,分析精辟深刻,適合作為高職院校計算機相關專業(yè)的教材,也可作為計算機技術(shù)的培訓教材,還可作為Java認證考試用書。
第1章 Java概述 1
1.1 Java語言概述 1
1.1.1 Java語言的背景 1
1.1.2 Java語言的特性 2
1.1.3 Java和C、C++ 的比較 4
1.1.4 Java的應用 6
1.1.5 Java開發(fā)平臺 7
1.1.6 一個簡單的Java程序 8
1.2 Java開發(fā)環(huán)境 10
1.2.1 Java虛擬機(JVM) 10
1.2.2 JDK、JRE、JVM之間的關系 10
1.2.3 JDK目錄結(jié)構(gòu) 11
1.3 Eclipse使用介紹 12
1.3.1 Eclipse的發(fā)展背景 12
1.3.2 Eclipse的主要特點 12
1.3.3 Eclipse的下載與安裝 13
1.3.4 Eclipse的開發(fā)環(huán)境 13
課后練習 20
第2章 Java程序設計基礎 21
2.1 標識符與數(shù)據(jù)類型 21
2.1.1 標識符 21
2.1.2 數(shù)據(jù)類型 22
2.2 常量與變量 23
2.2.1 常量 23
2.2.2 變量 24
2.2.3 變量的作用域 26
2.2.4 變量的默認值 26
2.3 語句、表達式和運算符 26
2.3.1 賦值運算符與賦值表達式 27
2.3.2 語句 27
2.3.3 算術(shù)運算符 27
2.3.4 關系運算符 28
2.3.5 邏輯運算符 29
2.3.6 位運算符 29
2.3.7 其他運算符 29
2.3.8 運算符的優(yōu)先級 29
2.4 數(shù)據(jù)類型之間的轉(zhuǎn)換 30
2.4.1 自動類型轉(zhuǎn)換 30
2.4.2 強制類型轉(zhuǎn)換 31
2.4.3 表達式的類型轉(zhuǎn)換 32
2.5 注釋 32
2.6 關鍵字 33
2.7 Java編碼規(guī)范與編碼格式 33
課后練習 35
第3章 Java流程控制語句 36
3.1 分支語句 36
3.1.1 if語句 36
3.1.2 switch語句 41
3.2 循環(huán)語句 44
3.2.1 while語句 44
3.2.2 do-while語句 45
3.2.3 for語句 45
3.2.4 循環(huán)語句對比 47
3.3 跳轉(zhuǎn)語句 48
3.3.1 break語句 48
3.3.2 continue 語句 49
3.3.3 return語句 50
課后練習 50
第4章 數(shù)組與字符串 51
4.1 數(shù)組 51
4.1.1 一維數(shù)組的定義 51
4.1.2 一維數(shù)組的初始化 52
4.1.3 一維數(shù)組的引用 52
4.1.4 多維數(shù)組 53
4.1.5 二維數(shù)組的定義 53
4.1.6 二維數(shù)組的初始化 54
4.1.7 二維數(shù)組的引用 54
4.2 字符串 54
4.2.1 字符串常量 54
4.2.2 String類字符串 55
4.2.3 StringBuffer類字符串 59
課后練習 61
第5章 面向?qū)ο蟪绦蛟O計 62
5.1 面向?qū)ο蟪绦蛟O計的思想 62
5.1.1 面向?qū)ο蟮姆椒▽W 63
5.1.2 面向?qū)ο蟪绦蛟O計的基本概念 63
5.2 類和對象 66
5.2.1 軟件對象 66
5.2.2 類聲明和類體 67
5.2.3 如何創(chuàng)建和使用對象 68
5.2.4 類的方法 70
5.3 類和封裝 73
5.3.1 封裝 73
5.3.2 訪問控制 74
5.3.3 構(gòu)造方法 75
5.3.4 this的用法 76
5.3.5 靜態(tài)常量 76
5.3.6 final關鍵字 76
5.4 類和繼承 77
5.4.1 繼承 77
5.4.2 抽象類和抽象方法 79
5.5 類和多態(tài) 80
5.6 接口 82
5.7 包 82
5.7.1 創(chuàng)建包 83
5.7.2 導入包 83
5.7.3 包的內(nèi)容 84
5.7.4 包對象和規(guī)范 85
5.8 面向?qū)ο笤O計原則 85
課后練習 86
第6章 異常處理 87
6.1 異常和異常處理 87
6.1.1 異常 87
6.1.2 異常處理機制 87
6.1.3 Java中異常類和異常對象 88
6.1.4 異常捕獲與處理 89
6.1.5 一個異常處理的實例 92
6.2 異常處理語句 92
6.2.1 try-catch語句 92
6.2.2 try-catch-finally語句 96
6.2.3 throw語句 97
6.2.4 throws語句 97
6.2.5 Java異常處理的特點 98
6.3 創(chuàng)建用戶自定義異常類 98
課后練習 99
第7章 多線程程序設計 100
7.1 線程的概念 100
7.1.1 線程、進程和多任務 100
7.1.2 Java中的多線程 101
7.2 多線程程序設計 101
7.2.1 從Thread類繼承 101
7.2.2 實現(xiàn)Runnable接口 103
7.3 多線程的狀態(tài)處理 104
7.3.1 線程的狀態(tài) 104
7.3.2 對線程狀態(tài)的控制 104
7.4 線程的同步與共享 105
7.4.1 線程的同步 105
7.4.2 線程的優(yōu)先級 106
7.4.3 生產(chǎn)者—消費者問題 106
課后練習 109
第8章 數(shù)據(jù)庫編程 110
8.1 JDBC概述 110
8.1.1 什么是JDBC 110
8.1.2 JDBC體系結(jié)構(gòu) 110
8.1.3 JDBC的用途 111
8.1.4 JDBC 驅(qū)動程序的類型 111
8.1.5 JDBC與ODBC的比較 112
8.2 JDBC實現(xiàn)數(shù)據(jù)庫操作的方法 113
8.2.1 加載驅(qū)動程序 113
8.2.2 建立數(shù)據(jù)庫連接 113
8.2.3 進行數(shù)據(jù)庫操作 114
8.2.4 處理執(zhí)行SQL語句的結(jié)果 114
8.2.5 釋放聲明語句 115
8.3 Statement接口詳解 115
8.4 數(shù)據(jù)庫連接實例 116
8.4.1 連接MySQL數(shù)據(jù)庫 116
8.4.2 連接Oracle數(shù)據(jù)庫 116
8.4.3 連接SQL Server數(shù)據(jù)庫 117
課后練習 118
第9章 輸入/輸出處理 119
9.1 輸入/輸出流的概述 119
9.1.1 輸入/輸出流的概念 119
9.1.2 輸入/輸出類層次 119
9.1.3 標準輸入/輸出 121
9.2 輸入/輸出流的分類 123
9.2.1 I/O流的四個基本類 123
9.2.2 I/O流的具體分類 124
9.3 字節(jié)流 125
9.4 字符流 131
9.5 InputStream與Reader的差別以及OutputStream與Writer的差別 132
9.6 綜合實例 133
課后練習 136
第10章 網(wǎng)絡編程 137
10.1 網(wǎng)絡技術(shù)的基本概念 138
10.1.1 TCP/IP協(xié)議集合 138
10.1.2 IP地址與端口 139
10.1.3 URL 139
10.2 Java網(wǎng)絡技術(shù)架構(gòu) 140
10.3 URL編程 140
10.3.1 創(chuàng)建URL對象 140
10.3.2 獲取URL對象的信息 141
10.3.3 URL應用實例 141
10.4 Socket編程 142
10.4.1 Socket類和ServerSocket類 142
10.4.2 Socket編程基本步驟 143
10.4.3 Socket通信實例 143
課后練習 145
參考文獻 146