本書循序漸進,由淺入深。針對初學者難以轉(zhuǎn)換開發(fā)思維的情況,進行了較深的原理講解,同時適量增加了大量實例,并以序號的形式,分點進行詳解。內(nèi)容豐富重實用。本書主要面向?qū)ο鬄榱慊A(chǔ)或初級程序開發(fā)者。以實際應(yīng)用為目標,從Java基礎(chǔ)開始講解,到數(shù)據(jù)庫操作,去除了使用率不高的SWING應(yīng)用,把該篇幅的容量增加到其他相對重要的章節(jié),讓讀者學到更符合開發(fā)者的技能。細致入微實戰(zhàn)強。書中大量的使用了實例,一個知識點一個實例,一段注釋講解,同時章尾配有鞏固案例。
適讀人群 :計算機相關(guān)專業(yè)本科生
本書特點:1)教材配套課件與習題答案。2)書中使用了大量實例,一個知識點一個實例,一段注釋講解,同時章尾配有鞏固案例。3)與同類書籍相比,教材對基本概念的講解透徹,條理清晰,步驟詳細。4)作者有多年的教學和軟件開發(fā)經(jīng)驗,能保證教材質(zhì)量。
Java是比較流行的開發(fā)語言之一。Java語言之所以受到廣大用戶的青睞,一方面是它的易學易用,使初學者能夠很快上手;另一方面是它具有的跨平臺特性,在Windows操作系統(tǒng)和Linux操作系統(tǒng)上都可以使用Java語言開發(fā)的軟件。此外,隨著目前移動端軟件開發(fā)的興起,且Android的用戶占有率較大,而Java是學習Android開發(fā)的基礎(chǔ),因此,Java越來越受歡迎。Java作為面向?qū)ο缶幊填I(lǐng)域中的引領(lǐng)者,在版本不斷更新的同時,也注重編寫便捷性方面的改進和完善。目前,對于軟件開發(fā)類的企業(yè)來說,Java語言的需求人數(shù)遠高于其他的語言。
克服以往Java教材中存在的一些問題,如專業(yè)性太強、版本相對滯后、理論實踐脫節(jié)等,本書內(nèi)容從初級讀者入手,按照知識的體系結(jié)構(gòu)和讀者的特點,進階增加知識點。本書可以引導(dǎo)讀者快速掌握Java的基本語法、文件、線程以及網(wǎng)絡(luò)編程的應(yīng)用,進而完成對JDBC的學習,最后實現(xiàn)用Java語言連接Oracle數(shù)據(jù)庫的操作。本書的內(nèi)容設(shè)置由淺入深,重點突出,注重理論與實踐相結(jié)合,可快速提高讀者的Java知識水平。
基本內(nèi)容本書采用JDK 17版本,在Eclipse Mars工具下演示程序,講述了Java的基本元素、控制語句、數(shù)組、面向?qū)ο蟮然A(chǔ)內(nèi)容之后,介紹了文件和流、線程、網(wǎng)絡(luò)編程,最后講解了使用Java語言連接Oracle數(shù)據(jù)庫,涵蓋了Java從初學到進階的所有主要內(nèi)容。
全書共13章,各章的主要內(nèi)容如下:
第1章概括地介紹了Java語言發(fā)展的歷史,Java環(huán)境的安裝與配置,以及Eclipse開發(fā)工具的下載、安裝及使用。
第2章講解了Java的基礎(chǔ)知識,包括關(guān)鍵字和標識符、變量和常量、運算符和表達式的使用,以及注釋在Java中的應(yīng)用。
第3章介紹了Java中的流程控制語句,包括選擇語句if、switch的使用和循環(huán)語句while、for的使用等。
第4章講解了Java中數(shù)組的使用,包括一維數(shù)組和多維數(shù)組的聲明以及應(yīng)用。
第5章講解了Java中字符串的定義以及常用的操作,比如,字符串的替換、查找、截取等操作。
第6章講解了Java中面向?qū)ο蟮幕A(chǔ),包括類、對象、方法的定義和使用等。
第7章講解了Java中面向?qū)ο蟮母呒墐?nèi)容,包括繼承、多態(tài)、接口、抽象類、內(nèi)部類的使用等。
第8章講解了Java中的異常處理,包括系統(tǒng)異常以及自定義異常的使用。
第9章講解了 Java中的集合與工具類的使用。集合部分包括List、Set、Map三種接口的集合實現(xiàn)類,以及泛型集合的使用;工具類部分包括日期類型、數(shù)值類型的轉(zhuǎn)換等。
第10章講解了文件和流的應(yīng)用。文件部分講解了文件的創(chuàng)建和基本的文件操作;流部分講解了字節(jié)流、字符流以及從處理流的使用等。
第11章講解了多線程的使用,包括多線程程序的實現(xiàn)以及線程的同步和互斥等。
第12章講解了網(wǎng)絡(luò)編程的應(yīng)用,包括使用UDP和TCP方式的Socket編程以及多線程的網(wǎng)絡(luò)編程等。
第13章講解了使用Java語言連接Oracle數(shù)據(jù)庫,包括對數(shù)據(jù)表的增、刪、改、查的操作,以及使用用戶登錄注冊的實例演練JDBC連接數(shù)據(jù)庫的應(yīng)用。
主要特點本書作者多年來一直從事Java相關(guān)課程的講授及圖書的撰寫,并在多個軟件項目中使用Java數(shù)據(jù)庫,有著豐富的教學實踐和編寫經(jīng)驗。
本書采用最常用的版本Java 7作為學習軟件,由淺入深地系統(tǒng)介紹了Java語言的語法及應(yīng)用。每章開始都有“本章學習目標”,做到目標明確,方便老師教學及學生對各章內(nèi)容的掌握,起到提綱挈領(lǐng)的作用。每章后的“小結(jié)”對本章所學的內(nèi)容進行了梳理。對有實踐操作要求的章節(jié),配有完整的案例,以加深對相關(guān)知識的理解。
本書具有以下特點。
● 從零開始,輕松入門。
● 圖解案例,清晰直觀。
● 圖文并茂,操作簡單。
● 實例引導(dǎo),專業(yè)經(jīng)典。
● 學以致用,注重實踐。
讀者對象本書的讀者對象包括:Java的初級讀者;具有一定Java基礎(chǔ)知識、希望進一步系統(tǒng)學習的讀者;大中專院校計算機相關(guān)專業(yè)的學生;使用Java語言的軟件開發(fā)人員。
本書可以作為大專院校計算機相關(guān)專業(yè)專科及本科的授課教材,也可以作為相關(guān)培訓(xùn)的輔導(dǎo)用書,同時也非常適合作為技術(shù)人員的參考手冊。
配套資源簡介為了方便讀者學習,本書配套提供了多媒體教學資源,其中包含了本書教學視頻、主要課后習題答案以及PPT教學課件等,這些文件都保存在相應(yīng)章節(jié)的文件夾中,相信會為讀者的學習帶來便利。
本書由東北大學秦婧、劉存勇和沈陽工業(yè)大學鐘鈴共同編寫。在編寫過程中得到了同行的支持和幫助,在這里一并表示感謝。
對于書中可能存在的錯誤和不妥之處,請讀者提出寶貴意見。
編者
出版說明
前言
第1章認識Java
1.1了解Java
1.1.1Java的歷史
1.1.2Java的特點和優(yōu)勢
1.2開發(fā)環(huán)境的搭建
1.2.1安裝JDK
1.2.2JRE與JDK的關(guān)系
1.2.3環(huán)境變量的配置
1.2.4運行第一個程序
1.3Eclipse簡介
1.3.1Eclipse的安裝
1.3.2常用菜單介紹
1.3.3創(chuàng)建第一個項目
1.4小結(jié)
1.5習題
第2章Java基礎(chǔ)元素
2.1標識符和關(guān)鍵字
2.1.1標識符
2.1.2關(guān)鍵字和保留字
2.2八種基本數(shù)據(jù)類型
2.2.1數(shù)據(jù)類型劃分
2.2.2整數(shù)類型
2.2.3浮點類型
2.2.4字符類型和布爾類型
2.3常量和變量
2.3.1變量的聲明
2.3.2常量的聲明
2.3.3基本數(shù)據(jù)類型之間的轉(zhuǎn)換
2.3.4實例演練:char類型與整型
轉(zhuǎn)換
2.4運算符
2.4.1算術(shù)運算符
2.4.2賦值運算符
2.4.3比較運算符
2.4.4邏輯運算符
2.4.5位運算符
2.4.6運算符優(yōu)先級
2.4.7表達式
2.4.8三目運算符
2.4.9實例演練1:使用三元運算符
取得2個數(shù)中的較大值
2.4.10實例演練2:使用位運算符計
算2的4次冪
2.5代碼的注釋
2.6小結(jié)
2.7習題
第3章流程控制
3.1順序結(jié)構(gòu)
3.2選擇結(jié)構(gòu)
3.2.1if語句
3.2.2switch語句
3.2.3實例演練1:根據(jù)身高范圍指
明衣服尺碼
3.2.4實例演練2:根據(jù)手機號判斷
運營商
3.3循環(huán)結(jié)構(gòu)
3.3.1while語句
3.3.2do…while語句
3.3.3for語句
3.3.4實例演練1:打印三角形與矩形
3.3.5實例演練2:給定一個整數(shù),求得
各位數(shù)的乘積
3.4跳轉(zhuǎn)操作
3.4.1break語句
3.4.2continue語句
3.4.3return語句
3.4.4實例演練:輸出1~50內(nèi),能被3
和7整除的數(shù)
3.5綜合實例:猜數(shù)游戲
3.6小結(jié)
3.7習題
第4章數(shù)組
4.1一維數(shù)組
4.1.1一維數(shù)組的聲明和初始化
4.1.2一維數(shù)組的訪問
4.1.3數(shù)組的異常
4.1.4實例演練:輸出數(shù)組中比數(shù)組
元素平均值小的數(shù)
4.2多維數(shù)組
4.2.1多維數(shù)組的定義和創(chuàng)建
4.2.2多維數(shù)組的遍歷和訪問
4.2.3實例演練: 以數(shù)組描述倉庫模型
4.3數(shù)組相關(guān)操作
4.3.1數(shù)組的排序
4.3.2數(shù)組的復(fù)制
4.3.3實例演練:找出一維數(shù)組中的
最大值和最小值
4.4綜合實例1:冒泡排序與選擇
排序
4.5綜合實例2:行列轉(zhuǎn)置
4.6綜合實例3:1~10中的5個數(shù)
不重復(fù)地加入到數(shù)組中
4.7小結(jié)
4.8習題
第5章字符串
5.1認識字符串相關(guān)類
5.1.1String類
5.1.2StringBuilder類
5.1.3StringBuffer類
5.2字符串相關(guān)操作
5.2.1判斷空字符串
5.2.2比較字符串
5.2.3連接字符串
5.2.4分割字符串
5.2.5字符替換
5.2.6去除字符串首尾空格
5.2.7獲取指定字符的位置
5.2.8字母大小寫轉(zhuǎn)換
5.2.9字符串截取
5.2.10字符串開始與結(jié)束
5.2.11返回指定索引處的值
5.2.12基礎(chǔ)類型轉(zhuǎn)換為字符串
5.2.13實例演練1:驗證字符串是否
是純數(shù)字
5.2.14實例演練2:查看字符串中含
有多少個“#”
5.3綜合實例1:根據(jù)輸入的字符串,
將其控制在5個字符
5.4綜合實例2:刪除重復(fù)字符
5.5小結(jié)
5.6習題
第6章面向?qū)ο蠡A(chǔ)
6.1理解面向?qū)ο?nbsp;
6.1.1了解常用的術(shù)語
6.1.2面向?qū)ο蠛兔嫦蜻^程的區(qū)別
6.1.3理解對象
6.1.4理解類
6.2類
6.2.1類的定義
6.2.2成員變量
6.2.3成員方法
6.2.4成員修飾符
6.2.5成員變量與局部變量的區(qū)別
6.2.6main方法
6.3類的實例
6.3.1構(gòu)造器
6.3.2創(chuàng)建類的實例
6.3.3訪問實例的成員
6.3.4this關(guān)鍵字
6.3.5匿名對象
6.3.6垃圾回收
6.4方法
6.4.1方法的定義
6.4.2方法的分類
6.4.3方法的調(diào)用
6.4.4方法的參數(shù)傳遞
6.4.5方法的重載
6.4.6實例演練:使用方法重載編寫
求不同類型最大值的方法
6.5static關(guān)鍵字
6.5.1使用static修飾變量
6.5.2使用static修飾方法
6.5.3使用static修飾代碼塊
6.5.4單例模式
6.5.5實例演練:使用靜態(tài)代碼塊初
始化屬性
6.6包
6.6.1包的概念及應(yīng)用
6.6.2使用import導(dǎo)入包
6.6.3Java常用的包
6.7綜合實例:學生信息管理
6.8小結(jié)
6.9習題
第7章面向?qū)ο蟾呒?nbsp;
7.1面向?qū)ο蟮奶匦?nbsp;
7.2繼承
7.2.1理解繼承的概念
7.2.2實現(xiàn)類的繼承
7.2.3子類實例化過程
7.2.4方法的重寫
7.2.5父類引用指向子類實例
7.2.6super關(guān)鍵字
7.2.7實例演練:實現(xiàn)不同級別員工
工資的計算
7.3抽象類和接口
7.3.1抽象類和抽象方法
7.3.2接口的概念
7.3.3接口的創(chuàng)建和實現(xiàn)
7.3.4接口的實現(xiàn)
7.3.5接口的繼承
7.3.6接口和抽象類的區(qū)別
7.3.7實例演練:銀行存取款機
7.4多態(tài)
7.4.1什么是多態(tài)
7.4.2多態(tài)的優(yōu)勢
7.4.3實例演練1:使用繼承實現(xiàn)
不同專業(yè)的課程設(shè)置
7.4.4實例演練2:使用接口實現(xiàn)
賓館不同房型的設(shè)置
7.5內(nèi)部類
7.5.1內(nèi)部類特性
7.5.2成員內(nèi)部類
7.5.3靜態(tài)內(nèi)部類
7.5.4方法內(nèi)部類
7.5.5匿名內(nèi)部類
7.6綜合演練:使用繼承實現(xiàn)不同
專業(yè)學生成績統(tǒng)計
7.7小結(jié)
7.8習題
第8章異常
8.1認識異常
8.1.1了解Java異常
8.1.2異常類的繼承關(guān)系
8.2異常的處理
8.2.1異常處理過程
8.2.2try…catch…finally語句
8.2.3Java7的改進
8.3常見應(yīng)用
8.3.1獲取異常信息
8.3.2異常的作用和使用原則
8.3.3常見的異常類
8.3.4實例演練:利用finally重新
計算結(jié)果
8.4異常的拋出
8.4.1方法頭中的throws關(guān)鍵字
8.4.2方法體中的throw語句
8.5自定義異常
8.5.1自定義異常的方法
8.5.2實例演練:自定義異常,提示圓
半徑不能是負數(shù)
8.6小結(jié)
8.7習題
第9章集合和工具類
9.1集合概述
9.1.1集合與數(shù)組的比較
9.1.2集合繼承層次
9.2Collection接口下的繼承者
9.2.1Collection接口
9.2.2Set接口
9.2.3HashSet和TreeSet
9.2.4List接口
9.2.5ArrayList和LinkedList
9.3集合訪問器Iterator接口
9.4集合工具類Collections
9.5Map接口
9.5.1Map接口簡介
9.5.2HashMap和TreeMap
9.6泛型集合
9.7常用工具類
9.7.1Java API文檔
9.7.2Math類
9.7.3日期處理
9.7.4實例演練1:使用Math方法對
隨機產(chǎn)生的小數(shù)取整
9.7.5實例演練2:根據(jù)給定的時間,
計算N小時后的時間
9.8綜合實例:查找集合中符合要
求的元素并組成新集合
9.9小結(jié)
9.10習題
第10章文件和流
10.1文件
10.1.1認識File類
10.1.2File類的應(yīng)用
10.1.3實例演練:遍歷指定目錄所有文件,
并更新所有txt文件的名稱
10.2字節(jié)流與字符流
10.2.1字節(jié)流
10.2.2字符流
10.3處理流
10.3.1認識處理流
10.3.2特定數(shù)據(jù)類型訪問處理流
10.3.3對象序列化處理流
10.3.4緩沖處理流
10.4綜合演練:通過文件存取
圖書類的信息
10.5小結(jié)
10.6習題
第11章多線程
11.1線程概述
11.2線程實現(xiàn)
11.2.1通過Thread子類實現(xiàn)
11.2.2通過Runnable接口實現(xiàn)
11.2.3Thread與Runnable的區(qū)別
11.2.4實例演練:使用多線程實現(xiàn)
多個鬧鐘叫醒服務(wù)
11.3線程的控制
11.3.1線程的生命周期
11.3.2 線程的優(yōu)先級
11.3.3 線程的休眠與中斷
11.4 線程的同步與互斥
11.4.1線程安全問題與死鎖
11.4.2線程同步
11.4.3線程間的通信
11.4.4實例演練:使用多線程實現(xiàn)
打印ABC
11.5 綜合實例:使用多線程
實現(xiàn)電影院售票
11.6小結(jié)
11.7習題
第12章網(wǎng)絡(luò)編程
12.1網(wǎng)絡(luò)基礎(chǔ)知識
12.1.1Internet與OSI
12.1.2IP地址與端口號
12.1.3UDP與TCP
12.2Socket編程
12.2.1認識Socket
12.2.2InetAddress類
12.2.3基于UDP的Socket程序
12.2.4基于TCP的Socket程序
12.2.5基于TCP的多線程Socket
程序
12.3綜合實例:猜拳游戲
12.4小結(jié)
12.5習題
第13章使用JDBC連接數(shù)據(jù)庫
13.1JDBC基礎(chǔ)
13.1.1JDBC簡介
13.1.2JDBC常用類和接口
13.2使用JDBC操作數(shù)據(jù)庫
13.2.1編寫數(shù)據(jù)操作類
13.2.2查詢數(shù)據(jù)
13.2.3增加數(shù)據(jù)
13.2.4修改數(shù)據(jù)
13.2.5刪除數(shù)據(jù)
13.3綜合實例:用戶登錄注冊
模塊
13.4小結(jié)
參考文獻