Java從1995年誕生發(fā)展到現(xiàn)在,成為目前流行的程序設(shè)計語言之一,特別是隨著互聯(lián)網(wǎng)、人工智能、大數(shù)據(jù)、物聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,Java也與時俱進(jìn),不斷推出新版本、增加新特征,以適應(yīng)時代發(fā)展的要求。
多年教學(xué)過程中,作者選用過多部同類教材,這些教材有的內(nèi)容充實、知識新穎,有的案例豐富、講解生動,但針對學(xué)生特點和有限的課時,這些教材又或多或少顯現(xiàn)出不適宜之處,要么內(nèi)容太多太深,教學(xué)課時不夠,學(xué)生難以接受; 要么雖案例豐富但與生產(chǎn)實踐結(jié)合不緊密,內(nèi)容講解也不夠完整、系統(tǒng),知識點邏輯結(jié)構(gòu)編排不合理,不便學(xué)生構(gòu)建科學(xué)的知識體系。針對這些問題,作者結(jié)合多年來的Java教學(xué)經(jīng)驗和開發(fā)體會,結(jié)合企業(yè)需求,在參考了國內(nèi)外同類優(yōu)秀教材,并與多名從事本課程教學(xué)的教師研究后,確定教材編寫內(nèi)容、編寫風(fēng)格,編寫了本書。與同類教材相比,本書具有以下幾個顯著特點:
(1) 內(nèi)容精練、系統(tǒng)。Java是一門新型技術(shù),是很多學(xué)科都用到的技術(shù),其包含很多內(nèi)容,為在有限的時間內(nèi)將基礎(chǔ)的、關(guān)鍵的知識介紹給讀者,在內(nèi)容組織上進(jìn)行了嚴(yán)格的篩選和控制。教材建設(shè)過程中,為確保全書深度廣度適中,采用循序漸進(jìn)、從易到難的方法組織教材內(nèi)容,介紹相關(guān)知識。對書中的重難點理論知識和關(guān)鍵實踐操作,對應(yīng)部分給出微課視頻講解和演示二維碼。
(2) 體現(xiàn)直觀實用、易學(xué)、易教的編寫理念。Java程序設(shè)計一直被認(rèn)為是比較難教和難學(xué)的一門專業(yè)基礎(chǔ)課,本書編寫時,遵從學(xué)生的認(rèn)知規(guī)律,將抽象的Java技術(shù)盡量同比較直觀的、與生活實際密切聯(lián)系的實例結(jié)合起來,所以組織教材內(nèi)容時,針對每個知識點,精選典型的、新穎的、有趣的學(xué)科前沿應(yīng)用實例,通過實例介紹,讓學(xué)生對其Java特點形成比較深刻的感性認(rèn)識,從而帶著好奇去探究其深入的原理及應(yīng)用,達(dá)到學(xué)生易學(xué)、教師易教的目的。
(3) 教材按一體化形式編寫,突出能力培養(yǎng)。主要體現(xiàn)在教材編寫過程中,將理論講解和技能操作融為一體,以工程問題為導(dǎo)向,通過工程問題激發(fā)學(xué)生探索興趣。特別關(guān)注編程在科學(xué)和工程中的應(yīng)用,涵蓋包括人臉識別、語音信號分析、網(wǎng)絡(luò)應(yīng)用等不同領(lǐng)域的工程問題,將理論講解和技能操作融為一體,在講授編程方法的同時注重培養(yǎng)計算思維,為深度學(xué)習(xí)專業(yè)領(lǐng)域知識奠定基礎(chǔ)。在介紹每個知識點時,先設(shè)問題,再介紹知識點,最后總結(jié)使用該知識點解決問題的具體實現(xiàn)過程,強(qiáng)調(diào)學(xué)生實踐能力、思考能力和創(chuàng)新能力的培養(yǎng)。
(4) 教材結(jié)構(gòu)統(tǒng)一完整。 每章由教學(xué)重難點提示、教學(xué)內(nèi)容講解、應(yīng)用實例、本章歸納總結(jié)、習(xí)題與實踐等部分組成。這樣不僅有理論介紹,還有相應(yīng)的練習(xí),為進(jìn)一步理解和掌握抽象知識提供了保障。
全書共13章。第1章介紹了Java語言的發(fā)展、特點、工作原理、運(yùn)行環(huán)境的建立; 第2章通過案例介紹了Java程序的兩種基本模式的結(jié)構(gòu)及應(yīng)用; 第3章介紹了Java編程基礎(chǔ)語法; 第4章講解了類的抽象、封裝、包及訪問控制、內(nèi)部類等; 第5章詳細(xì)講述了繼承、多態(tài),非訪問控制符、接口等概念及應(yīng)用; 第6章詳細(xì)介紹了Java常用的基礎(chǔ)類與集合類的使用; 第7章介紹了Java圖形用戶界面中Java SE的Swing組件、AWT組件事件處理模型、布局管理器等; 第8章介紹了Java中輸入輸出流的使用及文件的操作; 第9章詳細(xì)介紹了Java通過JDBC連接、訪問數(shù)據(jù)庫的過程; 第10章介紹了Java的異常處理機(jī)制; 第11章介紹了多線程和網(wǎng)絡(luò)編程; 第12章通過案例介紹了Java與Java Web的關(guān)系; 第13章通過一個完整的案例開發(fā),詳細(xì)講解應(yīng)用Java開發(fā)應(yīng)用程序的方法和過程。
本書由段新娥、張志旺擔(dān)任主編,負(fù)責(zé)整體結(jié)構(gòu)的設(shè)計和全書的統(tǒng)稿定稿; 張志東、周鎖成擔(dān)任副主編。具體編寫分工如下: 第1、9章由段新娥編寫,第2章由王紅梅編寫,第3章由張志東編寫,第4章由曾照華編寫,第5章由周鎖成編寫,第6章由朱智磊編寫,第7章由張學(xué)峰編寫,第8章由劉紅梅編寫,第10章由張敬環(huán)編寫,第11章由康云香編寫,第12章由冀庚編寫,第13章由張志旺編寫。
為便于教學(xué),本書提供豐富的配套資源,包括教學(xué)課件、教學(xué)大綱、課程設(shè)計指導(dǎo)、習(xí)題答案、程序源碼、微課視頻、在線作業(yè)。
資源下載提示
課件等資源: 掃描封底的圖書資源二維碼,在公眾號書圈下載。
習(xí)題答案: 掃描課后習(xí)題旁的二維碼,可以獲取答案。
視頻等資源: 掃描封底的文泉云盤防盜碼,再掃描書中相應(yīng)章節(jié)的二維碼,可以在線學(xué)習(xí)。
在線作業(yè): 掃描封底的作業(yè)系統(tǒng)二維碼,登錄網(wǎng)站在線做題及查看答案。
本書在編寫過程中,得到許多同仁的支持,同時也參考了大量的書籍,在此向廣大同仁和所有參考書籍的作者表示衷心的感謝。
由于時間倉促,加之作者水平有限,書中難免存在疏漏和不妥之處,敬請讀者批評指正。
段新娥2025年1月
第1章Java概述
1.1Java語言的發(fā)展及特點
1.1.1Java的發(fā)展歷程
1.1.2Java語言的特點
1.1.3Java平臺與應(yīng)用
1.2Java工作原理
1.2.1Java程序運(yùn)行機(jī)制
1.2.2JVM、JRE和JDK
1.3Java運(yùn)行環(huán)境
1.3.1JDK下載和安裝
1.3.2JDK的目錄
1.3.3JDK環(huán)境變量配置
1.3.4Java API文檔的下載與使用
1.4開始編寫Java程序
1.4.1第一個Java應(yīng)用程序
1.4.2程序分析
1.4.3JShell交互式編程環(huán)境
1.5集成開發(fā)工具
1.5.1Eclipse的下載、安裝
1.5.2Eclipse的設(shè)置
1.5.3使用Eclipse開發(fā)Java項目的基本過程
1.6典型案例分析
1.6.1命令行顯示詩句
1.6.2桌面小游戲
1.7本章小結(jié)
課后習(xí)題
拓展閱讀
第2章Java程序的結(jié)構(gòu)及類型
2.1Java程序的類型
2.1.1Java程序的兩種模式
2.1.2兩種模式的結(jié)構(gòu)特征
2.2Java Application及其應(yīng)用
2.2.1Java Application實現(xiàn)命令行輸入輸出
2.2.2Java Application實現(xiàn)圖形用戶界面輸入輸出
2.3Java Applet及其應(yīng)用
2.3.1Java Applet的特點和工作原理
2.3.2Java Applet的應(yīng)用
2.4典型案例分析
2.4.1使用輸入對話框計算貸款到期還款數(shù)
2.4.2使用Java Applet實現(xiàn)加法運(yùn)算
2.4.3使用Java Applet實現(xiàn)畫圓
2.5本章小結(jié)
課后習(xí)題
Java語言程序設(shè)計復(fù)雜工程問題求解
目錄
第3章Java語言基礎(chǔ)
3.1Java程序的構(gòu)成
3.1.1Java程序的基本結(jié)構(gòu)
3.1.2Java程序的編碼規(guī)則
3.2Java數(shù)據(jù)類型、常量和變量
3.2.1數(shù)據(jù)類型
3.2.2常量
3.2.3變量
3.3Java運(yùn)算符、表達(dá)式、控制結(jié)構(gòu)
3.3.1運(yùn)算符
3.3.2表達(dá)式
3.3.3Java結(jié)構(gòu)控制語句
3.4數(shù)組
3.4.1數(shù)組的聲明和創(chuàng)建
3.4.2數(shù)組元素的引用
3.4.3數(shù)組應(yīng)用
3.4.4數(shù)組Array類
3.5典型案例
3.5.1人臉識別
3.5.2實現(xiàn)橋牌隨機(jī)發(fā)牌
3.6本章小結(jié)
課后習(xí)題
拓展閱讀
第4章抽象和封裝
4.1類與對象
4.1.1面向?qū)ο蟪绦蛟O(shè)計與面向過程程序設(shè)計
4.1.2類與對象的理解
4.1.3類的定義
4.1.4對象的實例化
4.1.5構(gòu)造函數(shù)
4.1.6方法的重載
4.2靜態(tài)變量與靜態(tài)方法
4.2.1靜態(tài)變量
4.2.2靜態(tài)方法
4.2.3靜態(tài)代碼塊
4.3包及訪問控制
4.3.1包及其使用
4.3.2訪問控制
4.3.3類、數(shù)據(jù)成員和方法的訪問控制
4.4內(nèi)部類
4.4.1成員內(nèi)部類
4.4.2靜態(tài)內(nèi)部類
4.4.3匿名內(nèi)部類
4.4.4局部內(nèi)部類
4.5類的關(guān)系
4.5.1關(guān)聯(lián)關(guān)系
4.5.2組合關(guān)系
4.5.3聚合關(guān)系
4.5.4依賴關(guān)系
4.6典型案例分析
4.6.1設(shè)計不同品牌汽車并顯示信息
4.6.2指紋識別
4.6.3銀行信息管理系統(tǒng)應(yīng)用程序
4.7本章小結(jié)
課后習(xí)題
拓展閱讀
第5章繼承和多態(tài)
5.1繼承
5.1.1繼承的基本概念
5.1.2Java 繼承的實現(xiàn)
5.1.3方法覆蓋
5.1.4成員隱藏
5.2多態(tài)
5.2.1多態(tài)概念的理解
5.2.2Java中的多態(tài)
5.3非訪問控制符
5.3.1static
5.3.2abstract
5.3.3final
5.4接口
5.4.1接口概念的理解
5.4.2接口的定義
5.4.3接口的應(yīng)用
5.5典型案例分析
5.5.1不同類別消費人員購物收費處理
5.5.2學(xué)生上網(wǎng)賬單管理應(yīng)用程序
5.5.3銀行賬戶管理
5.5.4動物的生活習(xí)性顯示
5.6本章小結(jié)
課后習(xí)題
拓展閱讀
第6章Java核心類
6.1Java基礎(chǔ)類庫
6.1.1Scanner類
6.1.2String類與StringBuffer類
6.1.3Math類和Random類
6.1.4日期類
6.2Java集合類
6.2.1Collection
6.2.2List
6.2.3Set
6.2.4Map
6.3典型案例分析
6.3.1輸入字符串以原字符串倒序輸出
6.3.2根據(jù)出生日期求現(xiàn)在年齡
6.4本章小結(jié)
課后習(xí)題
第7章圖形用戶界面
7.1圖形用戶界面的構(gòu)成
7.2容器和基本組件
7.2.1Swing概述
7.2.2容器
7.2.3組件
7.2.4簡單的Swing程序
7.3布局管理器
7.3.1BorderLayout邊布局管理器
7.3.2FlowLayout流布局管理器
7.3.3CardLayout布局(卡片疊式布局)管理器
7.3.4GridLayout網(wǎng)格布局管理器
7.3.5JPanel類及容器的嵌套
7.4事件處理
7.4.1事件處理模型
7.4.2事件類和事件監(jiān)聽器接口
7.4.3事件處理的基本步驟
7.4.4事件適配器及注冊事件監(jiān)聽器
7.5JavaFX圖形用戶界面工具
7.5.1JavaFX簡介
7.5.2配置JavaFX開發(fā)環(huán)境
7.5.3Eclipse中JavaFX Scene Builder的安裝及配置
7.5.4JavaFX基礎(chǔ)入門
7.6典型案例分析
7.6.1登錄界面設(shè)計
7.6.2系統(tǒng)主界面設(shè)計
7.7本章小結(jié)
課后習(xí)題
拓展閱讀
第8章輸入輸出流
8.1流
8.1.1流的定義和作用
8.1.2流的存在
8.2流的分類
8.2.1基本字節(jié)流
8.2.2基本字符流
8.3文件操作
8.3.1文件操作類
8.3.2文件過濾器接口
8.3.3文件對話框組件
8.3.4隨機(jī)存取文件類
8.4應(yīng)用實例
8.4.1一個文本編輯界面
8.4.2統(tǒng)計文件字符數(shù)、行數(shù)
8.5本章小結(jié)
課后習(xí)題
第9章JDBC數(shù)據(jù)庫連接
9.1JDBC概述
9.2JDBC訪問數(shù)據(jù)庫
9.2.1JDBC訪問數(shù)據(jù)庫的方法
9.2.2JDBC訪問數(shù)據(jù)庫的基本過程
9.2.3JDBC連接實例
9.3JDBC的常用類與接口
9.3.1DriverManager類
9.3.2Connection接口
9.3.3Statement和PreparedStatement接口
9.3.4ResultSet接口
9.4使用連接池訪問數(shù)據(jù)庫
9.5典型案例分析
9.5.1圖書信息查詢
9.5.2賬戶登錄信息處理
9.5.3圖書信息處理
9.6本章小結(jié)
課后習(xí)題
第10章Java異常處理
10.1異常概述
10.1.1異常及其分類
10.1.2Java中異常機(jī)制的原理
10.2異常處理
10.2.1Java異常處理模型
10.2.2用throws聲明異常
10.2.3用throw拋出異常
10.2.4用try和catch捕獲異常
10.2.5finally語句
10.2.6異常捕獲處理語法規(guī)則
10.3自定義異常
10.4典型案例分析
10.4.1打開不存在的文件
10.4.2銀行賬戶取錢異常處理
10.5本章小結(jié)
課后習(xí)題
第11章并發(fā)編程基礎(chǔ)
11.1Java多線程簡介
11.1.1進(jìn)程與線程的概念
11.1.2進(jìn)程與線程的關(guān)系
11.2Java中如何實現(xiàn)多線程
11.2.1通過繼承Thread類實現(xiàn)多線程
11.2.2通過繼承Runnable接口實現(xiàn)多線程
11.2.3線程對象的狀態(tài)、調(diào)度與生命周期
11.2.4線程的同步機(jī)制
11.3Java網(wǎng)絡(luò)編程
11.3.1網(wǎng)絡(luò)基本概念
11.3.2URL編程
11.3.3Java語言實現(xiàn)底層網(wǎng)絡(luò)通信
11.4典型案例分析
11.4.1火車票售票模擬程序
11.4.2建立醫(yī)生和患者之間的雙向?qū)υ?/p>
11.5本章小結(jié)
課后習(xí)題
第12章Java與Java Web
12.1Java Web概述
12.2Java Web運(yùn)行與開發(fā)環(huán)境的安裝與配置
12.3典型案例
12.3.1JSP技術(shù)開發(fā)舉例
12.3.2例121程序改進(jìn)
12.4本章小結(jié)
第13章課程設(shè)計綜合案例
13.1需求分析
13.2系統(tǒng)設(shè)計
13.2.1系統(tǒng)功能結(jié)構(gòu)
13.2.2構(gòu)建開發(fā)環(huán)境
13.2.3數(shù)據(jù)庫設(shè)計
13.2.4文件夾組織結(jié)構(gòu)
13.3系統(tǒng)實現(xiàn)
13.3.1公共模塊
13.3.2登錄模塊設(shè)計
13.3.3主窗體設(shè)計
13.4系統(tǒng)測試
13.4.1讀者管理模塊
13.4.2圖書信息模塊
13.4.3借還模塊
13.4.4設(shè)置模塊
13.4.5報表模塊
13.5本章小結(jié)
參考文獻(xiàn)