官术网_书友最值得收藏!

前言

Java語言是近二十年來最為流行的通用面向對象程序設計語言,目前國內主要的應用集中在基于網絡的Web開發領域。由于Web程序開發的復雜性,因此給人們的感覺是對于Java語言要學習的內容多且雜,學習耗時長,學習曲線較陡。事實上,在近十多年來的編程語言排行榜的前幾位中,Java語言的語法比C++簡單,采用的面向對象程序設計思想更接近人類的思維,比C語言更容易理解,比C#和Visual Basic具有更好的硬件和操作系統的通用性。盡管Python更簡單易學,但Java語言具有更成熟和完善的GUI可視化開發工具,可以開發大型復雜程序,且程序運行速度更快。隨著版本的不斷升級,Java語言本身逐步引入了各種先進的語言特性而變得更加先進高效;隨JDK(Java開發工具及類庫)發布的Java語言標準類庫不斷擴充,已提供了主要經典算法和數據結構的成熟實現,包括大量第三方開發的類庫提供了解決大多數通用問題的程序模塊。在普通圖形用戶界面桌面程序開發方面,Java語言有Swing庫和SWT/JFace庫提供的全面GUI組件庫的支持,還有包括NetBeans IDE、Eclipse WindowBuilder及IntelliJ IDEA完善的可視化GUI開發工具,可以采用所見即所得的方式“畫”出Java程序的圖形用戶界面,甚至可以用“畫圖”方式將數據庫等數據源與GUI組件連接起來。

作者長期從事大學公共類“計算機程序設計”“Java語言”及“可視化Java GUI程序設計”課程的教學工作,認同面向各類不同專業的第一門程序設計語言的教學應該首先引發初學者的學習興趣,并且隨著教學內容的深入形成正向興趣循環;在課程的開始階段就應該讓學生看到所學的知識和技術的價值,能夠盡早設計出與主流程序一樣的程序——至少是有窗口和按鈕等元素的GUI程序,而不是字符界面的命令行程序,讓學生能比較容易地獲得成就感,感悟到軟件開發的魅力;在課程教學的初期階段對初學者屏蔽不必要的底層技術細節,以降低學習難度,避免分散學習者的注意力,待引起他們的興趣和好奇心之后再介紹必要的底層內容;所選的程序設計語言和所學習的內容必須能充分體現現代軟件開發的基本思想和技術成果,學生為此所花費的時間和精力有足夠回報,為后續進一步深入學習打下基礎,并掌握一個強大的解決實際問題的工具。

作者結合講授公共及專業程序設計課程,以及編寫可視化Java GUI程序設計教材(4部已在清華大學出版社出版發行)的經驗,認為選擇Java語言為各專業通用的第一門程序設計語言完全滿足上述需求,并能使初學者一開始就學習先進的面向對象程序設計思想及技術,立于程序設計技術的潮頭;本書對程序設計知識、語法、程序設計思想和技術的講解所使用的例題和習題等完全采用GUI展開,可以使初學者一開始就學習實際系統中主流GUI程序的設計思想、方法和規則,直接掌握設計普通實用GUI程序的能力;應用Java標準類庫的組件學習Java應用程序的設計,避開各種通用算法和數據結構的底層細節,可以降低學習難度,提高學習效率,也適合實現學習一般應用型Java程序設計技術的目標?;谏鲜鼋虒W理念和思想,作者嘗試編寫了這本應用型《Java語言GUI程序設計》教材,以期為第一門程序設計課程和初學者提供一種既能像Visual Basic一樣簡單易學,又能使用Java語言的強大功能解決各類復雜編程問題的途徑。

本書以NetBeans IDE為開發工具,以Java語言基礎知識和基本語法、Java GUI程序的可視化設計方法及最新的Java SE 8和Java SE 9等版本類庫中有關的實用類的使用為主要內容,介紹Java面向對象程序設計方法及Java GUI程序設計方法。全書共分為12章,主要內容如下。

第1章回答什么是計算機程序、什么是計算機軟件、什么是計算機程序設計、什么是編程范式、什么是計算機程序設計語言等一般性問題,介紹Java程序設計語言的基本概況,圖形用戶界面的基本組成及Java GUI程序的基本構成,最后介紹Java GUI程序開發環境的搭建。

第2章首先以可視化方法快速設計了一個簡單的Java GUI程序,然后通過對NetBeans IDE自動生成的程序代碼的分析,認識Java GUI程序的基本結構以及其構件——對象和類,進一步介紹NetBeans IDE的GUI構建器的使用方法和技巧,以及采用可視化方法使用幾個簡單Swing GUI組件設計簡單Java GUI程序的方法。

第3章介紹Java語言的最基本語法成分,包括變量、常量、運算符、表達式及流程控制語句,并引入Java SE 9中提供的JShell作為練習環境以提高學習效率。

