Title: The Object of Java: Introduction to Programming Using Software Engineering Principles
Abstract: Contents Preface Preface for the Student Chapter 1 - Objects and Classes 1.1 Objects Everywhere 1.2 Objects in Software 1.3 Anatomy of a Software Class 1.4 The Difference between Objects and Classes 1.5 Edit, Compile, and Run 1.6 Introduction to Software Engineering 1.7 A Sample of Object-Oriented Software Development Chapter 2 - Introduction to Java Objects 2.1 Syntax Diagrams 2.2 The Method Call 2.3 Instruction Sequences 2.4 Constructing and Assigning Objects 2.5 Coding Patterns and Swapping 2.6 Putting It Together in a Java Class 2.7 Programming by Contract 2.8 Comments 2.9 Observing Execution 2.10 Refining Algorithms-Divide and Conquer 2.11 Selecting Identifiers 2.12 A Second Example of Refinement 2.13 Calling Methods with Parameters Chapter 3 - Introduction to Design and Implementation 3.1 Introduction to Standard Classes 3.2 Import Declarations 3.3 javax.swing.JFrame 3.4 java.awt.Label 3.5 Nonstandard Classes (Rectangle, Oval, and Line) 3.6 Prototyping 3.7 Debugging: Commenting Out Code and Using System.out.println Chapter 4 - Methods 4.1 The Need for a Subprogram 4.2 Private Parameterless Methods 4.3 Using Parameters 4.4 Local Variables 4.5 Non-Void Methods 4.6 Standard Non-Void Methods 4.7 Introduction to Event Handling 4.8 Postcondition Notation 4.9 java.awt.Container-A Design Example Chapter 5 - Primitive Data 5.1 Primitive Types 5.2 Primitive Integer Data Types 5.3 Differences between Primitives and References 5.4 Real Numbers (float and double Types) 5.5 System.out.println Revisited 5.6 Mixed Type Numeric Expressions 5.7 Primitive Methods (Including Math) 5.8 Constants (final) 5.9 Numeric Expression Patterns 5.10 char Data Type 5.11 Design Example-Dynamic Histogram Chapter 6 - Supplier Classes 6.1 Clients and Suppliers in Software 6.2 Another Client 6.3 Suppliers 6.4 Scope and Lifetime 6.5 Class Interface Design Principles 6.6 Separating Read and Write Access 6.7 Method Overloading 6.8 this 6.9 Enumerated Data Types 6.10 String 6.11 JTextField (Optional) Chapter 7 - Logic and Selection 7.1 The if instruction 7.2 Relational Expressions 7.3 Boolean Expressions 7.4 Conditional Evaluation 7.5 Predicates 7.6 The Use of implies 7.7 Nesting if Instructions 7.8 Multiway Selection 7.9 The switch Instruction 7.10 Software Testing 7.11 Logic and Programming (Optional) 7.12 Assertions Revisited Chapter 8 - Inheritance 8.1 Extends 8.2 Class Relations: contains_a and is_a 8.3 Specialization and Extension-javax.swing.JComponent 8.4 Protected Scope 8.5 Inheriting for Event Handling 8.6 Animating by Inheriting EventTimer (Optional) 8.7 Design Example with Sliders and Text Fields (Optional) 8.8 Summary Chapter 9 - Polymorphism 9.1 Inheritance Hierarchies 9.2 Type Conformance 9.3 Subtype Polymorphism 9.4 Abstract Classes 9.5 The Object Class 9.6 Equality by Content and by Identity 9.7 Using Interfaces Chapter 10 - Repetition 10.1 The while Loop 10.2 Counting Loops 10.3 Sentinel Loops 10.4 Loop Design Cautions 10.5 Nested Loops 10.6 The do Loop 10.7 The for Loop 10.8 Loop Invariants 10.9 Looping and Event Handling 10.10 Testing and Loops Chapter 11 - Containers 11.1 Containers 11.2 Generic Containers 11.3 Wrapper Classes and Autoboxing/Unboxing 11.4 Lists 11.5 List Traversal 11.6 Linear Searching 11.7 Sorting by Insertion 11.8 Generic Sorting (Optional) Chapter 12 - Introduction to Arrays 12.1 One-Dimensional Arrays 12.2 Keeping Indices in Bounds 12.3 Sequential Processing with for Loops 12.4 Treating Arrays in Aggregate 12.5 Tables 12.6 Arrays with Reference Items 12.7 Arrays and Objects 12.8 Sorting-the Selection Sort 12.9 Two-Dimensional Arrays Chapter 13 - File Input and Output 13.1 Files 13.2 The Java File Class 13.3 I/O Exceptions 13.4 Input and Output 13.5 DataInputStream and DataOutputStream 13.6 Text Files 13.7 Terminal-Style I/O (Optional) 13.8 Persistent Objects (Optional) 13.9 JFileChooser (Optional) Chapter 14 - Recursion 14.1 Recursive Definition 14.2 From Recursive Definition to Method 14.3 Recursive Methods 14.4 Recursive Execution 14.5 Recursion and Repetition 14.6 More Complicated Forms of Recursion Chapter 15 - Applications and Applets 15.1 static Variables 15.2 static Methods 15.3 Applications 15.4 Applets 15.5 Creating Packages (Optional) 15.6 Using Packages Appendix A Introduction to Computing Systems Appendix B Java Syntax Diagrams Appendix C Precedence of Java Operations Appendix D Library Software Appendix E UML Notation Appendix F Programming Using Windows Index
Publication Year: 2005
Publication Date: 2005-09-24
Language: en
Type: book
Access and Citation
Cited By Count: 2
AI Researcher Chatbot
Get quick answers to your questions about the article from our AI researcher chatbot