A Comprehensive Introduction to Object-Oriented Programming with Java
by Wu, C. ThomasRent Textbook
New Textbook
We're Sorry
Sold Out
Used Textbook
We're Sorry
Sold Out
eTextbook
We're Sorry
Not Available
How Marketplace Works:
- This item is offered by an independent seller and not shipped from our warehouse
- Item details like edition and cover design may differ from our description; see seller's comments before ordering.
- Sellers much confirm and ship within two business days; otherwise, the order will be cancelled and refunded.
- Marketplace purchases cannot be returned to eCampus.com. Contact the seller directly for inquiries; if no response within two days, contact customer service.
- Additional shipping costs apply to Marketplace purchases. Review shipping costs at checkout.
Summary
Table of Contents
| Preface | p. xiii |
| Key Differences from the Standard Edition | p. xiii |
| Book Organization | p. xiv |
| Hallmark Features of the Text | p. xviii |
| Introduction to Computers and Programming Languages | p. 1 |
| A History of Computers | p. 2 |
| Computer Architecture | p. 4 |
| Programming Languages | p. 11 |
| Java | p. 12 |
| Introduction to Object-Oriented Programming and Software Development | p. 15 |
| Classes and Objects | p. 16 |
| Messages and Methods | p. 18 |
| Class and Instance Data Values | p. 20 |
| Inheritance | p. 23 |
| Software Engineering and Software Life Cycle | p. 24 |
| Getting Started with Java | p. 29 |
| The First Java Program | p. 30 |
| Program Components | p. 39 |
| Edit-Compile-Run Cycle | p. 49 |
| Sample Java Standard Classes | p. 52 |
| Sample Development | p. 67 |
| Numerical Data | p. 81 |
| Variables | p. 82 |
| Arithmetic Expressions | p. 90 |
| Constants | p. 95 |
| Displaying Numerical Values | p. 97 |
| Getting Numerical Input | p. 103 |
| The Math Class | p. 109 |
| Random Number Generation | p. 113 |
| The GregorianCalendar Class | p. 115 |
| Sample Development | p. 120 |
| Numerical Representation (Optional) | p. 131 |
| Defining Your Own Classes-Part 1 | p. 145 |
| First Example: Defining and Using a Class | p. 146 |
| Second Example: Defining and Using Multiple Classes | p. 156 |
| Matching Arguments and Parameters | p. 160 |
| Passing Objects to a Method | p. 162 |
| Constructors | p. 167 |
| Information Hiding and Visibility Modifiers | p. 172 |
| Class Constants | p. 175 |
| Local Variables | p. 183 |
| Calling Methods of the Same Class | p. 185 |
| Changing Any Class to a Main Class | p. 189 |
| Sample Development | p. 190 |
| Selection Statements | p. 213 |
| The if Statement | p. 214 |
| Nested if Statements | p. 225 |
| Boolean Expressions and Variables | p. 231 |
| Comparing Objects | p. 239 |
| The switch Statement | p. 244 |
| Drawing Graphics | p. 248 |
| Enumerated Constants | p. 258 |
| Sample Development | p. 264 |
| Repetition Statements | p. 295 |
| The while Statement | p. 296 |
| Pitfalls in Writing Repetition Statements | p. 305 |
| The do-while Statement | p. 311 |
| Loop-and-a-Half Repetition Control | p. 315 |
| The for Statement | p. 319 |
| Nested for Statements | p. 324 |
| Formatting Output | p. 326 |
| Loan Tables | p. 331 |
| Estimating the Execution Time | p. 334 |
| Recursive Methods (Optional) | p. 338 |
| Sample Development | p. 343 |
| Defining Your Own Classes-Part 2 | p. 365 |
| Returning an Object from a Method | p. 366 |
| The Reserved Word this | p. 370 |
| Overloaded Methods and Constructors | p. 378 |
| Class Variables and Methods | p. 383 |
| Call-by-Value Parameter Passing | p. 387 |
| Organizing Classes into a Package | p. 394 |
| Using Javadoc Comments for Class Documentation | p. 395 |
| The Complete Fraction Class | p. 400 |
| Sample Development | p. 410 |
| Exceptions and Assertions | p. 437 |
| Catching Exceptions | p. 438 |
| Throwing Exceptions and Multiple catch Blocks | p. 445 |
| Propagating Exceptions | p. 450 |
| Types of Exceptions | p. 458 |
| Programmer-Defined Exceptions | p. 461 |
| Assertions | p. 463 |
| Sample Development | p. 469 |
| Characters and Strings | p. 487 |
| Characters | p. 488 |
| Strings | p. 491 |
| Pattern Matching and Regular Expression | p. 502 |
| The Pattern and Matcher Classes | p. 509 |
| Comparing Strings | p. 513 |
| StringBuffer and StringBuilder | p. 515 |
| Sample Development | p. 521 |
| Arrays and Collections | p. 543 |
| Array Basics | p. 544 |
| Arrays of Objects | p. 555 |
| The For-Each Loop | p. 565 |
| Passing Arrays to Methods | p. 569 |
| Two-Dimensional Arrays | p. 576 |
| Lists and Maps | p. 583 |
| Sample Development | p. 596 |
| Sorting and Searching | p. 619 |
| Searching | p. 620 |
| Sorting | p. 624 |
| Heapsort | p. 632 |
| Sample Development | p. 645 |
| File Input and Output | p. 669 |
| File and JFileChooser Objects | p. 670 |
| Low-Level File I/O | p. 679 |
| High-Level File I/O | p. 684 |
| Object I/O | p. 693 |
| Sample Development | p. 700 |
| Inheritance and Polymorphism | p. 713 |
| A Simple Example | p. 714 |
| Defining Classes with Inheritance | p. 717 |
| Using Classes Effectively with Polymorphism | p. 721 |
| Inheritance and Member Accessibility | p. 724 |
| Inheritance and Constructors | p. 729 |
| Abstract Superclasses and Abstract Methods | p. 733 |
| Inheritance versus Interface | p. 738 |
| Sample Development | p. 739 |
| GUI and Event-Driven Programming | p. 765 |
| Simple GUI I/O with JOptionPane | p. 768 |
| Customizing Frame Windows | p. 771 |
| GUI Programming Basics | p. 777 |
| Text-Related GUI Components | p. 787 |
| Layout Managers | p. 798 |
| Effective Use of Nested Panels | p. 808 |
| Other GUI Components | p. 817 |
| Menus | p. 835 |
| Handling Mouse Events | p. 839 |
| Recursive Algorithms | p. 859 |
| Basic Elements of Recursion | p. 860 |
| Directory Listing | p. 861 |
| Anagram | p. 863 |
| Towers of Hanoi | p. 866 |
| Quicksort | p. 868 |
| When Not to Use Recursion | p. 873 |
| Memory Allocation Schemes and Linked Data Structures | p. 879 |
| Contiguous Memory Allocation Scheme | p. 881 |
| Noncontiguous Memory Allocation Scheme | p. 886 |
| Manipulating Linked Lists | p. 890 |
| Linked Lists of Objects | p. 903 |
| Sample Development | p. 908 |
| Generics and Type Safety | p. 945 |
| Generic Classes | p. 946 |
| Generics and Collections | p. 961 |
| Generics, Inheritance, and Java Interface | p. 969 |
| Additional Topics and Pitfalls | p. 974 |
| List ADT | p. 981 |
| The List ADT | p. 982 |
| The List Interface | p. 988 |
| The Array Implementation of the List ADT | p. 992 |
| The Linked-List Implementation of the List ADT | p. 1001 |
| The Linked Implementation with the Head Node | p. 1018 |
| The Iterator Design Pattern | p. 1022 |
| Sample Development | p. 1027 |
| Stack ADT | p. 1035 |
| The Stack ADT | p. 1036 |
| The Stack Interface | p. 1040 |
| The Array Implementation | p. 1042 |
| The Linked-List Implementation | p. 1047 |
| Implementation Using NPSList | p. 1052 |
| Sample Applications: Matching HTML Tags | p. 1053 |
| Sample Applications: Solving a Maze with Backtracking | p. 1060 |
| Queue ADT | p. 1069 |
| The Queue ADT | p. 1070 |
| The Queue Interface | p. 1073 |
| The Array Implementation | p. 1075 |
| The Linked-List Implementation | p. 1082 |
| Implementation Using NPSList | p. 1088 |
| Priority Queue | p. 1089 |
| p. 1099 | |
| p. 1107 | |
| p. 1133 | |
| p. 1155 | |
| Index | p. 1163 |
| Table of Contents provided by Ingram. All Rights Reserved. |
An electronic version of this book is available through VitalSource.
This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.
By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.
Digital License
You are licensing a digital product for a set duration. Durations are set forth in the product description, with "Lifetime" typically meaning five (5) years of online access and permanent download to a supported device. All licenses are non-transferable.
More details can be found here.
A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.
Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.
Please view the compatibility matrix prior to purchase.
