Introduction 1
Part 1: Getting Started with Java 5
Chapter 1: All about Java 7
Chapter 2: All about Software. 21
Chapter 3: Using the Basic Building Blocks 35
Part 2: Writing Your Own Java Programs 57
Chapter 4: Making the Most of Variables and Their Values 59
Chapter 5: Controlling the Flow by Making Decisions 97
Chapter 6: Controlling Program Flow with Loops 135
Part 3: Working with the Big Picture: Object-Oriented Programming 155
Chapter 7: The Inside scOOP 157
Chapter 8: Constructing New Objects 205
Chapter 9: Piles of Files: Dealing with Information Overload 229
Chapter 10: Saving Time and Money: Reusing Existing Code 249
Part 4: Smart Java Techniques 279
Chapter 11: Putting Variables and Methods Where They Belong 281
Chapter 12: Using Collections and Streams 313
Chapter 13: Using Arrays to Juggle Values 349
Chapter 14: Looking Good When Things Take Unexpected Turns 377
Chapter 15: Fancy Reference Types. 407
Chapter 16: Oooey GUI Was a Worm 427
Part 5: The Part of Tens 443
Chapter 17: Ten Packs of Java Websites 445
Chapter 18: Ten Bits of Advice for New Software Developers 449
Index 455