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