注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計JAVA及其相關(guān)Java核心編程從問題分析到代碼實現(xiàn)(第3版 上下冊)

Java核心編程從問題分析到代碼實現(xiàn)(第3版 上下冊)

Java核心編程從問題分析到代碼實現(xiàn)(第3版 上下冊)

定 價:¥198.00

作 者: [美]約翰·迪恩(John Dean), [美]雷蒙德·迪恩(Raymond Dean)
出版社: 水利水電出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787522604459 出版時間: 2022-05-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 940 字?jǐn)?shù):  

內(nèi)容簡介

  在本書中,我們將帶領(lǐng)您進(jìn)入有趣且令人興奮的計算機(jī)編程世界。在整個“旅程”中,我們將為您提供大量的解決問題的練習(xí)。畢竟,優(yōu)秀的程序員需要善于解決問題。我們將展示如何使用Java程序?qū)崿F(xiàn)問題解決方案。我們提供了大量的示例,簡短的示例集中解釋一個概念,而較長的示例更貼近真實的程序設(shè)計。我們以會話的方式呈現(xiàn)材料,以便于理解,讓這個“旅程”更加愉快。讀完這本書后,你應(yīng)該可以成為一名熟練的Java程序員。本書面向廣泛的讀者。它既適合標(biāo)準(zhǔn)的大學(xué)水平的“程序設(shè)計入門”課程或課程序列的學(xué)生,也適合有一些編程經(jīng)驗并想學(xué)習(xí)Java的行業(yè)從業(yè)者和大學(xué)水平的學(xué)生,本書還適合自學(xué)Java的學(xué)生。本書特色:1 教材的基石:解決問題解決問題的能力是所有程序員必須掌握的核心技能。本書通過強(qiáng)調(diào)算法開發(fā)和程序設(shè)計兩個關(guān)鍵元素講解程序化地解決問題的方法。1.1 強(qiáng)調(diào)算法開發(fā)在第2章,我們在算法示例中使用偽代碼代替Java,使讀者沉浸在算法開發(fā)中。在使用偽代碼時,讀者能夠自己解決復(fù)雜的問題,而不會陷入Java的語法困境中—不用擔(dān)心類頭部、分號、括號等。解決復(fù)雜問題可以使讀者獲得對創(chuàng)造力、邏輯能力以及組織能力的初步理解。沒有這種理解,讀者就會傾向于以死記硬背的態(tài)度來學(xué)習(xí)Java語法。但是有了這種理解,讀者學(xué)習(xí)Java語法往往會更高效,因為他們有了學(xué)習(xí)它的基礎(chǔ)動力。在第3章和之后的章節(jié)的算法開發(fā)示例中,我們主要依靠Java。但對于更復(fù)雜的問題,我們有時候會使用高級的偽代碼來描述個提出的解決方案。使用偽代碼可以使讀者繞過語法細(xì)節(jié),專注于解決方案中的算法部分。1.2 強(qiáng)調(diào)程序設(shè)計解決問題不僅僅是開發(fā)一個算法,還包括找出算法的實現(xiàn),即程序設(shè)計。程序設(shè)計非常重要,這也是為什么我們會為它付出大量時間。通常,我們會解釋一個人在提出解決方法時可能經(jīng)歷的思考過程。舉例來說,我們解釋怎樣選擇不同的循環(huán)類型,怎樣將一個方法切分為多個方法,怎樣決定適當(dāng)?shù)念悾鯓舆x擇示例和靜態(tài)成員,以及怎樣使用繼承和組合確定類的關(guān)系。我們考驗讀者針對特定任務(wù)找出實現(xiàn)方案的能力。我們用一整章的篇幅來介紹程序設(shè)計—第8章。在那一章,我們?yōu)槌绦騿T和用戶提供了對代碼風(fēng)格約定和文檔的深度觀察,介紹了設(shè)計策略,如關(guān)注點分離、模塊化和封裝等。此外,我們講述了備選的設(shè)計策略—自上而下、自下而上、基于案例以及迭代增強(qiáng)。1.3 解決問題部分我們經(jīng)常在解釋概念的自然流程中解決問題(算法開發(fā)和程序設(shè)計),同時也在完全致力于解決章節(jié)中涵蓋的問題。在每個解決問題的章節(jié),我們都展示一個含有待解決問題的場景。在提出問題解決方案的過程中,我們試圖通過迭代設(shè)計策略來模仿現(xiàn)實世界中解決問題的經(jīng)驗。我們會提供一個第1版的解決方案,分析此方案,然后討論對它進(jìn)行可能的改進(jìn)。我們使用對話式的試錯方式。例如,“我們應(yīng)該使用哪一種布局管理器?我們先試一下GridLayout管理器。這樣可行,但還不夠好?,F(xiàn)在,讓我們再試一下BorderLayout管理器。”這種口語化的語氣使讀者放松,因為它傳出這樣一個信息,即程序員在找到方案之前需要反復(fù)解決問題,這是很正常的,而且事實上也是符合預(yù)期的。1.4 其他解決問題機(jī)制我們在整本書中都引入了解決問題的示例和解決問題的建議(不僅在第2章、第8章以及解決問題的章節(jié))。作為重點,在包含解決問題的示例或提示文本旁邊,我們插入一個解決問題的方框,它帶有一個圖標(biāo)和簡潔的提示。我們是通過示例來學(xué)習(xí)的堅定追隨者。因此,我們的教材中包含大量完整的程序示例,鼓勵讀者使用我們的程序作為范本來自己解決類似的問題。2 教材的基石:基本原理優(yōu)先2.1將需要復(fù)雜語法的概念延后我們認(rèn)為許多入門級的教材太快地跳躍到需要復(fù)雜語法的概念。太早使用復(fù)雜語法,讀者會養(yǎng)成沒有完全理解語法就輸入代碼的習(xí)慣,甚至更糟—沒有完全理解示例代碼就直接從示例代碼復(fù)制粘貼。這可能會得不到理想的課程效果,限制讀者解決各種不同問題的能力。因此,我們傾向于將需要復(fù)雜語法的概念延后。作為這一理念的典型例子,我們在前期介紹簡單的GUI編程形式(在可選的圖形化編程訓(xùn)練中),在本書的后面涵蓋更復(fù)雜的GUI編程形式。特別是,我們把事件驅(qū)動的GUI編程延后到本書的結(jié)尾部分。這一點和一些其他的Java教材不同,它們偏向于早期就完全沉浸在事件驅(qū)動的GUI編程中。我們認(rèn)為這是錯誤的策略,因為正確的事件驅(qū)動GUI編程需要建立在對編程有十足的熟練度之上。當(dāng)我們的讀者在本書的結(jié)尾去學(xué)習(xí)它時,他們能夠更好地去完全理解它。2.2 示例追蹤要想高效地編寫代碼,徹底理解代碼勢在必行。我們發(fā)現(xiàn),一步一步地追蹤程序代碼是確保徹底理解代碼的有效途徑。因此,在本書較靠前的部分,當(dāng)引入一個新的編程結(jié)構(gòu)時,我們經(jīng)常會對它進(jìn)行細(xì)致入微的說明。我們采用的細(xì)節(jié)追蹤技術(shù)闡明了程序員在調(diào)試時的思考過程,是由集成開發(fā)環(huán)境(IDE)軟件的調(diào)試器生成,在顯示器上展示的一系列內(nèi)容的輸出替代品。2.3 輸入和輸出在可選的GUI跟蹤部分,以及本書末尾的GUI章節(jié),我們使用GUI命令來輸入和輸出(I/O)。不過鑒于我們強(qiáng)調(diào)的是基本原理,在本書的其他部分使用控制臺命令。對于控制臺輸入,我們使用Scanner類;對于控制臺輸出,我們使用標(biāo)準(zhǔn)的System.out.print、System.out.println和System.out.printf方法。3 教材的基石:貼近現(xiàn)實如今,課堂上的學(xué)生和業(yè)界中的從業(yè)者往往更喜歡通過上手實踐與貼近現(xiàn)實的方式來學(xué)習(xí)。為滿足這一需求,我們的教材以及配套的網(wǎng)站引入了以下資源。?編譯工具。?完整的程序示例。?程序設(shè)計中的實踐指導(dǎo)。?基于行業(yè)標(biāo)準(zhǔn)的代碼風(fēng)格指南。?用于類關(guān)系圖的統(tǒng)一建模語言(Unified Modeling Language,UML)。?分配的實踐性家庭作業(yè)。3.1 家庭作業(yè)題目我們提供的家庭作業(yè)題目是具有說明性、實用性的,并且措辭清晰。這些題目從簡單到具有挑戰(zhàn)性,被劃分成三種類型:復(fù)習(xí)題、練習(xí)題和項目題。我們在每章的末尾引入復(fù)習(xí)題和練習(xí)題,而項目題則是提供在我們教材的網(wǎng)站上。項目題由問題描述組成,它們的解決方案是完整的程序。項目題答案不在教材中。項目題需要讀者具備創(chuàng)造力和解決問題的能力,而且要應(yīng)用在對應(yīng)章學(xué)到的內(nèi)容。這些項目題往往包含可選的部分,以供那些更有才華的讀者去挑戰(zhàn)。3.2 學(xué)術(shù)領(lǐng)域項目題為提升項目題的吸引力并且展示當(dāng)前章節(jié)的編程技術(shù)可能被應(yīng)用到的不同興趣領(lǐng)域,我們的項目題內(nèi)容來自以下幾個學(xué)術(shù)領(lǐng)域。?計算機(jī)科學(xué)和數(shù)值方法。?商務(wù)和會計。?社會科學(xué)和統(tǒng)計學(xué)。?數(shù)學(xué)和物理。?工程學(xué)和建筑學(xué)。?生物學(xué)和生態(tài)學(xué)。大多數(shù)學(xué)術(shù)領(lǐng)域項目題并不需要特定領(lǐng)域的知識。因此,教師可以放心地把幾乎所有項目題布置給任何學(xué)生。4 本書組織在撰寫本書的過程中,我們引導(dǎo)讀者去了解三種重要的編程方法:結(jié)構(gòu)化編程、OOP和事件驅(qū)動編程。我們提倡的內(nèi)容和順序使學(xué)生能夠在編程基本原理的堅實基礎(chǔ)上發(fā)展他們的技能。為培養(yǎng)這種基本原理優(yōu)先的方法,我們的教材從一組少的概念和細(xì)節(jié)開始,逐步擴(kuò)展概念并添加細(xì)節(jié),把相對不是很重要的細(xì)節(jié)延后到之后的章節(jié)中,以避免前面的章節(jié)負(fù)擔(dān)過重。5 GUI跟蹤許多程序員覺得圖形用戶界面(GUI)編程很有趣。因此,GUI編程可以成為保持讀者興趣和參與度的絕佳激勵工具。這就是為什么從第1章開始,圖形編程內(nèi)容就穿插在整本書中。我們把這些內(nèi)容稱為我們的“GUI跟蹤之旅”。大多數(shù)章末部分的內(nèi)容是使用GUI代碼來完成此章前面部分展示的非GUI內(nèi)容。對于那些沒有時間閱讀GUI跟蹤部分的讀者,沒有任何問題。任意或全部的GUI跟蹤部分都可以被跳過,因為本書的其他部分并不依賴于任何的GUI跟蹤內(nèi)容。

作者簡介

暫缺《Java核心編程從問題分析到代碼實現(xiàn)(第3版 上下冊)》作者簡介

圖書目錄









本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號