本書沿用了Deitel特色的“程序?qū)崨r解說”,深入探討了Java編程語言和JavaAPI。通過完整的語法著色、代碼高亮、逐行代碼的演練和程序輸出,全面地介紹了測試程序的概念。書中首先介紹了使用早期Java類和對象的方法,然后迅速轉(zhuǎn)移到更高級的主題,包括GUI、圖形、異常處理、Lambda表達式、數(shù)據(jù)流、功能接口、對象序列化、并發(fā)性、泛型、泛型集合、JDBC等。本書包含數(shù)百個完整的Java可運行示例、數(shù)千行成熟的Java代碼,總結出許多程序開發(fā)技巧,幫助你建立強大的應用程序。
Paul Deitel,Deitel & Associates有限公司的CEO兼CTO,畢業(yè)于麻省理工學院,主修信息技術。他獲得了Java認證程序員和Java認證開發(fā)員稱號,并且是一名Oracle Java冠軍程序員。在Deitel & Associate有限公司工作的過程中,他已經(jīng)為世界各地的客戶提供了數(shù)百節(jié)編程課程,這些客戶包括思科、IBM、西門子、Sun Microsystems、戴爾、Fidelity、肯尼迪航天中心、美國國家強風暴實驗室、白沙導彈試驗場、Rogue Wave Software、波音公司、SunGard Higher Education、北電網(wǎng)絡公司、彪馬、iRobot、Invensys等。他和本書的合著者Harvey M. Deitel博士是全球暢銷編程語言教材、專業(yè)書籍和視頻的作者。Harvey Deitel博士,Deitel & Associates有限公司的董事長和首席戰(zhàn)略官,在計算機領域擁有50多年的經(jīng)驗。Deitel博士獲得了麻省理工學院電子工程專業(yè)的學士和碩士學位,并獲得了波士頓大學的數(shù)學博士學位。他擁有豐富的大學教學經(jīng)驗,在1991年與兒子Paul Deitel創(chuàng)辦Deitel & Associates有限公司之前,他是波士頓大學計算機科學系的主任并獲得了終身任職權。Deitel的出版物獲得了國際上的認可,并被翻譯為日語、德語、俄語、西班牙語、法語、波蘭語、意大利語、簡體中文、繁體中文、韓語、葡萄牙語、希臘語、烏爾都語和土耳其語出版。Deitel博士為很多大公司、學術研究機構、政府機關和軍方提供了數(shù)百場專業(yè)編程講座。
目錄推薦序前言閱讀本書之前的準備1 Introduction to Java and Test-Driving a Java Application1.1 Introduction1.2 Object Technology Concepts1.2.1 The Automobile as an Object1.2.2 Methods and Classes1.2.3 Instantiation1.2.4 Reuse1.2.5 Messages and Method Calls1.2.6 Attributes and Instance Variables1.2.7 Encapsulation and Information Hiding1.2.8 Inheritance1.2.9 Interfaces1.2.10 Object-Oriented Analysis and Design (OOAD)1.2.11 The UML (Unified Modeling Language)1.3 Open Source Software1.4 Java1.5 A Typical Java Development Environment1.6 Test-Driving a Java Application1.7 Software Technologies1.8 Keeping Up-to-Date with Information Technologies2 Introduction to Java Applications; Input/Output and Operators2.1 Introduction2.2 Your First Program in Java: Printing a Line of Text2.3 Modifying Your First Java Program2.4 Displaying Text with printf2.5 Another Application: Adding Integers2.6 Arithmetic2.7 Decision Making: Equality and Relational Operators2.8 Wrap-Up3 Introduction to Classes, Objects, Methods and Strings3.1 Introduction3.2 Instance Variables, set Methods and get Methods3.2.1 Account Class with an Instance Variable, a set Method and a get Method3.2.2 AccountTest Class That Creates and Uses an Object of Class Account3.2.3 Compiling and Executing an App with Multiple Classes3.2.4 Account UML Class Diagram with an Instance Variable and set and get Methods3.2.5 Additional Notes on Class AccountTest3.2.6 Software Engineering with private Instance Variables and public set and get Methods3.3 Primitive Types vs. Reference Types3.4 Account Class: Initializing Objects with Constructors3.4.1 Declaring an Account Constructor for Custom Object Initialization3.4.2 Class AccountTest : Initializing Account Objects When They’re Created3.5 Account Class with a Balance; Floating-Point Numbers3.5.1 Account Class with a balance Instance Variable of Type double3.5.2 AccountTest Class to Use Class Account3.6 Wrap-Up4 Control Statements: Part 1; Assignment, ++ and -- Operators4.1 Introduction4.2 Control Structures4.3 if Single-Selection Statement4.4 if … else Double-Selection Statement4.5 Student Class: Nested if … else Statements4.6 while Repetition Statement4.7 Counter-Controlled Repetition4.8 Sentinel-Controlled Repetition4.9 Nested Control Statements4.10 Compound Assignment Operators4.11 Increment and Decrement Operators4.12 Primitive Types4.13 Wrap-Up5 Control Statements: Part 2; Logical Operators5.1 Introduction5.2 Essentials of Counter-Controlled Repetition5.3 for Repetition Statement5.4 Examples Using the for Statement5.5 do … while Repetition Statement5.6 switch Multiple-Selection Statement5.7 Class AutoPolicy Case Study: String s in switch Statements5.8 break and continue Statements5.9 Logical Operators5.10 Wrap-Up6 Methods: A Deeper Look6.1 Introduction6.2 Program Modules in Java6.3 static Methods, static Fields and Class Math6.4 Declaring Methods with Multiple Parameters6.5 Notes on Declaring and Using Methods6.6 Argument Promotion and Casting6.7 Java API Packages6.8 Case Study: Secure Random-Number Generation6.9 Case Study: A Game of Chance; Introducing enum Types6.10 Scope of Declarations6.11 Method Overloading6.12 Wrap-Up7 Arrays and ArrayLists7.1 Introduction7.2 Arrays7.3 Declaring and Creating Arrays7.4 Examples Using Arrays7.4.1 Creating and Initializing an Array7.4.2 Using an Array Initializer7.4.3 Calculating the Values to Store in an Array7.4.4 Summing the Elements of an Array7.4.5 Using Bar Charts to Display Array Data Graphically7.4.6 Using the Elements of an Array as Counters7.4.7 Using Arrays to Analyze Survey Results7.5 Exception Handling: Processing the Incorrect Response7.5.1 The try Statement7.5.2 Executing the catch Block7.5.3 toString Method of the Exception Parameter7.6 Case Study: Card Shuffling and Dealing Simulation7.7 Enhanced for Statement7.8 Passing Arrays to Methods7.9 Pass-By-Value vs. Pass-By-Reference7.10 Case Study: Class GradeBook Using an Array to Store Grades7.11 Multidimensional Arrays7.12 Case Study: Cl