第4章介紹Java語言面向對象程序設計基本思想和語法結構,包括面向對象程序設計三大基本特性——封裝、繼承和多態性,接口,內部類及Lambda表達式。

第5章介紹Java GUI程序的事件驅動機制、委托事件處理模型及事件處理程序的設計方法,常用事件監聽器的設計方法,Java Bean構件設計的初步知識及方法,Swing組件的屬性綁定方法。

第6章從應用角度介紹Java語言有關數據集存儲和處理的語言成分及類庫,包括數組、字符串、泛型及枚舉、數據集合框架及常用的集合類,使用Java 8新增的Stream工具對數據集進行高效的操作和計算分析的方法。

第7章介紹Java語言的異常處理、文件操作及輸入輸出,包括傳統的流式字節和字符數據的輸入輸出,JDK 1.4起增加的面向塊的基于緩沖的通道式I/O類庫(NIO),以及Java SE 7新增的異步通道I/O類庫和新的文件系統類庫(NIO.2)。

第8章介紹Java GUI組件庫Swing提供的常用布局管理器及容器的可視化設計方法,以及復雜Java GUI界面布局的可視化設計方法。

第9章介紹Java數據庫程序設計基礎知識和技術,包括關系數據庫系統基本知識和SQL語句的語法,JDK自帶的數據庫管理系統Java DB的基本知識及其在NetBeans IDE中的基本使用方法,在Java程序中使用JDBC訪問數據庫的技術及Java語言的語法成分——注解。

第10章全面介紹Swing控件的使用方法,包括以可視化方法使用Swing表格、列表和組合框提取數據庫中數據的技術,各種數值輸入控件和選擇控件的使用方法,樹組件的設計與使用方法。最后通過一個簡單Java GUI程序的開發示例介紹Swing主要控件的應用,以及Java GUI數據庫應用程序項目的開發過程。

第11章介紹Java GUI程序的菜單設計及對話框的使用方法,最后介紹駐留于桌面系統托盤程序的設計方法。

第12章介紹Java多線程并發程序設計基礎知識,包括多種創建Java線程的方法以滿足不同的需求,多線程同步控制的基本原理與方法,Java標準類庫提供的高層次多線程并發程序設計技術,以及使用SwingWorker類設計遵循Swing單一線程規則的多線程Java GUI程序的技術。

本書的內容選擇和編寫定位于應用型本科、??啤⒅新毢透呗氼愒盒5奈?、理、醫、農及工科等類各專業學生的第一門程序設計課程教材,同時也適合各類具有初中以上文化基礎的讀者自學。在閱讀本書和學習本課程過程中,建議對Java語言基本語法內容盡量在JShell環境下逐個語句練習體驗,然后使用NetBeans IDE逐步設計自己想到的能夠實現的任意GUI程序。對于書中所介紹的大多數Java標準類,例如數據集合框架及常用的集合類、輸入輸出類、常用事件監聽器及Swing組件類等,只需了解和知曉,不必死記硬背,而應經常查閱Java API文檔,練習和使用多了自然就會掌握。

本書的例題項目代碼及各章演示文稿請到清華大學出版社的網站(www.tup.com.cn)下載。

本書寫作過程中參考了Oracle網站的Java API文檔和技術文檔,IBM網站的技術文章,海子和林本托等網友的博文,《Java核心技術卷I》(第10版,[美] Cay S. Horstmann著)、Core Java? Volume IIAdvanced Features(Tenth Edition, by Cay S. Horstmann)、《Java編程思想》(第4版,[美] Bruce Eckel著)、《Java 8基礎應用與開發》(QST青軟實訓編著)、《Java 8高級應用與開發》(QST青軟實訓編著)、《Java程序設計教程》(第3版,雍俊海編著)、《可視化Java GUI程序設計教程——基于Swing組件庫及NetBeans IDE》(趙滿來編著)等資料,在此對這些資料的作者表示衷心感謝!感謝隴東學院著作基金資助,同時感謝清華大學出版社的幫助!

作者水平有限,書中疏漏和不當之處在所難免,懇請讀者及老師批評指正,E-mail:ldxyzml@126.com。

趙滿來

2018年3月

主站蜘蛛池模板: 延川县| 元朗区| 麦盖提县| 贵阳市| 阿瓦提县| 五寨县| 景德镇市| 东明县| 鄢陵县| 景德镇市| 伊金霍洛旗| 来安县| 景宁| 庆阳市| 普格县| 南召县| 葫芦岛市| 门源| 扶绥县| 醴陵市| 姜堰市| 滦平县| 博湖县| 广元市| 公安县| 陈巴尔虎旗| 韩城市| 延川县| 夏津县| 徐水县| 夏津县| 英吉沙县| 高平市| 洞口县| 黄龙县| 迁西县| 嘉鱼县| 白河县| 准格尔旗| 封开县| 稻城县|