好好學(xué)Java:從零基礎(chǔ)到項目實(shí)戰(zhàn)
定 價:128 元
- 作者:歐陽燊
- 出版時間:2020/7/1
- ISBN:9787302554189
- 出 版 社:清華大學(xué)出版社
- 中圖法分類:TP312.8JA
- 頁碼:608
- 紙張:膠版紙
- 版次:1
- 開本:16K
本書是一部Java基礎(chǔ)開發(fā)教程,使用Java 11 版本,以IntelliJ IDEA為開發(fā)環(huán)境,從軟件工程的視角講解Java編程的各種知識,由淺入深,由理論到實(shí)戰(zhàn),帶領(lǐng)讀者走進(jìn)Java編程的廣袤世界。全書共分為17章。其中第1~6章介紹Java的常見數(shù)據(jù)類型及開發(fā),包括基本變量類型、數(shù)組類型、包裝變量類型、字符串類型以及日期時間類型;第7~11章介紹面向?qū)ο蟮拈_發(fā)過程,包括面向?qū)ο蟮娜兀ǚ庋b、繼承、多態(tài))、面向?qū)ο蟮臄U(kuò)展(嵌套、枚舉、抽象、接口)、面向?qū)ο蟮膽?yīng)用(容器、泛型、文件IO)、面向?qū)ο蟮奶厥馓幚恚ó惓、反射、注解)以及基于面向(qū)ο蟮暮瘮?shù)式編程;第12~14章介紹Java語言的界面編程,包括AWT、Swing、JavaFX三大圖形框架的編碼運(yùn)用;第15~17章介紹Java編程的高級開發(fā),包括多線程、網(wǎng)絡(luò)通信和數(shù)據(jù)庫操作,各章末尾著重描述打地鼠游戲、即時通信工具、詩歌管理系統(tǒng)三大實(shí)戰(zhàn)項目的軟件設(shè)計及編碼實(shí)現(xiàn)。
本書適用于Java編程的初學(xué)者、有志于轉(zhuǎn)型Java開發(fā)的程序員,也可作為大中專院校與培訓(xùn)機(jī)構(gòu)的Java基礎(chǔ)課程教材。
本書是一本Java入門教程,可以幫助讀者迅速上手Java基礎(chǔ)編程。
本書詳細(xì)地講解了Java語言的語法構(gòu)成和編程技巧,但并不局限于傳統(tǒng)的Java編碼說明,而是以軟件工程的視角鋪敘編程知識,從基本的數(shù)學(xué)公式到專門的求解算法,從多樣的數(shù)據(jù)結(jié)構(gòu)到常見的設(shè)計模式,這些知識不僅適
用于Java語言,也適用于其他編程語言。如此編寫的目的是,力圖讓讀者掌握通用的編程技能,而非僅僅學(xué)會某個語言的編碼,以后讀者若去學(xué)習(xí)其他編程語言,則只要具備通用的編程技能,即可借此觸類旁通、事半功倍。
全書共17章內(nèi)容,分為4部分,其中第1~6章介紹了Java的常見數(shù)據(jù)類型及其開發(fā),包括基本變量類型、數(shù)組類
型、包裝變量類型、字符串類型,以及日期時間類型;
第7~11章介紹了面向?qū)ο蟮拈_發(fā)過程,包括面向?qū)ο蟮娜兀ǚ庋b、繼承、多態(tài)),面向?qū)ο蟮臄U(kuò)展(嵌套、
枚舉、抽象、接口),面向?qū)ο蟮膽?yīng)用(容器、泛型、文件IO),面向?qū)ο蟮奶厥馓幚恚ó惓、反射、注解?br />
以及基于面向?qū)ο蟮暮瘮?shù)式編程;
第12~14章介紹了Java語言的界面編程,包括AWT、Swing、JavaFX三大圖形框架的編碼運(yùn)用;
第15~17章介紹了Java編程的高級開發(fā),包括多線程、網(wǎng)絡(luò)通信和數(shù)據(jù)庫操作,各章末尾著重描述了打地鼠游戲、即時通信工具、詩歌管理系統(tǒng)三大實(shí)戰(zhàn)項目的軟件設(shè)計及其編碼實(shí)現(xiàn)。
編程的本質(zhì)是利用計算機(jī)為人們解決實(shí)際問題,這些問題可大可小,小的如加減乘除,大的如飛天登月,都離不開計算機(jī)指令的精確操作。但是計算機(jī)在誕生之初并不如此智能,相反它只會幾種簡單的指令,跟牙牙學(xué)語的嬰兒差不多,那么計算機(jī)又是怎樣精通十八般武藝的呢?雖然大家知道計算機(jī)程序由編程實(shí)現(xiàn),但背后離不開兩大基礎(chǔ)學(xué)科的發(fā)展壯大,其中一個是數(shù)學(xué),另一個是邏輯學(xué)。
數(shù)學(xué)是一切自然科學(xué)的基礎(chǔ),借助于數(shù)學(xué)已經(jīng)發(fā)現(xiàn)的各種算法和定理,計算機(jī)才能通過四則運(yùn)算實(shí)現(xiàn)各種科學(xué)計算,從而具備計算器的演算功能。而邏輯學(xué)提供了科學(xué)檢驗(yàn)的方法,根據(jù)存在的某種事實(shí),經(jīng)過判斷去推理結(jié)果,使得計算機(jī)能夠完成狀態(tài)機(jī)的因果判定。把計算器與狀態(tài)機(jī)結(jié)合在一起,并利用編程技術(shù)進(jìn)一步封裝方法和結(jié)構(gòu),使之開展更復(fù)雜的業(yè)務(wù)操作,由此誕生了早期的軟件程序,逐步發(fā)展成專業(yè)的軟件開發(fā)領(lǐng)域。
依據(jù)編程規(guī)范的差異,程序開發(fā)又可劃分為各類編程語言,從最早的機(jī)器語言,到稍后的匯編語言,再到以C語言為代表的中級語言,繼之以C++、Java為代表的高級語言,每種語言順應(yīng)時代要求各領(lǐng)風(fēng)騷若干年。Java便是其中一個長盛不衰的語言,不僅老而且新。說它老,是因?yàn)镴ava誕生于20世紀(jì)90年代,可謂來自20世紀(jì)的老古董;說它新,是因?yàn)樗堪肽昃桶l(fā)布一個新版本,迭代之快令人目不暇接。早在Java問世之時,它就提供了面向?qū)ο、跨平臺運(yùn)行等強(qiáng)大特性;自Java8開始,它又增加了函數(shù)式編程、流式處理等先進(jìn)理念,一直站在編程領(lǐng)域的發(fā)展前沿。
原本Java語言的設(shè)計者打算讓它涉獵三個開發(fā)方向,分別是:用于服務(wù)器的JavaEE、用于桌面程序的JavaSE、用于移動終端的JavaME。經(jīng)過二十余年的大浪淘沙,Java編程在企業(yè)服務(wù)器開發(fā)方向始終屹立不倒,它在國內(nèi)的市場份額遠(yuǎn)超另外兩個Web開發(fā)框架-PHP和.NET。此外,Java作為安卓系統(tǒng)的主要開發(fā)語言,它在移動互聯(lián)網(wǎng)時代更是大放異彩。一個擁有Java編程技能的求職者,既可投遞Web開發(fā)崗位,又能應(yīng)聘App開發(fā)職位,就業(yè)渠道無疑拓寬了許多。
因此,在未來的相當(dāng)長時期之內(nèi),Java編程都將是軟件開發(fā)的主力軍,而非像一些語言那樣曇花一現(xiàn)。盡管時代熱點(diǎn)此起彼伏,各路豪強(qiáng)語言輪番登臺,但多數(shù)語言缺乏龐大的產(chǎn)業(yè)基礎(chǔ),眾人一窩蜂追逐的結(jié)果,必然導(dǎo)致學(xué)成之日即是失業(yè)之時。唯有Java歷經(jīng)數(shù)十年的風(fēng)風(fēng)雨雨,至今仍保有國內(nèi)第一大編程語言的寶座。況且Java擁有這些年沉淀下來的眾多框架組件,旱己筑造一條難以逾越的護(hù)城河,加之各行各業(yè)推行“互聯(lián)網(wǎng)+”的革新,長遠(yuǎn)來看,這場數(shù)字變革將持續(xù)開展,帶動Java人才的需求居高不下。
第1章 Java開發(fā)環(huán)境搭建
1.1 JDK的安裝和配置
1.1.1 Java的發(fā)展歷程
1.1.2 下載和安裝JDK
1.1.3 配置環(huán)境變量
1.2 IntelliJIDEA的安裝與配置
1.2.1 安裝IntelliJIDEA
1.2.2 配置IntelliJIDEA
1.2.3 運(yùn)行第一個Java程序
1.3 Java虛擬機(jī)(JVM)
1.3.1 Java程序的運(yùn)行機(jī)制
1.3.2 JVM的體系結(jié)構(gòu)
1.3.3 JVM、JRE與JDK的區(qū)別
1.4 Java編程的基本概念
1.4.1 Java的代碼結(jié)構(gòu)
1.4.2 Java的特殊官吏
1.4.3 Java的度量衡
1.5 小結(jié)
第2章 數(shù)學(xué)運(yùn)算
2.1 數(shù)值變量
2.1.1 數(shù)值變量的類型
2.1.2 特殊數(shù)字的表達(dá)
2.1.3 強(qiáng)制類型轉(zhuǎn)換
2.2 算術(shù)運(yùn)算
2.2.1 四則運(yùn)算符
2.2.2 賦值運(yùn)算符
2.2.3 一元運(yùn)算符
2.3 數(shù)學(xué)函數(shù)
2.3.1 取整函數(shù)
2.3.2 取隨機(jī)數(shù)
2.3.3 科學(xué)計算函數(shù)
2.3.4 三角函數(shù)
2.4 實(shí)戰(zhàn)練習(xí)
2.4.1 利用牛頓迭代法求平方根
2.4.2 利用割圓術(shù)求解圓周率
2.5 小結(jié)
第3章 邏輯控制
3.1 邏輯運(yùn)算
3.1.1 布爾類型及其運(yùn)算
3.1.2 關(guān)系運(yùn)算符
3.1.3 運(yùn)算符的優(yōu)先級順序
3.1.4 按位邏輯與短路邏輯
3.2 控制語句
3.2.1 條件分支
3.2.2 多路分支
3.2.3 while循環(huán)
3.2.4 for循環(huán)
3.3 數(shù)組
3.3.1 一維數(shù)組
3.3.2 二維數(shù)組
3.3.3 冒號的幾種用法
3.3.4 數(shù)組工具Arrays
3.4 實(shí)戰(zhàn)練習(xí)
3.4.1 求解“雞兔同籠”問題
3.4.2 求解“韓信點(diǎn)兵”問題
3.4.3 利用二分查找法定位數(shù)組元素
3.5 小結(jié)
第4章 方法與包裝
4.1 方法定義
4.1.1 方法的組成形式
4.1.2 方法的輸入?yún)?shù)
4.1.3 方法的輸出參數(shù)
4.2 基本類型包裝
4.2.1 數(shù)值類型包裝
4.2.2 包裝變量的運(yùn)算
4.2.3 布爾類型包裝
4.3 大數(shù)字類型
4.3.1 大整數(shù)Big Integer
4.3.2 大小數(shù)Big Decimal
4.4 實(shí)戰(zhàn)練習(xí)
4.4.1 通過方法遞歸實(shí)現(xiàn)階乘函數(shù)
4.4.2 利用牛頓迭代法求大數(shù)開方
4.4.3 利用大數(shù)字求更精確的圓周率
4.5 小結(jié)
……
第5章 字符串與正則表達(dá)式
第6章 日期時間
第7章 類的三要素
第8章 特殊的類
第9章 容器與泛型
第10章 類的進(jìn)階用法
第11章 文件I/O處理
第12章 AWT界面編程
第13章 Swing界面編程
第14章 JavaFX界面編程
第15章 多線程
第16章 網(wǎng)絡(luò)通信
第17章 數(shù)據(jù)庫操作
附錄