Big Java Late Objects, 2nd Edition
Book information
Description
The second edition of Big Java, Late Objects provides an approachable introduction to fundamental programming techniques and design skills, helping students master basic concepts and become competent coders. The second edition is thoroughly updated for Java 8, includes new problem solving sections, and more exercises, some from science, engineering, and business. The text is known for its realistic programming examples, great quantity and variety of homework assignments, and programming exercises that build student problem-solving abilities. Additional visual design elements make this student-friendly text even more engaging. Cover Title Page Copyright Preface Contents Chapter 1 Introduction 1.1 Computer Programs 1.2 The Anatomy of a Computer 1.3 The Java Programming Language 1.4 Becoming Familiar with Your Programming Environment 1.5 Analyzing Your First Program 1.6 Errors 1.7 Problem Solving: Algorithm Design Chapter 2 Fundamental Data Types 2.1 Variables 2.2 Arithmetic 2.3 Input and Output 2.4 Problem Solving: First Do It By Hand 2.5 Strings Chapter 3 Decisions 3.1 The if Statement 3.2 Comparing Numbers and Strings 3.3 Multiple Alternatives 3.4 Nested Branches 3.5 Problem Solving: Flowcharts 3.6 Problem Solving: Test Cases 3.7 Boolean Variables and Operators 3.8 Application: Input Validation Chapter 4 Loops 4.1 The while Loop 4.2 Problem Solving: Hand-Tracing 4.3 The for Loop 4.4 The do Loop 4.5 Application: Processing Sentinel Values 4.6 Problem Solving: Storyboards 4.7 Common Loop Algorithms 4.8 Nested Loops 4.9 Problem Solving: Solve a Simpler Problem First 4.10 Application: Random Numbers and Simulations Chapter 5 Methods 5.1 Methods as Black Boxes 5.2 Implementing Methods 5.3 Parameter Passing 5.4 Return Values 5.5 Methods Without Return Values 5.6 Problem Solving: Reusable Methods 5.7 Problem Solving: Stepwise Refinement 5.8 Variable Scope 5.9 Recursive Methods (Optional) Chapter 6 Arrays and Array Lists 6.1 Arrays 6.2 The Enhanced for Loop 6.3 Common Array Algorithms 6.4 Using Arrays with Methods 6.5 Problem Solving: Adapting Algorithms 6.6 Problem Solving: Discovering Algorithms by Manipulating Physical Objects 6.7 Two-Dimensional Arrays 6.8 Array Lists Chapter 7 Input/Output and Exception Handling 7.1 Reading and Writing Text Files 7.2 Text Input and Output 7.3 Command Line Arguments 7.4 Exception Handling 7.5 Application: Handling Input Errors Chapter 8 Objects and Classes 8.1 Object-Oriented Programming 8.2 Implementing a Simple Class 8.3 Specifying the Public Interface of a Class 8.4 Designing the Data Representation 8.5 Implementing Instance Methods 8.6 Constructors 8.7 Testing a Class 8.8 Problem Solving: Tracing Objects 8.9 Object References 8.10 Static Variables and Methods 8.11 Problem Solving: Patterns for Object Data 8.12 Packages Chapter 9 Inheritance and Interfaces 9.1 Inheritance Hierarchies 9.2 Implementing Subclasses 9.3 Overriding Methods 9.4 Polymorphism 9.5 Object: The Cosmic Superclass 9.6 Interface Types Chapter 10 Graphical User Interfaces 10.1 Frame Windows 10.2 Events and Event Handling 10.3 Processing Text Input 10.4 Creating Drawings Chapter 11 Advanced User Interfaces 11.1 Layout Management 11.2 Choices 11.3 Menus 11.4 Exploring the Swing Documentation 11.5 Using Timer Events for Animations 11.6 Mouse Events Chapter 12 Object-Oriented Design 12.1 Classes and Their Responsibilities 12.2 Relationships Between Classes 12.3 Application: Printing an Invoice Chapter 13 Recursion 13.1 Triangle Numbers 13.2 Recursive Helper Methods 13.3 The Efficiency of Recursion 13.4 Permutations 13.5 Mutual Recursion 13.6 Backtracking Chapter 14 Sorting and Searching 14.1 Selection Sort 14.2 Profiling the Selection Sort Algorithm 14.3 Analyzing the Performance of the Selection Sort Algorithm 14.4 Merge Sort 14.5 Analyzing the Merge Sort Algorithm 14.6 Searching 14.7 Problem Solving: Estimating the Running Time of an Algorithm 14.8 Sorting and Searching in the Java Library Chapter 15 The Java Collections Framework 15.1 An Overview of the Collections Framework 15.2 Linked Lists 15.3 Sets 15.4 Maps 15.5 Stacks, Queues, and Priority Queues 15.6 Stack and Queue Applications Chapter 16 Basic Data Structures 16.1 Implementing Linked Lists 16.2 Implementing Array Lists 16.3 Implementing Stacks and Queues 16.4 Implementing a Hash Table Chapter 17 Tree Structures 17.1 Basic Tree Concepts 17.2 Binary Trees 17.3 Binary Search Trees 17.4 Tree Traversal 17.5 Red-Black Trees 17.6 Heaps 17.7 The Heapsort Algorithm Chapter 18 Generic Classes 18.1 Generic Classes and Type Parameters 18.2 Implementing Generic Types 18.3 Generic Methods 18.4 Constraining Type Parameters 18.5 Type Erasure Chapter 19 Stream Processing 19.1 The Stream Concept 19.2 Producing Streams 19.3 Collecting Results 19.4 Transforming Streams 19.5 Lambda Expressions 19.6 The Optional Type 19.7 Other Terminal Operations 19.8 Primitive-Type Streams 19.9 Grouping Results 19.10 Common Algorithms Revisited Chapter 20 Advanced Input/Output 20.1 Readers, Writers, and Input/Output Streams 20.2 Binary Input and Output 20.3 Random Access 20.4 Object Input and Output Streams 20.5 File and Directory Operations Chapter 21 Multithreading 21.1 Running Threads 21.2 Terminating Threads 21.3 Race Conditions 21.4 Synchronizing Object Access 21.5 Avoiding Deadlocks 21.6 Application: Algorithm Animation Chapter 22 Internet Networking 22.1 The Internet Protocol 22.2 Application Level Protocols 22.3 A Client Program 22.4 A Server Program 22.5 URL Connections Chapter 23 Relational Databases 23.1 Organizing Database Information 23.2 Queries 23.3 Installing a Database 23.4 Database Programming in Java 23.5 Application: Entering an Invoice Chapter 24 XML 24.1 XML Tags and Documents 24.2 Parsing XML Documents 24.3 Creating XML Documents 24.4 Validating XML Documents Chapter 25 Web Applications 25.1 The Architecture of a Web Application 25.2 The Architecture of a JSF Application 25.3 JavaBeans Components 25.4 Navigation Between Pages 25.5 JSF Components 25.6 A Three-Tier Application Appendix A The Basic Latin and Latin-1 Subsets of Unicode Appendix B Java Operator Summary Appendix C Java Reserved Word Summary Appendix D The Java Library Appendix E Java Language Coding Guidelines Introduction Source Files Classes Methods Variables and Constants Control Flow Lexical Issues Appendix F Tool Summary The Java Compiler The Java Virtual Machine Launcher The JAR Tool The javadoc Tool Documentation Comments Appendix G Number Systems Binary Numbers Overflow and Roundoff Errors Two’s Complement Integers IEEE Floating-Point Numbers Hexadecimal Numbers Bit and Shift Operations Appendix H UML Summary CRC Cards UML Diagrams Appendix I Java Syntax Summary Types Variables Expressions Classes Interfaces Enumeration Types Methods Constructors Statements Exceptions Packages Generic Types and Methods Comments Appendix J HTML Summary Glossary Index Credits EULA
Similar books
Core Java, Volume II: Advanced Features
2024 · PDF
Core Java v2 (for Raymond Rhine)
2024 · EPUB
Core Java, Volume II
2024 · EPUB
Core Java, Volume I
2024 · EPUB
Core Java for the Impatient
2024 · RAR
Core Java for the Impatient
2024 · EPUB
Core Java for the Impatient
2024 · EPUB
Core Java for the Impatient
2022 · RAR