本書從企業(yè)用人的實(shí)踐技術(shù)需求出發(fā),系統(tǒng)地介紹了Java語言及相關(guān)技術(shù)。全書共15章,其中前3章為Java的入門基礎(chǔ),主要包括Java簡介及開發(fā)環(huán)境搭建、Java基礎(chǔ)語法等;第4章至第5章介紹Java面向?qū)ο缶幊蹋嬗懻摿嗣嫦驅(qū)ο蟪绦蛟O(shè)計(jì)開發(fā)的思維方法及在Java中語言中的實(shí)現(xiàn);第6章針對(duì)具體的軟件項(xiàng)目開發(fā)案例,綜合使用面向?qū)ο蟮母鞣N技術(shù),包括封裝、繼承、多態(tài)、接口等;第7章介紹了Java軟件開發(fā)中常用的系統(tǒng)API類,包括System、Random、Date、Calendar等,此外還介紹了字符串相關(guān)類;第8章介紹了Java集合框架的知識(shí),包括單列集合Collection和雙列集合Map;第9章介紹了Java中的異常處理機(jī)制;第10章介紹了文件操作和二進(jìn)制流技術(shù);第11章介紹線程的基本知識(shí),包括線程的創(chuàng)建、使用等;第12章介紹數(shù)據(jù)庫的相關(guān)基本概念,JDBC技術(shù)常用類及接口,以及JDBC數(shù)據(jù)庫編程的方法;第13章介紹網(wǎng)絡(luò)編程的相關(guān)知識(shí),重點(diǎn)介紹了Socket技術(shù);第14章介紹了GUI基本知識(shí),包括布局、組件、容器等;第15章以飛機(jī)大戰(zhàn)游戲?yàn)榘咐,綜合使用各種Java技術(shù)完成設(shè)計(jì)與開發(fā)。本書結(jié)構(gòu)合理,語言簡練,內(nèi)容深入淺出,以案例的方式講解各章知識(shí)點(diǎn),使讀者學(xué)而知所用,體現(xiàn)了Java編程語言的實(shí)踐性特點(diǎn),本書可以作為高等院校和培訓(xùn)班相關(guān)專業(yè)的教材,還可供從事計(jì)算機(jī)技術(shù)、電子商務(wù)、系統(tǒng)工程的人員和企業(yè)技術(shù)人員參考。
JAVA語言 程序設(shè)計(jì) 配套課件 配套代碼
劉志剛,男,博士,副教授,碩士生導(dǎo)師,新加坡國立大學(xué)訪問學(xué)者(2018-2019年),國際電氣和電子工程師協(xié)會(huì)IEEE會(huì)員、中國計(jì)算機(jī)學(xué)會(huì)CCF會(huì)員。多年來專注于機(jī)器學(xué)習(xí)理論、深度學(xué)習(xí)理論、計(jì)算機(jī)視覺方面的應(yīng)用研究,《IEEE Transactions on Neural Networks and Learning Systems》、《Journal of Photogrammetry and Remote Sensing》等國際期刊審稿專家。先后主持和參與黑龍江省自然科學(xué)基金、中石油股份公司、中石油勘探研究院、大慶油田的等各類科技項(xiàng)目30余項(xiàng),主編專業(yè)教材3部;在《Neurocomputing》、《AppliedIntelligence》、《中國石油大學(xué)學(xué)報(bào)》等領(lǐng)域重要期刊發(fā)表學(xué)術(shù)論文16篇,其中SCIEI論文12篇;申報(bào)國家發(fā)明專利3項(xiàng),實(shí)用新型專利授權(quán)7項(xiàng);獲中國石油和化學(xué)工業(yè)聯(lián)合會(huì)科學(xué)技術(shù)獎(jiǎng)三等獎(jiǎng)1項(xiàng),中國石油教育學(xué)會(huì)教學(xué)成果獎(jiǎng)1項(xiàng),黑龍江省學(xué)術(shù)成果獎(jiǎng)三等獎(jiǎng)1項(xiàng),東北石油大學(xué)青年教師賽課優(yōu)秀獎(jiǎng)1項(xiàng)。
第1章Java概述
1.1Java語言簡介
1.1.1Java發(fā)展簡史
1.1.2Java的影響力
1.1.3Java的語言特點(diǎn)
1.2Java平臺(tái)及主要應(yīng)用方向
1.3Java的運(yùn)行機(jī)制及JVM
1.4Java的JDK和JRE
1.4.1什么是JDK
1.4.2什么是JRE
1.5Java的開發(fā)環(huán)境
1.5.1集成開發(fā)環(huán)境IDE
1.5.2安裝JDK
1.5.3安裝Eclipse
1.6Java程序的編寫與執(zhí)行
1.6.1記事本編寫Java程序
1.6.2Eclipse編寫Java程序
1.7Java程序的輸入輸出與注釋語句
1.7.1輸出語句
1.7.2輸入語句
1.7.3注釋語句
1.8生成Java文檔
本章小結(jié)
習(xí)題
第2章Java語言基礎(chǔ)
2.1Java程序的構(gòu)成
2.2Java的標(biāo)識(shí)符
2.3Java的數(shù)據(jù)類型
2.3.1字符類型
2.3.2數(shù)值類型
2.4Java的變量和常量
2.4.1變量
2.4.2常量
2.5Java的常見運(yùn)算符
2.5.1賦值運(yùn)算符
2.5.2算術(shù)運(yùn)算符
2.5.3比較運(yùn)算符
2.5.4邏輯運(yùn)算符
2.5.5條件運(yùn)算符
2.6Java程序的流程控制
2.7選擇結(jié)構(gòu)
2.7.1單分支結(jié)構(gòu)if語句
2.7.2雙分支結(jié)構(gòu)if-else語句
2.7.3多分支結(jié)構(gòu)if-else if-else語句
2.7.4多分支結(jié)構(gòu)switch語句
2.8循環(huán)結(jié)構(gòu)
2.8.1for循環(huán)
2.8.2while循環(huán)
2.8.3do…while循環(huán)
2.9跳轉(zhuǎn)語句
2.9.1break語句
2.9.2continue語句
2.9.3return語句
本章小結(jié)
習(xí)題
第3章方法和數(shù)組
3.1方法
3.1.1什么是方法
3.1.2方法的重載
3.1.3方法的遞歸
3.2數(shù)組
3.2.1數(shù)組的基本概念
3.2.2一維數(shù)組
3.2.3二維數(shù)組
3.2.4數(shù)組排序
3.2.5數(shù)組查找
3.2.6復(fù)制數(shù)組
3.2.7Arrays數(shù)組操作類
3.3數(shù)組作為方法的參數(shù)
本章小結(jié)
習(xí)題
第4章類和對(duì)象
4.1面向?qū)ο蟾攀?br />4.1.1封裝性
4.1.2繼承性
4.1.3多態(tài)性
4.2類的描述
4.2.1類的定義
4.2.2類的使用
4.2.3類的設(shè)計(jì)
4.2.4類的成 員封裝
4.3對(duì)象的創(chuàng)建與使用
4.3.1對(duì)象的創(chuàng)建
4.3.2對(duì)象的比較
4.3.3對(duì)象的使用
4.3.4匿名對(duì)象
4.3.5對(duì)象的內(nèi)存分配
4.3.6對(duì)象的內(nèi)存釋放
4.4構(gòu)造方法
4.4.1構(gòu)造方法的定義
4.4.2構(gòu)造方法的重載
4.5this關(guān)鍵字
4.6static關(guān)鍵字
4.6.1靜態(tài)變量
4.6.2靜態(tài)方法
4.6.3靜態(tài)代碼塊
4.7垃圾回收
4.8包
4.8.1包的定義
4.8.2類的導(dǎo)入
4.8.3靜態(tài)導(dǎo)入
4.9程序文件的組織
4.9.1源文件和字節(jié)碼文件
4.9.2Java項(xiàng)目的目錄結(jié)構(gòu)
4.9.3在Java項(xiàng)目中添加Java類
4.9.4以包的形式管理Java類
本章小結(jié)
習(xí)題
第5章繼承和多態(tài)
5.1類的繼承
5.1.1繼承的概念
5.1.2重寫父類方法
5.1.3super關(guān)鍵字
5.2final關(guān)鍵字
5.2.1final關(guān)鍵字修飾類
5.2.2final關(guān)鍵字修飾方法
5.2.3final關(guān)鍵字修飾變量
5.3抽象類與接口
5.3.1抽象類
5.3.2接口
5.4多態(tài)
5.4.1多態(tài)概述
5.4.2對(duì)象類型轉(zhuǎn)換和instanceof
5.4.3Object類
5.5訪問控制
5.5.1公共權(quán)限
5.5.2私有權(quán)限
5.5.3默認(rèn)權(quán)限
5.5.4保護(hù)權(quán)限
5.6內(nèi)部類
5.6.1成員內(nèi)部類
5.6.2靜態(tài)內(nèi)部類
5.6.3方法內(nèi)部類
5.6.4匿名內(nèi)部類
5.7泛型
5.7.1泛型數(shù)據(jù)類型
5.7.2接口中的泛型
5.7.3泛型類
5.7.4泛型方法
5.8反射
5.8.1使用Class類實(shí)例化對(duì)象
5.8.2使用Class實(shí)現(xiàn)反射
本章小結(jié)
習(xí)題
第6章面向?qū)ο缶C合案例
6.1案例場景
6.2案例實(shí)現(xiàn)A
6.2.1代碼實(shí)現(xiàn)
6.2.2案例實(shí)現(xiàn)分析
6.3案例實(shí)現(xiàn)B
6.3.1代碼實(shí)現(xiàn)
6.3.2案例實(shí)現(xiàn)分析
6.4案例實(shí)現(xiàn)C
6.4.1代碼實(shí)現(xiàn)
6.4.2案例實(shí)現(xiàn)分析
6.5案例實(shí)現(xiàn)D
6.5.1代碼實(shí)現(xiàn)
6.5.2案例實(shí)現(xiàn)分析
本章小結(jié)
習(xí)題
第7章Java常用類
7.1數(shù)據(jù)包裝類
7.1.1構(gòu)造方法產(chǎn)生包裝類對(duì)象
7.1.2valueOf方法產(chǎn)生包裝類對(duì)象
7.1.3將十進(jìn)制轉(zhuǎn)換為二進(jìn)制和十六進(jìn)制
7.1.4字符串與數(shù)值的轉(zhuǎn)換
7.1.5自動(dòng)裝箱與拆箱
7.2String類
7.2.1構(gòu)造字符串對(duì)象
7.2.2String類的常用方法
7.2.3對(duì)象的字符串表示
7.2.4字符串與字符數(shù)組
7.3StringBuffer類
7.3.1StringBuffer對(duì)象的創(chuàng)建
7.3.2StringBuffer類的常用方法
7.4StringTokenizer類
7.5System類與Runtime類
7.5.1System類
7.5.2Runtime類
7.6Math類與Random類
7.6.1Math類
7.6.2Random類
7.7日期操作類
7.7.1Date類
7.7.2Calendar類
7.7.3DateFormat類
7.7.4SimpleDateFormat類
本章小結(jié)
習(xí)題
第8章集合框架
8.1集合框架概述
8.1.1集合框架介紹
8.1.2集合框架層次結(jié)構(gòu)
8.2Collection接口
8.3List集合
8.3.1List接口
8.3.2ArrayList類
8.3.3LinkedList類
8.3.4集合遍歷
8.4Set集合
8.4.1Set接口
8.4.2HashSet類
8.4.3TreeSet類
8.4.4集合遍歷
8.5Map集合
8.5.1Map接口
8.5.2HashMap類
8.5.3TreeMap類
8.5.4集合遍歷
8.6Collections工具類
8.6.1復(fù)制、增加
8.6.2查找、替換
8.6.3排序
本章小結(jié)
習(xí)題
第9章異常處理
9.1異常處理概述
9.1.1異常的結(jié)構(gòu)體系
9.1.2初識(shí)異常
9.2Java異常類型
9.2.1運(yùn)行時(shí)異常
9.2.2非運(yùn)行時(shí)異常
9.3異常捕捉、處理
9.3.1try…catch
9.3.2throws/throw
9.4自定義異常
9.4.1自定義異常
9.4.2自定義異常的拋出、捕捉與處理
本章小結(jié)
習(xí)題
第10章文件讀寫與數(shù)據(jù)流
10.1Java IO流
10.1.1IO流分類
10.1.2初識(shí)IO流
10.2File類
10.2.1File類的常用方法
10.2.2操作文件屬性
10.2.3創(chuàng)建刪除文件及文件夾
10.2.4遍歷目錄
10.3字節(jié)流
10.3.1字節(jié)流分類
10.3.2使用字節(jié)流讀寫文件
10.3.3使用字節(jié)流復(fù)制文件
10.3.4使用字節(jié)流緩沖區(qū)
10.3.5使用字節(jié)緩沖流
10.4字符流
10.4.1字符流分類
10.4.2使用字符流讀寫文件
10.4.3使用字符流緩沖區(qū)
10.4.4使用字符緩沖流
10.4.5轉(zhuǎn)換流
本章小結(jié)
習(xí)題
第11章多線程
11.1線程概述
11.1.1進(jìn)程與線程
11.1.2認(rèn)識(shí)線程
11.2線程的創(chuàng)建
11.2.1支持線程的類
11.2.2繼承Thread類創(chuàng)建多線程
11.2.3實(shí)現(xiàn)Runnable接口創(chuàng)建多線程
11.2.4兩種實(shí)現(xiàn)多線程方式的對(duì)比分析
11.2.5后臺(tái)線程
11.3線程的生命周期及狀態(tài)轉(zhuǎn)換
11.4線程調(diào)度與優(yōu)先級(jí)
11.4.1線程調(diào)度策略
11.4.2線程優(yōu)先級(jí)
11.5線程的基本控制
11.5.1線程測試
11.5.2線程插隊(duì)
11.5.3線程讓步
11.5.4線程休眠
11.5.5線程中斷
11.6線程同步
11.6.1問題的提出
11.6.2同步代碼塊
11.6.3同步方法
11.6.4死鎖
本章小結(jié)
習(xí)題
第12章數(shù)據(jù)庫編程
12.1數(shù)據(jù)庫基礎(chǔ)知識(shí)
12.1.1數(shù)據(jù)
12.1.2數(shù)據(jù)庫
12.1.3數(shù)據(jù)庫管理系統(tǒng)
12.1.4數(shù)據(jù)庫系統(tǒng)
12.2JDBC簡介
12.2.1JDBC體系結(jié)構(gòu)
12.2.2JDBC驅(qū)動(dòng)類型
12.3JDBC常用API
12.3.1驅(qū)動(dòng)程序管理
12.3.2數(shù)據(jù)庫連接
12.3.3SQL語句
12.3.4數(shù)據(jù)
12.4搭建數(shù)據(jù)庫編程環(huán)境
12.4.1MySQL數(shù)據(jù)庫管理系統(tǒng)
12.4.2啟動(dòng)數(shù)據(jù)庫服務(wù)器
12.4.3下載數(shù)據(jù)庫驅(qū)動(dòng)
12.4.4加載驅(qū)動(dòng)程序
12.4.5連接數(shù)據(jù)庫
12.4.6關(guān)閉數(shù)據(jù)庫
12.5數(shù)據(jù)庫基本操作
12.5.1數(shù)據(jù)庫應(yīng)用開發(fā)基本方法
12.5.2創(chuàng)建數(shù)據(jù)庫與表
12.5.3插入數(shù)據(jù)
12.5.4查詢數(shù)據(jù)
12.5.5修改數(shù)據(jù)
12.5.6刪除數(shù)據(jù)
本章小結(jié)
習(xí)題
第13章網(wǎng)絡(luò)編程
13.1概述
13.1.1網(wǎng)絡(luò)通信基礎(chǔ)
13.1.2TCP協(xié)議與UDP協(xié)議
13.1.3網(wǎng)絡(luò)通信的支持機(jī)制
13.2URL通信機(jī)制
13.2.1URL簡介
13.2.2URL類
13.2.3讀取URL資源
13.2.4URLConnection類
13.3InetAddress類
13.4TCP通信
13.4.1TCP通信簡介
13.4.2套接字
13.4.3Socket
13.4.4ServerSocket
13.4.5簡單的TCP通信實(shí)例
13.5UDP通信
13.5.1UDP通信簡介
13.5.2DatagramPacket
13.5.3DatagramSocket
13.5.4簡單的UDP通信實(shí)例
本章小結(jié)
習(xí)題
第14章GUI開發(fā)
14.1GUI概述
14.1.1AWT簡介
14.1.2Swing簡介
14.1.3AWT與Swing區(qū)別
14.2一個(gè)簡單的窗口應(yīng)用
14.2.1基于Swing的GUI程序設(shè)計(jì)步驟
14.2.2模塊化設(shè)計(jì)
14.3Swing容器
14.3.1頂層容器
14.3.2中間容器
14.4常用布局管理器
14.4.1BorderLayout邊界布局管理器
14.4.2FlowLayout流式布局管理器
14.4.3CardLayout卡片布局管理器
14.4.4GridLayout網(wǎng)格布局管理器
14.4.5BoxLayout盒式布局管理器
14.4.6布局
14.5常用事件處理
14.5.1事件處理機(jī)制
14.5.2窗體事件
14.5.3鼠標(biāo)事件
14.5.4鍵盤事件
14.5.5動(dòng)作事件
14.5.6焦點(diǎn)事件
14.6Swing常用基本組件
14.6.1標(biāo)簽組件
14.6.2文本組件
14.6.3按鈕組件
14.6.4菜單組件
14.6.5列表組件
本章小結(jié)
習(xí)題
第15章Java游戲開發(fā)綜合案例
15.1飛機(jī)大戰(zhàn)游戲概述
15.2系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
15.2.1飛行物父類與接口
15.2.2英雄機(jī)
15.2.3敵飛機(jī)
15.2.4小蜜蜂
15.2.5子彈
15.2.5主程序
本章小結(jié)